I think that Go is better than Python. And that's my own opinion. But I was wondering if people are using Go or Python for their production software in the real world. I want to get statistics of production software to compare and understand the real world.
Source of statistics
In a previous post, I used Homebrew as the source of statistics about apps written in each programming language. Homebrew is a package manager for MacOS and Linux distros.
Homebrew provides a json file of the index of all packages and apps in Homebrew Core Formulae.
So I created a simple CLI application written in Go to use that updated JSON file to count the apps using a specific programming language.
Statistics by gobrew
language | June 2 | July 1 |
---|---|---|
Go | 988 | 998 |
Python | 777 | 783 |
Cython | 11 | 11 |
According to statistics, Go is used for more production software than Python.
Why Go is used more than Python ?
comparison | Go | Python / Cython |
---|---|---|
compilation speed | very fast | Python: not compiled, Cython: very slow |
runtime performance | very fast | Python: slow, Cython: good |
concurrency support | great | bad |
libraries & frameworks | good enough | huge |
readability | good | good |
As you can see, Go checks all factors mentioned, but Python is great at things and bad at other things. Programming languages are just tools, so, overall, I personally choose Go every time as the better tool to get the job done. Most software developers choose Go over Python as you can conclude from the statistics above.
I hope you enjoyed reading this post as much as I enjoyed writing it. If you know a person who can benefit from this information, send them a link of this post. If you want to get notified about new posts, follow me on YouTube, Twitter (x), LinkedIn, and GitHub.
Top comments (4)
Golang is good for any kind of network application. But it's pretty boring with data processing or manipulation because of ancient ugly way of working with arrays and slices.
All io.* packages, genius bytes.Buffer and of course concurrency/go-routines mitigate the flaws, but...
One more remake, it's incorrect to qualify python concurrency and bad. It has pretty robust thread packages that works great. Plus modern async/asio additions work great!
Main point of python it's any kind of advanced scripting and any automation, including data processing. Unfortunately, Golang sucks in this applications.
100% agree! Python is brilliant and very easy to use, but Go is awesome. I only don't like the name :-D
Great write-up, we have a bunch of articles on Go in our Newsletter, check it out - packagemain.tech
it depends on your necessities.
if you want to develop robust applications use go, but if you want to develop fast, use python