Google’s Go has gone from a curiosity in the programming world to a language that many wouldn’t hesitate to label as “the next big thing”. Is it worth it to learn this programming language?
While it might be far from the most-used language currently, Go has the potential to become a must-have in the arsenal of every programmer.
There are many reasons why this is the case. In this article, we’ll review those and discuss why Go might be the next language you should consider learning!
- What is Go (Golang)
- Why should you learn Go
- How to get started: Courses & Resources
What is Google Go and who created it?
Go is a programming language originally created in 2007 by Google. Initially, it was intended to be an internal coding standard for the company’s own infrastructure, but its potential propelled it towards going public. In 2009 it was released and it has been growing like crazy since then.
Go’s creators are high-profile programmers, revered by those familiar with their work. One of them, Ken Thompson, was the inventor of B, the language that came before C which we all know and love today.
And Rob Pike, another co-creator, was involved with the Unix team for a while and created the programming language Limbo.
Go is efficient, scalable, and productive.Rob Pike – Go co-founder
Thompson and Pike also created UTF-8, which to this day is the default encoding in XML and HTML. Put those guys together in a team, give them the manpower and knowledge of Google and you’re bound to get something brilliant – in this case, that thing was Go.
Go was born mainly to improve the concurrency that other existing languages like Python, Java or C/C++ were not able to handle correctly.
Although its official name is simply Go, it’s also called Golang.
Reasons to learn Go (Golang)
1. It’s growing faster than any other language
At the beginning of 2017, Tiobe showed the numbers behind a trend many people were becoming aware of: the interest in Go is growing faster than that in any other language.
And it’s surpassing its competitors by a lot, too. It gained 2.16 percent in popularity and rose from the 54th to the 13th position compared to the previous year. No language grew nearly as fast, the next fastest-growing being Darth with a 0.95 percent change.
As of July 2020, Go is ranked 12th in the TIOBE.
Besides, 18% of freelancers voted Go as one of the programming languages that will become important in the near future and so Go it became the 7th most voted language (Freelancer Survey 2020).
2. Multicore usage
One of the biggest changes in computer hardware since the 90s has been the addition of more cores.
Quad-core and octa-core CPUs increase performances by a significant amount. However, a lot of the modern programming languages were created at a time where computers used to only have a single core.
They just don’t scale effectively with the addition of new cores because they weren’t built with that in mind. Go, on the other hand, is the exact opposite. And hardware keeps on scaling with more cores, making Go one of the most scalable languages out there.
Are you looking for an expert in Go?
Concurrency is an extremely important characteristic for a programming language and it’s one of the best features of Go.
What concurrency mean is that software can execute more than one task at the same time.
Go was built to support that with its Goroutines – thousands can be executed at a time. Additionally, channels allow them to synchronize with each other. With that, they are much more efficient than threads, which can quickly spin out of control.
Go supports two concurrency models:
- Multi-threaded with shared memory: As its name indicates, the processes share memory space and variables.
- Communicating Sequential Processes (CSP): In this case, the processes have their own variables and communicate through messages (channels).
Do you already have some experience in Go? Create a free profile and offer it to worldwide-clients, without fees!
4. The code is easy to maintain
One of the reasons for creating Go was to make programming less difficult. And indeed, the code written in Go is clean and easy to maintain.
Remember, Google originally created Go as part of their internal infrastructure. That meant two things were extremely important:
- The language had to be easy to understand at a glance.
- One segment of code should only have minimum side effects on other segments.
This not only allows for a vast number of coders to work on it at once, it also makes Go syntax more maintainable and easier to modify.
5. Power users & big companies trust it
Go is not just something that a lot of single programmers like, it has also proven itself to be a great tool for big companies.
Firms like Netflix, the Economist, the New York Times, IBM, and GitHub all use it for some part of their internal infrastructure. And don’t forget Google still has it as part of theirs, too!
If you’re not convinced, here’s a full list of some of the companies that are currently using Go. Also, many IT architecture projects, databases, etc. use Go too. For example Kubernetes, Docker, or Terraform.
6. Great potential for freelancers
Go can be a useful language to develop your clients’ projects. As we mentioned, it is a language that is gaining great popularity, and programmers who excel Go are well-paid.
According to the freelancermap rate index, the average hourly rate of a freelance Go developer is $90 per hour (as of July 2020).
Where to start: Go courses & Resources
If this article has got you curious and excited about Go, there a lot of online resources you can check out to learn more about the language.
At golang.org, Google has a 30-minute-long video tour of Go, as well as a lot of examples, news and a sandbox where you can play around with Go.
Besides, there are several online courses to learn Go / Golang. Even free videos on YouTube that will help you get started. Here are a few resources you could check out:
- On track with Golang – CodeSchool
- Web Development w/ Google’s Go (Golang) Programming Language – Udemy
- Learning Go Programming (7 hours) – YouTube
- Building Golang Server with Echo – YouTube
Have you tried to code in Go yet? Tell us what you think about it via the comment section!