Is it Time for Go Programming?
Exploring parts of the history and use of the Go programming language
This is an article about the programming language Go. It is an open source project developed by a team at Google, and with other contributors from the open source community. I am writing this to learn more and get a short overview, hope it helps you.
Who created Go?
Go was designed at Google in 2007 to improve programming productivity in an era of multicore, networked machines and large codebases. Interestingly, the designers were primarily motivated by their shared dislike of C++.
Two points to note straight away:
- Go is the 2020’s most sought-after programming language according to a Hackearth survey of more than 16,000 developers from 76 countries.
- Since it is integrated into some of Google’s products there is a clear interest to maintain of even update the language.
Much of the information you will find in this article is also publicly available on the website of the programming language.
How does Go fit into programming history?
One explanation in a video format shared on the golang.org website is the following from 2018:
This video explanation part of the history of development within programming languages.
Why should you pick it up?
A YouTuber I came across listed five reasons to get into the language:
These were in short:
Go is a statically typed, compiled programming language designed at Google by Robert Griesemer, Rob Pike, and Ken Thompson.
It is syntactically similar to C, but with memory safety, garbage collection, structural typing, and CSP-style concurrency.
What are interesting implementations of Go?
On Wikipedia there is a mention of two major implementations of Go:
- Google’s self-hosting compiler toolchain targeting multiple operating systems, mobile devices, and WebAssembly.
- gccgo, a GCC frontend
One available online is Vitess, a database clustering system for horizontal scaling of MySQL.
Vitess is a database clustering system for horizontal scaling of MySQL through generalized sharding. By encapsulating…
Keval Patel argued a few years ago for the importance of learning Go quoting Tobias Lütke, Shopify
“Go will be the server language of the future.”
Why should you learn Go?
“Go will be the server language of the future.” — Tobias Lütke, Shopify
How is it to start learning Go?
One helpful video to watch as well is another person trying to learn the language. A 25 minutes video well worth watching:
Will it be important for AI and data science?
This article was also inspired by Dasaradh S K who wrote an article the 10th of October 2020:
Go Programming Language for Artificial Intelligence and Data Science of the 20s
Golang may very soon replace Python
Although this is an interesting argument I am unsure of whether this will be the case or it is more likely that Julia (another programming language) will be more used within this direction.
What is the animal mascot of Go?
On another note, and maybe less important, you might have seen the illustration of the blue animal a few times in this article?
The Gopher is the mascot of Go.
It does not look very inviting, so I would say the illustrated mascot is a tad more adorable:
This has been a short exploration of Go programming language.
Hope you enjoyed it.
What do you think?
Have you been programming in Go?
Do you know anyone programming in Go, and what are they working on?
This is #500daysofAI and you are reading article 494. I am writing one new article about or related to artificial intelligence every day for 500 days.