Jim Shaw

Software Engineer ยท Technology Enthusiast

Go Std Lib Absent Trivial Features

The Go standard library (std lib) was deliberately created to be minimalistic compared to the standard libraries of other languages. This design choice fits with Go’s philosophy of simplicity and the preference for small, independent features that can be combined in different ways. There are many commonly used functions that you might expect to find in the Go std lib but are absent because they were thought to be “too trivial” to write.

Go Programming Language

Go was created by a team inside Google back in 2009. Three big languages that were used at Google at that time were C/C++, Java and Python. The creators of Go saw that each of those three languages was powerful but had limitations. For example, Python was easy to pickup and learn but ran into trouble when running apps at the scale a massive company like Google needed. Java started out simple but its type system grew increasingly complex. C/C++ was wickedly fast but it also had a complex type system and it suffered from notoriously slow compile-times. The three languages were also created at a time when multi-threaded applications were rare. Concurrency was added to them at a later date. Google’s often highly concurrent and parallel environments posed challenges for them. Go was the answer to many of the concerns Python, Java and C/C++ had.