Python concurrency only runs on one thread, because of the global interpreter lock and how asyncio works. No idea on Go, assume it is multithreaded. Answer from nekokattt on reddit.com
🌐
Reddit
reddit.com › r/python › how different is python concurrency vs. golang concurrency?
r/Python on Reddit: How different is python concurrency vs. Golang concurrency?
February 18, 2022 - Python is pretty decent at concurrency with asyncio and alternatives like trio. Compared to go, there is of course the limitation of the event loop running on a single thread and of the ecosystem not being async only.
🌐
Reddit
reddit.com › r/golang › when shouldn't go be prioritized over python for new apps/services?
r/golang on Reddit: When shouldn't Go be prioritized over Python for new apps/services?
July 9, 2025 -

Hi, after completing my first production project in Go I'm a bit hyped about Go.

I love performance, simple and intuitive syntax, non-nested and explicit error handling, fast development time (compared to Python, no need to constantly debug/run+print to know what's going on), smooth package management and that Go produces a single binary ready for use with just a command.

Since my opinion on whether to use Go has weight, I want to know Go's no-go, the not-use cases over Python based on things like:

  1. It's Go expected to rise in popularity/adoption?

  2. Less obvious missing libraries and tools.

  3. Things that are not out the box in Go std like cookies.

  4. Go's gotchas and footguns, things I should warn team members about. For example, there was a problem with a Null pointer in this first Go project.

Top answer
1 of 29
76
As someone using mostly Go, Python and Rust at work. When should you use Python over Go: When there is a good library or framework that takes on most of the work available for Py but not for Go When the service doesn't need the performance of a compiled language When the shop/product/team simply prefers Python over Go (preexisting procedures, talent, tooling, ...) When time-to-market is essential. Python does develop quicker than Go in many cases, that's a fact. It's also completely okay to prototype/early-version something in Py and later rewrite it in Go It's Go expected to rise in popularity/adoption? It's already one of the most popular systems languages, especially for backend services. Besides, it's extremely easy to learn, has excellent tooling, and a growing talent pool to draw from. Py is the single most popular language on the planet of course, with a talent pool and libraries to match its popularity. Where Go beats it handsomely is tooling: Language server and formatter come with the language, and single-binary, zero-dependency deployments are impossible to beat. As for Py, uv made a lot of things easier, but Py-dependency handling, deployment, etc. is still a hot mess, and always will be, it's just a historical artifact of the language that's not really fixable. That's not as big a negative as many people make it to be: In a project you usually worry about these things once, and then forget about them, and with containers, deployments are a cakewalk. Things that are not out the box in Go std like cookies. https://pkg.go.dev/net/http/cookiejar@go1.24.5 😉 Go's gotchas and footguns, Precious few these days since they got rid of the iterator-var footgun in 1.22 . I'd say in terms of footguns, Go has much less firepower to offer than Py.
2 of 29
39
This isn't quite covered in there, but you should be sure to see our FAQs page if you haven't already. As for Go's popularity, I actually don't expect it to change much at this point except maybe experience modest ongoing growth, because it's already a top-tier language and there isn't much "up" for it left.
🌐
Reddit
reddit.com › r/golang › go performs 10x faster than python
r/golang on Reddit: Go Performs 10x Faster Than Python
February 13, 2024 -

Doing some digging around the Debian Computer Language Benchmark Game I came across some interesting findings. After grabbing the data off the page and cleaning it up with awk and sed, I averaged out the CPU seconds ('secs') across all tests including physics and astronomy simulations (N-body), various matrix algorithms, binary trees, regex, and more. These may be fallible and you can see my process here

Here are the results of a few of my scripts which are the average CPU seconds of all tests. Go performs 10x faster than Python and is head to head with Java.

Python Average: 106.756
Go Average: 8.98625

Java Average: 9.0565
Go Average: 8.98625

Rust Average: 3.06823
Go Average: 8.98625

C# Average: 3.74485
Java Average: 9.0565

C# Average: 3.74485
Go Average: 8.98625
🌐
Reddit
reddit.com › r/golang › should i migrate my multithreading python program to golang or other languages
r/golang on Reddit: Should I migrate my Multithreading Python program to Golang or other languages
March 15, 2024 -

Described in short my Python program has 290 Threads, in every Thread a while Loop sends a request for 20kb of data every 3 seconds. If the data changed in the last 3 seconds (If-Modified-Since is not always accurate unfortunatly) the Thread sends a request for a 550kb response. This response gets analyzed, that means basic arithmetics, accessing a large dict and sending another request to localhost for <1kb. This is very heavy on my CPU, so I thought of migrating to Golang.

Do You think Golang is the right choice? I'm a bit concerned, because time is important and the Golang Garbage Collector could waste some. I have absolutley no experience with Golang and university level C++(so mainly theoretical). Would Java be a better fit?

🌐
Reddit
reddit.com › r/golang › should i choose golang or python for backend development?
r/golang on Reddit: Should I choose Golang or Python for backend development?
July 11, 2024 -

I am not liking JS/TS with express or Nest for backend. I think its better to use it for frontend only.

I have been thinking to opt python for backend like writing APIs and my future plan is to work on cloud and data engineering, probably more cloud. I have seen many videos on YT and read a few posts on reddit but its not clear whether I should choose python or golang based on my future plans. I have no plans for AI btw.

Please share your thoughts on this as I am very confused. Also I believe that if someone is comfortable with golang, he/she should be doing golang and same goes for python. I am comfortable with both. I tried golang and i felt comfortable.

I need to decide based on the market needs and future requirements in the industries and stick to it, not roaming around for days on what to choose. It feels so depressing not land on a language for sure.

Few people says the companies are moving from python to golang, python is much slower, you need imported libraries and in golang these are not an issue. Golang is better in terms of building cloud applications blah blah….

What should I do? Maybe after a few discussions and guidance from the well experienced developers I will be confident on either python or golang.

🌐
Reddit
reddit.com › r/golang › for those coming from python, what made you switch? ( real app not hobby)
r/golang on Reddit: For those coming from Python, what made you switch? ( real app not hobby)
November 11, 2024 -

Hello, everyone.

I'm trying to find reasons to start my next project in Go. I used Python in my previous project but encountered performance issues. Upgrading to a new version of Python often leads to compatibility headaches with some libraries, especially for CPU-bound tasks where threads are missing.

On the other hand, Python makes it very easy to onboard new developers and has a library for almost anything.

Top answer
1 of 5
205
static types, real multi-threading, clean stdlib
2 of 5
56
Go is much faster than Python, obviously, but this means that in Go I can write simpler code knowing it will execute faster anyway. An obvious example is a nested loop, in Go the cost is relatively negligible so while it is still not always ideal you don't pay as high a price. Besides performance there are a bunch of QoL things like auto formatting and even things like dependency management which feels so nice. The compiler helps so much with refactoring and once my program is compiled all I need to do is worry about a single binary for shipping/deploying. Not to mention that sharing a Python program with a user is not quite as straight forward, given that they need to have Python installed to be able to do anything. I must say that my "attitude" to writing code has changed a lot since switching; in Python I often felt like I was simply gluing dependencies together whereas in Go I realized that I am capable of writing my own solutions. So as you stated, Python has a library for almost anything but you end up with a trillion dependencies each of which has their own dependency as well and for most of them you don't even know what they do. Coming up with my own, targeted, solutions loops back to being able to write simpler code. Instead of needing to use someone else's complex dependency because they need to create a solution that "can solve everything for everyone", I can just write what I need and cut out all the fluff. You can of course also do this in Python but you'll probably not be able to get it to do it faster than Go can.
🌐
Reddit
reddit.com › r/golang › go vs. python: what's the difference, and is go a good choice for system administration?
r/golang on Reddit: Go vs. Python: What's the difference, and is Go a good choice for system administration?
September 23, 2023 -

I'm interested in learning Go. I'm wondering what the difference is between Go and Python, and what are the advantages of Go over Python. I'm also wondering if I can implement data structures and automate jobs of linux with Go.

And what are some best resources for learning go
Thanks in advance for your help!

Top answer
1 of 22
83
Go is compiled and python is interpreted which makes go much faster when running than python. The go compilation is fast as well and it will download the dependencies for you when needed. A benefit of the compilation (static checking) is that the code is extensively checked before execution and only logical errors are left. With python, a program will crash or generate bogus result at runtime and it might not be trivial to find the cause. For instance, when you make a typo in a field name, python will create a new field with that name without telling you. The program will then not run as expected and might generate bogus result or result in a crash. The crash, or an exception, will signal that there is a problem, but the real cause might be difficult to locate if there are many lines of code. Go code is a bit more verbose than python to help the checking at compilation. Python has a long evolution history that changed the language, packaging etc. which is not always coherent or consistent/compatible. Go ensures backward compatibility and changes are slow, coherent, and minimal. Python has multiple GUI libraries while Go has only a very limited set of choices. Python has thus incredibly powerful GUI tools like Jupiter and nice graphics libraries. In summary, for system administration where you only need small scripts that are easy to verify manually and debug, python is trump. For longer and more complex tasks, or when you need bug free code fast, Go is your best friend. When you need an app with GUI, prefer python, but this is changing with go packages like Fyne and GIO. The best would be for you to know both and use the most appropriate language for the various use cases.
2 of 22
71
Here is my (rightfully) salty take: If you only need to build up a quick script, then Python is the way to go. Anything more serious, only use Go. Recently I had an opportunity to remember why I quit Python in the first place. The language is a mess. Python libraries are an even bigger mess. The pain of not knowing what will break is just painful. And when it does break, it's more painful to fix. For me at least, writing apps using python, even while doing it as a part of a course, was like shooting myself in the face. I don't know how Python developers sleep peacefully at night. It's an absolute mess. I would do everything in Go if possible. I may have to write more verbose code, but it isn't as painful as the app blowing up on my own face in an unexpected time. I would rather write if err != nil {} any day of the week than deal with Python code.
Find elsewhere
🌐
Reddit
reddit.com › r/golang › python is easy. go is simple. simple != easy.
r/golang on Reddit: Python is Easy. Go is Simple. Simple != Easy.
November 27, 2023 - Compared to python concurrency it's still pretty tame. ... I distinctly remember a full semester's module on concurrency followed by more of it in realtime programming in my comp. sci degree. Even after that we had people that just couldn't work with multiple threads/processors. ... And even then you have to understand that the concurrency in Go isn't just a 1:1 mapping to threads and processes.
🌐
Reddit
reddit.com › r/devops › python or go
r/devops on Reddit: Python or go
September 1, 2024 -

I know this is an old question or debate

Here is the situation

I am an experienced .net developer who wanna switch to devops I have some certifications on azure but I am trying to expand etc.

I know it is possible to use powershell and azure for azure stack but I am currently going through kodekloyd and I am at the choosing between go and python.

Basically my heart wants go:) but somehow I think python will help me land a job easier.

You might think “you are an experienced dev just learn both “ but boy I am also an expat dad whom doesn’t have extra 2 minutes without planning.

So If you need to choose in 2024 as jr devops person which way would you go

🌐
Reddit
reddit.com › r/golang › why should i use go over rust, java, or python?
r/golang on Reddit: Why should I use Go over Rust, Java, or Python?
December 23, 2023 - Go comes with so much built in to the stdlib, that you can just start writing. In python, there are so many different ways of doing the same thing that it’s easy to get hung up on the simplest parts. Also, built in concurrency is so much better than python’s tacked on async and threading modules.
🌐
Lincoln Loop
lincolnloop.com › blog › concurrency-python-vs-go
Concurrency in Python vs GO | Lincoln Loop
August 29, 2025 - Go is significantly faster than Python; this is fine and expected. What I find more disturbing is how much easier it is to morph a synchronous program into its concurrent equivalent.
🌐
Reddit
reddit.com › r/golang › go vs python async?
r/golang on Reddit: Go vs Python async?
October 29, 2017 -

For anyone who's tried both Go and Python async (ex uvloop + sanic, apistar, etc) for their webapp, what are the pros and cons of working in each language?

🌐
Reddit
reddit.com › r/golang › why are people ditching python for go?
r/golang on Reddit: Why are people ditching python for go?
July 17, 2014 -

I'm just getting into python and so far I like it, I've used other languages over the years in small amounts but I wanted to settle on one, i was tossing up between Java and python.

So now that I'm reading more about python I'm seeing more and more post about ditching python and going go. It seems go is faster, smarter and all round more efficient. So I'm not sure if I should jump ship before getting to into python.

I don't really have an end goal for what i want to make but i am interested in web apps and web front ends and from what I'm reading, go's strength is more the back end server stuff.

So my question is, should I jump ship? Is go versatile? Is there a large support network like pythons? Is there anything wrong with python?

. .

EDIT: Thanks everyone for the interesting read, I'm more confused now :) I think I will stick with Python for now, there is more training material out there and larger community. Go does seem like a brilliant "new" language, but for web apps and web page front ends, python does still seem to be more mature. Thanks

Top answer
1 of 5
33

As a python programmer by trade, here are three reasons not to use python:

  • Dynamic compilation can result in errors that exist in code, but are not detected:

This is perfrectly valid python:

def junk():
  afdfaf
  asdfd
  fdafd / dsfsaf()

Of course if you add junk() to the end, it will fail with errors about missing functions and variables; but compiled languages like go don't suffer from this problem.

  • 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. So operations like populating matricies and doing matrix maths are really slow. So slow in fact that future version (3.5? See http://legacy.python.org/dev/peps/pep-0465/#discussions-of-this-pep) will have an explicit operator for this.

You can get around this by calling c libraries, but it's irritating as a developer to write something in python, realize its too slow, and then have to rewrite it again in C. Very. Very. Irritating.

  • Python has a terrible distribution story.

Virtualenv, buildout, pip, easy_install, distribute: they all boil down to the same thing; it's really hard to ship all your python dependencies onto a new system.

...and even then, if you have a perfectly setup version pin for every library, it can still break when (for example) freetype upgrades and your old pinned version of Pillow doesn't compile any more. Oh? You had some dependencies on the old version of pillow? Upgrade all the things!

There are a few 'binary builders' for python like pyinstaller, cx_freeze; but they're pretty rubbish practically speaking. Even the best showcase of these tools ends up shipping simple GUI apps like Calibre that are hundreds of megabytes in size.

Let's not even talk about writing something in py3 and getting half way in to discover a core dependency hasn't been ported yet.

.

Go addresses those points pretty sharply; good distribution story with static binaries; repeatable build process (abit hindered by the same issues as python when you bind a c library; but at least you can statically link C libraries into go binaries), and it's really pretty fast.

So is it worth abandoning python?

Probably, professionally, not really; especially if you're looking at web development.

The ecosystem for python is really strong, and there are some really decent web tool kits like flask, pyramid, some great libraries like sqlalchemy, and a lot of support for it from the academic community for stuff like natural language processing.

...but would I build a GUI app or a game in it instead of Java or Go if I had to start tomorrow?

Absolutely fucking not.

2 of 5
16

There is nothing wrong with python except maybe that it is not staticly typed and might be a little slow (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.

Personally I prefer Go the language, but when it comes to stable, mature third party packages, it can't beat python at the moment.

🌐
Reddit
reddit.com › r/backend › is it better to learn golang or python for backend and job stability for like next 10 years?
r/Backend on Reddit: Is it better to learn golang or python for backend and job stability for like next 10 years?
September 21, 2025 - Go is better. Dynamic languages are really bad on the backend. Especially due to a lack do type safety and they rely on runtime heavier. For something revival Python is fine. But for performance, type safety and good concurrency you’re going ...
🌐
Pure Storage Blog
blog.purestorage.com › home › concurrent programming case study: comparing python, go, and rust
Concurrent Programming Case Study: Comparing Python, Go, and Rust |
November 16, 2025 - While Python is the easiest language to work in in general, it’s subtle and difficult to write performant, parallelized Python code. In contrast, Go and Rust make writing concurrent code relatively easier.
🌐
Reddit
reddit.com › r/golang › go concurrency versus platform scaling
r/golang on Reddit: Go concurrency versus platform scaling
March 13, 2025 -

So, I'm not really an expert with Go, I've got a small project written in Go just to try it out.

One thing I understood on Go's main strength is that it's easy to scale vertically. I was wondering how that really matters now that most people are running services in K8s already being a load balancer and can just spin up new instances.

Where I work our worker clusters runs on EC2 instances of fix sizes, I have a hard time wrapping my head around why GO's vertical scaling is such a big boon in the age of horizontal scaling.

What's your thought on that area, what am I missing ? I think the context has changed since Go ever became mainstream.

🌐
Reddit
reddit.com › r/golang › structured concurrency & go
r/golang on Reddit: Structured concurrency & Go
February 21, 2026 -

I work at one of those large companies where migration work never stops. We recently acquired a few other companies. To coalesce the platforms of multiple companies, we're rewriting a big chunk of our codebase in Go. The new platform itself is also being built from scratch in Go.

But the catch is we haven't historically been a Go shop. A lot of folks are coming from Python and Kotlin backends. So in our knowledge-sharing channel, we constantly see feature comparisons across these languages.

One thing that came up recently is how hard structured concurrency feels in Go. go func() is unstructured by default unless you wire it up with sync primitives like WaitGroup. A bunch of people also pointed out how Python’s TaskGroup or Kotlin’s coroutineScope make cancellation feel trivial. In Go, cancellation semantics require explicit context checking and manual bailouts.

We had some interesting internal discussions around this that I think would be valuable for others going through similar journey.

So I summarized some of the key points that came up and added a few examples. I’m curious how others approach structured concurrency in Go. How do you avoid the usual leaks that happen with manual plumbing?

https://rednafi.com/go/structured-concurrency/