Anyone who has gone through my closet (I hope that's no one reading this) and has seen my Go Gopher t-shirts knows I am a big fan of the Go programming language. 

I agreed with most of the comments in the results of the Go developers survey that ZDNet reviewed, but noticed one of my favorite aspect of the language missing: portability.

Most of my development these days is building tools to help customers automate tasks by using the Illumio API. Years ago, I would have done this in Python. I still love Python, but I hate sharing Python scripts. Sharing with other Python developers is easy enough - they can replicate the virtual environment and get it working. Sharing with non-Python developers is the problem - do they have the same version of Python? Same required libraries? Same versions of those libraries?

Go eliminates all of those concerns by natively compiling into a single statically linked binary for Mac OS, Linux, and Windows. It just works.

The Illumio platform is awesome (yes, I'm biased), but it will never do everything exactly how every customer wants it, which is why we want the API as accessible as possible. While the REST API is easy to use, not everyone has the bandwidth or in-house knowledge to write scripts, which is why we have tools available that wrap the API in command-line functionality. 

A common adage with software development is the language doesn't matter "as long as it works." I'd add that it must work and be easy to run/deploy, and that's why I default to Go.

If you're interested in seeing the Illumio API in action with Go, feel free to checkout (or better yet, improve) my open-source Illumio Go Package or Illumio Workloader CLI tool.