From Node.js to Go
I'e been writing my first production-sized Go app over the last few months, and really enjoy it. Some observations:<p>- The standard library is solid, and I was surprised how well-rounded and mature the third-party library support it. Coming from a Python/Ruby background, that was nice to see.<p>- I totally agree with the comments on this thread about dependency management. Godep [1] is nice, but it would be great to see a canonical dep management tool for go.<p>- The tooling for Go is excellent: More languages need something like "go fmt".<p>- In general the document is solid, but I've found the usability of the generated docs to be poor. You think they could bribe a few Google designers to spend some time fixing that...<p>- I've noticed a lot of Rust lovers commenting about how great Rust's type system is. It probably is, but I haven't run into any problems with Go's type system. I've found it to be practical and easy to use. The only issue is parsing JSON when you're not marshalling it to struct. They need to fix that (although there are some nice third-party tools to make it easier).<p>- Go is a minimal language and has been called boring. [2] I don't claim to be an expert yet, but I don't think I've reached this level of productivity with a language this quickly before.<p>[1] <a href="https://github.com/tools/godep" rel="nofollow">https://github.com/tools/godep</a><p>[2] <a href="http://stevebate.silvrback.com/go-is-boring" rel="nofollow">http://stevebate.silvrback.com/go-is-boring</a>