Scrolling through the front page of stack overflow, it’s clear that there is always seeming to be a new latest and greatest programming language taking the world by storm. Some say that Rust’s memory safety is going to cause it to conquer the space dominated by c and c++. Other’s argued, for a brief time, that NodeJS would revolutionize web development and simplify the skills of a front end and back end developer into a single language. The trend I’ve seen as the most promising is Go coming up as a rock solid language that incorporates the best of both worlds from object oriented and functional programming.
I have used Go for API services and developer productivity tools. I have found it’s syntax easy to work with and read, although some of the concepts around nil values and error handling I am still getting used to. I very much enjoy it’s integrated unit testing capabilities. It makes me wonder how so many other languages have not considered this core functionality when designing their language.
The multitude of different build platforms if very beneficial for a write once, run anywhere type of approach that Java touted for years, albeit takes a little bit more build pipeline work to produce all the right executables that you need.
I would still consider myself a novice when it comes to Go, but I do find the amount of value that can be delivered with a basic knowledge of Go far surpasses the value you can deliver with basic Java or C++. There’s just so many utilities and capabilities built into Go in an easy to consume way that it makes delivering work quickly a breeze. I will definitely be exploring using Go in upcoming projects, even if it’s only for POC purposes.