3 ms·
Golang is great because it was the first to include excellent tooling in addition to the language (strict compiler, linting, non-customizable gofmt, package ma
by baby 5y ago
Golang is great because it was the first to include excellent tooling in addition to the language (strict compiler, linting, non-customizable gofmt, package manager, good html docs, online playground, etc.)
It’s undeniable that it brought a lot of good ideas that languages like Rust borrowed.
Golang is still undefeated in terms of battery included. Its standard library is top notch and full featured.
On the other hand it is more high-level, has a GC, and has made a number of mistakes (no sum types). The biggest trade off it does though: it lacks expressiveness. The new generic will probably help, but the trade off of Golang is deep. It makes writing code harder so that reading is easier.
- lliamander 5y agoJava and Erlang both have phenomenal tooling, especially when it comes to runtime introspection and debugging.
- mongol 5y agoWhat is meant with expressiveness in this context?
- baby 5y agoGenerics, sum types, macros, functional programming stuff, basically things that allow you to do more things
- jdc0589 5y agothis is a bit part of it for me. Most of the tools you need for average development, triage, perf analysis, etc... are included out of the box.
- pjmlp 5y agoCommon Lisp, Smalltalk, Delphi, C++ Builder, Java, .NET languages... Plenty of examples preceded Go in what good tooling means.
- christophilus 5y agoI’ve used all of those except Delphi. I think Go got a lot right and is in a different (better) ballpark, tooling wise.
- pjmlp 5y agoOnly from the pre-historic UNIX CLI point of view.
- innocentoldguy 5y agoI don't believe Go was the first language to include "excellent tooling." Ruby on Rails, for instance, has had excellent tooling since the dawn of time, and I'd argue that Ruby on Rails' and Elixir's tooling are superior to Go's.