I took a few hours to overview the Go language to make up my mind. Posting here because someone else might also find this useful.
Please note that I just reviewed the language. I did not write big chunks of code so my experience is fairly limited.
- Compiled.
- Easy to use almost as any high-level interpreted language, this is not a fiction, works as advertised. Simplicity and ease of use – goal checked.
- Good libraries (HTTP client+server, FastCGI server, JSON, RPC, …)
- VIM support in the code repo (syntax, indentation, …)
- bash completion support in the code repo
- The language as a whole makes the impression that the right choices were made.
- It’s pragmatic.
- It’s minimalistic for the capabilities it provides.
- The only “big” innovation I see (besides the ease of use) is simplifying interfaces in a statically typed language. All other features resemble things I’ve seen somewhere else already. Actually “familiarity” of the language was one of the goals.
- Has low level stuff, see http://golang.org/pkg/syscall/ for example.
- As of this moment the Go language became my second favorite moving down JS and Python. Sorry, Lisp still remains the first. This of course might be a temporary condition till I start writing some real code. I hope it’s not.