4 ms·
Having bet my entire startup on Go, I am really thankful for the steady, but measured, improvements to the language. It's been a real pleasure to work with. It
by tav 16y ago
Having bet my entire startup on Go, I am really thankful for the steady, but measured, improvements to the language. It's been a real pleasure to work with.
It may not be as beautiful as CoffeeScript (which we also use), as rich as Python, as safe as Rust, as concurrent as Erlang, or even as hackable as Ruby, but it certainly offers an unparalleled set of features which is hard to find in just one language — decent standard library, decent syntax, decent performance, super easy concurrency, a helpful and reasonably sized developer community, a relative level of stability, automatic memory management with good enough control over memory use, usable interoperability with C, native client support and even a standard testing framework.
Thank you and happy birthday to all the fellow Go developers out here on HN.
- stuartloxton 16y agoAlthough I have used Go in the past and do like it - thought I would just point out that nearly every positive about Go you mentioned had 'Good enough' prefix it. Are you actually finding Go good or only enough for your current needs? As a question: do you see parts of your startup expanding past the area of Go? Would a mixture of other languages help?
- tav 16y agoGreat question Stuart. I'd first like to say that in today's environment, it would be insane not to take advantage of a mixture of languages. If you have the expertise within your team, you should definitely leverage the strengths of the various language eco-systems. We've been developing an RPC-like system (think ZeroMQ meets BERT-RPC) so that services can be written in whatever language is most suitable — Go, Python, Ruby, CoffeeScript, Java — and our datastore core is written in C. Hell, we're even working on our own object-capability language using PyPy's translation toolchain. But, having said all that, the biggest surprise has been how Go has become the dominant language within our code base. We initially started using Go to just handle the networking layer. But it soon became apparent that Go was perfectly viable as a general purpose language. And today the majority of our code is written in Go. So, whilst we'll continue to leverage other languages for what they are good at, I can confidently say that Go will be at the heart of our technology stack for the forseeable future. And with the various "good enough" statements, I was trying to say that although Go is not the best language ever for specific features (e.g. syntax, standard library, etc.), it definitely offers the best all round set. And the situation only gets better every day. So I'll definitely say that Go is more than good enough.
- olliesaunders 16y agoIs interop with C an important thing? Isn't Go supposed to replace the need for C. Is it just because Go's compilers aren't mature enough yet that you still need to drop back to C in places?
- asb 16y agoIt's important for the ability to use existing C libraries.