News

Why Golang is the fastest growing language on GitHub

3 min read

Google’s Go language or alternatively Golang is currently one of the fastest growing programming languages in the software industry. Its speed, simplicity, and reliability make it the perfect choice for all kinds of developers. Now, its popularity has further gained momentum. According to a report, Go is the fastest growing language on GitHub in Q2 of 2018. Go has grown almost 7% overall with a 1.5% change from the previous Quarter.

Source: Madnight.github.io

What makes Golang so popular?

A person was quoted on Reddit saying, “What I would have done in Python, Ruby, C, C# or C++, I’m now doing in Go.” Such is the impact of Go.

Let’s see what makes Golang so popular.

  • Go is cross-platform, so you can target an operating system of your choice when compiling a piece of code.
  • Go offers native concurrency model that is unlike most mainstream programming languages. Go relies on a concurrency model called CSP ( Communicating Sequential Processes). Instead of locking variables to share memory, Golang allows you to communicate the value stored in your variable from one thread to another.
  • Go has a fairly mature package of its own. Once you install Go, you can build production level software that can cover a wide range of use cases from Restful web APIs to encryption software, before needing to consider any third party packages.
  • Go code typically compiles to a single native binary, which basically makes deploying an application written in Go as easy as copying the application file to the destination server.
  • Go is also being rapidly being adopted as the go-to cloud native language and by leading projects like Docker and Ethereum. It’s concurrency feature and easy deployment make it a popular choice for cloud development.

Can Golang replace Python?

Reddit is abuzz with people sharing their thoughts about whether Golang would replace Python. A user commented that “Writing a utility script is quicker in Go than in Python or JS. Not quicker as in performance, but in terms of raw development speed.

Another Reddit user pointed out three reasons not to use Python in Reddit discussion, Why are people ditching python for go?:

  • Dynamic compilation of Python can result in errors that exist in code, but they are in fact not detected.
  • CPython really is very slow; very specifically, procedures that are invoked multiple times are not optimized to run more quickly in future runs (like pypy); they always run at the same slow speed.
  • Python has a terrible distribution story; it’s really hard to ship all your Python dependencies onto a new system.

Go addresses those points pretty sharply. It has a good distribution story with static binaries. It has a repeatable build process, and it’s pretty fast.

In the same discussion, however, a user nicely sums it up saying, “There is nothing wrong with python except maybe that it is not statically typed and can be a bit slow, which also depends on the use case. Go is the new kid on the block, and while Go is nice, it doesn’t have nearly as many libraries as python does. When it comes to stable, mature third-party packages, it can’t beat python at the moment.

If you’re still thinking about whether or not to begin coding with Go, here’s a quirky rendition of the popular song Let it Go from Disney’s Frozen to inspire you.

Write in Go! Write in Go!

Read Next

Go Cloud is Google’s bid to establish Golang as the go-to language of cloud
Writing test functions in Golang [Tutorial]
How Concurrency and Parallelism works in Golang [Tutorial]

Sugandha Lahoti

Content Marketing Editor at Packt Hub. I blog about new and upcoming tech trends ranging from Data science, Web development, Programming, Cloud & Networking, IoT, Security and Game development.

Share
Published by
Sugandha Lahoti

Recent Posts

Top life hacks for prepping for your IT certification exam

I remember deciding to pursue my first IT certification, the CompTIA A+. I had signed…

3 years ago

Learn Transformers for Natural Language Processing with Denis Rothman

Key takeaways The transformer architecture has proved to be revolutionary in outperforming the classical RNN…

3 years ago

Learning Essential Linux Commands for Navigating the Shell Effectively

Once we learn how to deploy an Ubuntu server, how to manage users, and how…

3 years ago

Clean Coding in Python with Mariano Anaya

Key-takeaways:   Clean code isn’t just a nice thing to have or a luxury in software projects; it's a necessity. If we…

3 years ago

Exploring Forms in Angular – types, benefits and differences   

While developing a web application, or setting dynamic pages and meta tags we need to deal with…

3 years ago

Gain Practical Expertise with the Latest Edition of Software Architecture with C# 9 and .NET 5

Software architecture is one of the most discussed topics in the software industry today, and…

3 years ago