VSHN.timer #50: To Boldly Go

Welcome to another VSHN.timer! Every Monday, 5 links related to Kubernetes, OpenShift, CI / CD, and DevOps; all stuff coming out of our own chat system, making us think, laugh, or simply work better.

This week we’re going to talk about one of the most important programming languages behind the Cloud Native revolution: Go!

1. More than 10 years after its introduction, this „experimental“ language (in the words of Rob Pike) has become one of the most popular in the last decade: TIOBE named Go the programming language of the year in 2009 and 2016, and it currently occupies the 12th step in the ranking; PYPL puts Go on the 13th spot; and RedMonk places it at the 15th place. So what is next, then? Well, apparently, generics are, but as always trying to keep the language minimalist and focused.

https://blog.golang.org/generics-next-step

2. Dave Cheney is an expert Go developer and his (almost 10 year old!) blog is a must-read to learn about the most intricate aspects of Go. In one of his latest articles, he explains how final binary sizes depend on the number of types and equality operations, and how to keep them low.

https://dave.cheney.net/2020/05/09/ensmallening-go-binaries-by-prohibiting-comparisons

3. Developers are finding novel ways to use Go. For example Go+ is a statically-typed, script-like programming language for data science, compatible with and inspired by Go.

https://github.com/qiniu/goplus

4. Another innovative project in the Go landscape is TinyGo, a project to build a Go compiler targeting microcontrollers (like the Arduino or the PineTime smartwatch) and also browsers (through WebAssembly or WASM) using LLVM. Think Emscripten, but for Go.

https://tinygo.org/

5. This week we feature two different „tools of the week:“ the first one is bingo, a tool to ensure strict dependency management of binaries, overcoming some limitations in Go modules. Very useful for reproducible build environments, such as in CI/CD pipelines. The second one is oneshot, a single-request, first-come-first-served HTTP web server; a nifty cross-platform tool to exchange files between computers!

https://github.com/bwplotka/bingo

Have you deployed services written in Go? Have you published any interesting open source project using it? Do you have any other tips you would like to share with the community? Get in touch with us through the form at the bottom of this page, and see you next week for another edition of VSHN.timer.