DEV Community

Abanoub Hanna
Abanoub Hanna

Posted on • Originally published at abanoubhanna.com

Go or Python ? Which language is used more in production software?

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)

Collapse
 
northbear profile image
northbear

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.

Collapse
 
oggo profile image
oggo

100% agree! Python is brilliant and very easy to use, but Go is awesome. I only don't like the name :-D

Collapse
 
der_gopher profile image
Alex Pliutau

Great write-up, we have a bunch of articles on Go in our Newsletter, check it out - packagemain.tech

Collapse
 
ismailbayram profile image
İsmail Bayram

it depends on your necessities.
if you want to develop robust applications use go, but if you want to develop fast, use python