Get concurrent with the Go language

Google's Go language is perfect for today's distributed application development, enabling complex operations across multiple services to run concurrently

What happens when the people behind one of the most influential operating systems of the last 50 years or so decide they don’t like what’s happened to the language they wrote their OS in? 

It turns out they decide to rebuild it their own way. That’s what happened when Unix creators Rob Pike and Ken Thompson (who wrote the original B language that formed the foundation of the entire family of C-derived languages we use) felt it was time to develop a new systems-level programming language, with a focus on speeding up software development.

Working with Robert Griesmer at Google, they created Go, a C-derived language with static typing (using type inference where necessary to ensure type-safe code), along with such features as garbage collection that are usually associated with dynamic interpreted languages such as JavaScript or byte-code languages such as Java or C#.

In the five or so years since Go was announced, it’s become the basis of many production systems at Google, because it contains constructs required for concurrent programming -- making it a useful tool for cloud-scale distributed application development.

Go from the ground up

Like C, Go programs are made up of packages, with program execution handled by the main package. Imported packages and libraries can be called from here. A simple naming convention handles exported names -- names in a package are only exported if they start with a capital letter.

To continue reading this article register now

How to choose a low-code development platform