Tim Bray posted a short article concerning Golang over on “on going” back on June 12th. Recently it has bubbled up to my attention so I gave it a read. Personally, I agree with the statements made. Golang is making headway into the mind space of operators and developers the IT world over. Along with the strong point discussed within there article I wanted to also point out a few weaknesses for comparison here.
“… Then when you learn about channels and goroutines, you might experience shortness of breath. …” Truth. The day I learned about goroutines and channels my dreams were of concurrency for days.
Strengths of Golang:
- Readability (consistent code style)
- Predictability (performance is good enough, latency is low enough )
- Goroutines (palatalization)
- Executables (statically linked binaries )
Weaknesses
- Naming (go? golang? GO? Ugg.)
- Still new(ish) (compared to, say C, Java, etc)
- Multi-paradigm (multiple ways to do the same thing)
- Package Management (now solved, but originally a pain)
What are your thoughts on Go(lang)? Have you used in production or hobbies projects? What have been some of the learning experiences for you with the language?