4 ms·
Go is pretty much proven at this point. The JVM scales well for CPU cycles and considerably less well for memory usage. Recompiling is a non-issue when it onl
by NateDad 13y ago
Go is pretty much proven at this point.
The JVM scales well for CPU cycles and considerably less well for memory usage.
Recompiling is a non-issue when it only takes 2 seconds to compile a relatively large application (larger than any REST API is likely to be).
The Go ecosystem is quite robust, you have multiple choices for pretty much any functionality you need (and where you don't it's because the only one that exists is just that good).
There are a lot of good editor plugins for Go. You don't generally need an IDE per se. Auto-complete and go to definition is really all you need, and you can get that in any major editor you like.
- actf 13y agoI don't mean to be pedantic, but I disagree that the Go ecosystem has a good choice for pretty much any functionality. I think one major omission from the current Go ecosystem is a decent GUI library. There have been some attempts however, to my knowledge, they are mostly alpha/beta quality at best, and most of them are missing important functionality (the major ones I'm aware of are go-gtk, go-ui, go-fltk, wxGo, and none of them could be considered production ready IMHO). I only point this out because I really like Go, and I think Go would actually be a very interesting language to do client side desktop application development in.
- NateDad 13y agoTake a look at go QML. I think it'll be the one GUI library to really take off, if for no other reason than the guy working on it (Gustavo), is pretty brilliant, and it's going to be used to write applications for Ubuntu Touch.
- actf 13y agoQML is awesome, and I'm a huge fan of it - and for that matter declarative GUIs in general. However the QML-go project, while promising, is definitely not production ready. Their github page contains a large bold header that says: "this is alpha software", and it specifically warns about stability issues. Also QML in general, has some shortcomings right now (granted those problems are being fixed) when using it for desktop software (specifically the lack of desktop style widgets). So while I think the project is awesome and I'm wishing it success, I wouldn't want to use it for production quality software. I think my original point still stands.
- NateDad 13y agoThat's a valid criticism. Mostly wanted to point your attention to the project, because I think it'll be a big deal in the next year.
- Artemis2 13y agoGo is still a very young language and will probably subject to a lot of changes, especially for optimization. No big industry builds apps using Go, in the same way that no big industry build app using Laravel. They prefer for instance CodeIgniter, which has been combat-tested and is more mature.
- NateDad 13y agoGo has been very stable for quite some time now. There is a backwards compatibility guarantee while it stays in 1.x. Your old code will still build with new versions of Go. As for optimization, yes, it will get faster and better... I don't see why that's a drawback? I don't really know what you mean by "big industry". Canonical's Juju is written in Go. Docker is written in Go. Iron.io is written in Go. Cloudflare and Youtube use Go. Lots of companies use Go. CodeIgniter and Laravel are web frameworks (which happen to be written in PHP). That's not even a valid comparison to Go, which is a programming language.