I ran into golang (Go) with Hashicorp products. No Devops Engineer just accepts the components given – I usually want to know what the product was written in, in case of needing to craft an extending of or change in behavior.
Hashicorp write in Go. I started studying Go in depth with an eye toward being able to release compiled binaries instead of accessible (and alterable, and criticizable) scripts in bash or python. And the more I delve into it, the more this is a close to perfect language. I feel the same kind of excitement I found when ruby first came out in 1999. Or when I first got python’s object oriented plumbing. This has been thought through by Ken Thompson (the engineer who came up with “|” on the command line in UNIX) and Robert Griesemer and Rob Pike, at Google, conceived in 2007, released in 2009, and under active development ever since.
You can write the code and then immediately run it using
go run code.go
Once it works satisfactorily, compile is
go build
The language is C like, with flavorings of Python. It is hybrid, strongly typed but you can assign intuited types on the fly using “:=”. Once compiled you are running machine language executable binary code and it is extremely fast and efficient. No java-style virtual machine eating memory.
I’ll write more about it as it progresses, but I’m feeling like I’m going to strongly steer toward writing anything going forward in this language. It is the perfect Devops coding language.
— doug