The Go programming language doesn’t show up on Github’s list of top ten languages, but it’s on the rise, at least for many important workloads, according to Derek Collison, founder and CEO of Apcera, a stealthy startup building a platform as a service.
Collison sparked a discussion about Go’s prospects when he tweeted that he felt Go will become the dominant language for systems work in infrastructure as a service, orchestration and platform as as service.
Prediction: Go will become the dominant language for systems work in IaaS, Orchestration, and PaaS in 24 months. #golang
— Derek Collison (@derekcollison) September 11, 2012
Reached by email, Collison said Go or “Golang” appeals to people working above the kernel or the driver layer which is typically written in C or C++. Go’s support of static typing is key and makes it suitable for building high-performance systems.
“Static typing essentially means explicitly declaring everything prior to a compile,” said RedMonk analyst Stephen O’Grady via email. “Dynamically-typed systems are much more loose, and therefore generally faster to code in. The advantages of static typing tend to be in high performance systems, because there is no decision to be made about the type at run time, or systems of substantial complexity, because looser [dynamic] typing can lead to difficulty in debugging errors.”
O’Grady wrote that this progress may sound modest
” … but means that in that time [Go] has improved more in popularity than Scala or Haskell and as much as Java, at least from a rankings standpoint (obviously growth becomes more difficult the more popular the language becomes). Second, there’s its age. At a bit less than three years of age, Go’s position as a solidly second tier language is enviable, given the fact that there are much older languages like Smalltalk that have yet to break that barrier.”
Apcera is using Go, Collison said, as are Heroku (s crm), CloudFoundry(s vmw), Google(s goog) where the language got its start, and other companies. In his view, C will always have its place but Ruby and Python code bases will go to Go.