Shut-up and learn some Go
There have been huge amounts of exciting Go projects emerging in the last year, just to give a brief list of the ones I found very interesting:
Docker: http://www.docker.io/ which has just announced their new release 0.8 (http://blog.docker.io/2014/02/docker-0-8-quality-new-builder-features-btrfs-storage-osx-support/)
Etcd: A highly-available key value store for shared configuration and service discovery https://github.com/coreos/etcd
CGrates: Rating system for telecom operators http://cgrates.org
Vitess: it's a library that provides tools that facilitate the scaling of MySQL databases to large scale web services, built by Youtube https://github.com/youtube/vitess
Tiedot: It's a low-resource NoSQL database implemented in Go. It's designed to be easily embeddable in Go programs, but also runs as a standalone HTTP service. https://github.com/HouzuoGuo/tiedot
Boom: HTTP(S) load generator https://github.com/rakyll/boom
Advantages of Go
Go has very interesting properties compared to other languages:
- Provides Light Syntax
- Supports concurrency at the language level, thanks to the Go routines
- Compiles very quickly
- Includes garbage collection
- Scales Go Routines extremely well
It seems to be a perfect fit for scientific computing, high concurrency, server applications, and talking with little experience of Go, it also seems to be a good fit for web:
Is Golang the new language to learn?
If you fancy learning something new today, why not? Go is a great language, growing a lot in popularity and adoption in companies. As a Programming Language, Go is a pragmatic evolution of C and includes countless benefits of other languages like Python & Ruby.
A good place to get started could be Go by Example.
Are you learning Go, if so what is your opinion? Do you think that Go will play a huge part of our IT ecosystem in the following years?