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.
A friend of mine told me I should write the backend of my booking app in Go instead of Python (using Django). Is this sound advice? I've heard Go is much more scalable. At how many users does this make a difference? What else should I consider?
To be honest if it's a personal project for fun i'd write it in whatever language you are trying to learn, if it a project for a customer/work/etc I would write it in the language I am better able to maintain and be productive in.
Will Go likely process more requests for the same amount of CPU/memory allocation? Surely!
Will python bottleneck your personal project ? Probably not. People have used python and ruby to build amazingly large scaled websites and APIs!
There isn't a number of users that will be the tipping point since much of it depends on what your app is doing and if your database will collapse first.
I would write it in Go personally, because that is what I am writing my backend APIs in right now. If you asked on a clojure forum or C++ forum you'd probably get answers advocating for those languages too.
When it comes to scalability of a web backend there is more at play than just the language you use. If you're comfortable with Go then sure go ahead and use it, but if you have a better understanding of Python then you'll be more productive in that.
If this app is something you're doing in your free time as a hobby, then sure you could go ahead and write it in Go as an educational exercise. The learning curve may be steep though as you get to grasp with the idioms of Go.
Below are some libraries that could help you with building a web app in Go:
-
gorilla/mux - Routing
-
gorilla/schema - Parsing form data into structs
-
jmoiron/sqlx - Parsing SQL row data into structs
When it comes to ORMs in Go most people recommend gorm, personally I've had better experience with query builders, something I've written about before.
Videos
I would appreciate it if you could explain why you chose Python over Go for backend development. I want to start learning one of them, either Python (Django, FastAPI) or Go (its lovely standard library and some of its frameworks), and I don't know which one to choose.
Hey!,
I'm a freelance MERN developer and I'm currently thinking on learning a new language for backend, the two options in thinking are Python and Go, but I'm not sure which one is best for me.
I know that learning python would be good in case I switch to other field in the future, as there are a ton of libraries and documentation. And on the Go side, I think it's built for speed in the backend, which sounds nice when thinking I'm a web developer.
What do you think would be the best option to learn?
Thanks in advance!
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:
-
It's Go expected to rise in popularity/adoption?
-
Less obvious missing libraries and tools.
-
Things that are not out the box in Go std like cookies.
-
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.
After a couple years of programming, mainly in Python, I've found that I really enjoy backend development and plan on pursuing a career in the field. As a high school senior, that's still relatively far away โ giving me time to become well-versed with a language related to it. However, I'm at a bit of a loss as to which to commit to โ any tips based on the below context?
-
Python: have built a decent number of large full-stack/standalone projects with it, so already somewhat experienced. But although I enjoy writing code in Python, since ML/data science doesn't interest me, I'm somewhat worried about my prospects โ Flask (the web framework I use) isn't the biggest player in the field, and other applications for Python are scarce due to speed.
-
NodeJS: JS is a big player; I'm pursuing some internships and many the use it on the backend too. I've used JS through the Vue/Nuxt frontend frameworks when building the aforementioned full-stack projects, and don't find the language to be too bad (though some things can be very frustrating). It's a safe but not terribly exciting bet that would also additionally entail having to constantly remain 'in the loop'.
-
Go: awesome for backend web development, and only growing in popularity. But that's hardly guaranteed for the next 3-5 years, especially since it's still not among the biggest players โ sinking a significant amount of time into it might be a bit risky.
Could anyone help point me in the right direction?
Hey guys I'm a beginner and learnt python basics and learning Rust now. I don't have formal tech degree and I'm learning from home.
I'm heard that Python has scalability issues and Go is Better than python in that regard. I'm confused between what back end framework to choose.
Can you tell me why I should choose and not choose Go over Python and Rust?
What is Go best suited for and what kind of companies prefer Go for their back end ?
Hello everyone! I'm a CS undergrad, and I know this is a bit of controversial, but I would still like to hear from y'all
In 2025, Iโve built games in C++ and Java and done some image processing & computer vision work in Python (not AI-generated โ I actually read and built the stuff).
But a few months back, someone told me that to be โjob applicableโ or to get some of my project to good level, I *need* backend skills too. Personally, I hate web dev I might get hate for saying this, but backend feels more logical and fun to me.
Most of my batchmates use Spring Boot (Java) or Dj/Flask/Rest (Python). I didnโt want to pick Java or JS, so I started learning Go last week. So far it doesnโt seem too hard, but Iโve heard that goroutines and Gin get tricky later on.
So, my question is:
Should I focus on Python (faster prototyping, slower execution), or Go (backend-focused, is fast and unique, but harder to master as a developer language)?
Would love to hear some insights!!
(if I'm breaking feel free to take this down)
I ask this question here because I know that many users of this reddit use both languages. I am building microservices from scratch for an eCommerce store, where many internal and external devices will consume it through a rest interface. I know that we will be using many mathematical operations, complex algorithms, therefore, I was able to reduce the list in these two languages.
My first impression with go was with a service using the net / http library, it requires a lot of work and effort to configure cors, headers, validations and implement good practices, which with Python (Starlette toolkit) was something very simple and fast to carry it. The positive side to implementing a Go service in the cloud with Google Cloud Run is that cold start is 50% (around) faster than Python (Starlette). Which can reduce costs and avoid keeping an instance on and we take advantage of managed instances since our team is of 2 active programmers.
Honestly, I would like to know if you would use go or python for this use case. Thank you.
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
Hey there, just wanted to share my appreciation to this sub, where people are really friendly and helpful if you have any question.
TLDR After touching a few languages I finally realised that python is the most suitable for my uses cases (fast time to market backends). Go is great when you need to make solid foundation from the start. But if you are unsure about the feedback you'll get / need something really fast - python maybe a more pragmatic choice.
I was initially programming in python. Without any tests. I had even an online e-commerce written in Django, that didnt have any tests (it was working fine, but I was really afraid to implement a new feature, without breaking the code). So the way I was testing - I made the actions on website and checked manually the results in database.
Then I had some experience in Go, but it was like - using python paradigm inside the Go syntax. I still had no idea about interfaces and contexts. Tho the goroutines I liked a lot, as it was a real headache to archive same using python.
Then I had an experience with React and had to deal with JS, which I disliked a lot. The webpack thing is a nightmare, the package updates is a nightmare, no static types is a nightmare, async/await is a lot of redundant keyword repetition. So I decided to switch to Typescript. For some reason it was starting up really slow - it took ~10 seconds on my M1 for a small server to start after compilation (tho it was node docker specifically for arm). So I thought - if I need to cast a type on every variable, then why not I just used something much better instead?
That's how I came back to go. But this time the project I was working on was really big and required a lot of attention to details. So I decided to learn Go much closer, to realise how beautiful ducktyping interfaces are and how cool to mock test with them. Tho I noticed that my productivity was really slow, even after coding 24/7 for 6 month (maybe it's just not enough, and I had to spend a few year like that). The code felt really solid and I was 100x times more confident in it, compared to python one, tho time to market was taking too much time. (With python time to market was really low, even if a new feature was breaking the code, I could fix it during the day and still get valuable feedback about new feature.) With go I was making it solid-proof but couldn't tell if this feature is good enough without writing all the code and the tests. Also it is really hard to mock something in go, because the compiler won't let you use unused variables or imports. Which is great for Prod, but I would really appreciate if there was a Staging compile mode - where you can use unused variables and imports, to make the mocking faster.
So I decided to look at Rust - everyone loves rust, rust is fast, rust is A, rust is B, rust is safe etc. But rust is even harder for mocking a feature, because of its safety. So I abandoned it's halfway through the book. Because well, for backends I dont think rust will make a lot of significant difference compared to go (maybe only in really highloaded env, like discord).
Then I learned another front-end framework - Svelte. Which is the best among the others. It's faster than React and feels much better than anything in JS. It has subscription model - so your components can subscribe to changes in other components - which is really a neat feature, compared to react where you can only propagate changes from parent to children.
So I decided to completely rewrite my e-commerce website on svelte. I was choosing between python and go for backend. But because I had a lot of codebase in python and it was moderately straight-froward - I decided to rewrite it in python. But this time with tests and static typing. Switching back to python but having a go mindset was completely changing the way I was writing the python code. Ie a lot of functions return 2 values now, I have enums, types in my code, I'm more accurate with using lists and deepcopy, I kind of try to implement something similar to interfaces using classes. Also I was amazed how good static typing works in python and felt really dumb, that I haven't used it earlier, because it eliminates so many mistakes I was usually making.
Yes, the python backend would be slower than Go one, but these additionally 50-100ms won't make a big deal. Also svelte is really fast, so for end-user it will be still really fast. But time to market is way better in python. Dont get me wrong, go is an amazing language. But I came to a conclusion that for me the most critical thing is time to market - if you can launch a product 1 month earlier and get a valuable feedback or earn additional $$, then the language with lowest time to market property is the best. And yes, maybe in the future I'll have more problems because this code will be harder to maintain and scale, but that's the price Im ready to pay launching it faster.
I have 3 years of overall experience in Software and IT Engineering.
For automation, I have used Shell Scripting so far. But Now I want to learn a new language for Automation tasks and Software Development too.
The project I'm working on uses Golang extensively but the leads have given me free hand to explore any language I want.
My Initial thoughts were to learn Python, keeping in mind future career aspects, but Golang is used in my Project. Since I have planned to stay here for next 2 years, I'm confused which language to choose at this point of time.
Your opinions/suggestions/advices are most welcome!
There are a significantly less jobs in Go than in Python and not many at a junior level. But is it a niche that could be tapped or should I just go with python at my level?
Some more context: I am looking for work as a grad (in Ireland). I'd been focused on getting into more on the front end of things. But, I'm noticing that the jobs available mostly seem to be full stack / backend. I was planning on learning Python as it seems more pleasant than Java which I don't think is for me after learning and coding with it a lot. But, I became more aware and interested in Go from coming across it in some processes. It seems to be really promising and gaining traction.
EDIT: Thanks everyone for your two cents and sharing your knowledge and experience. I think Python makes the most sense for now as it's much more widely used. Really appreciate that people took so much time and thought in replying. I'm sure others will read this too and find it helpful!
I'm learning Native android development with all the modern tech stacks from the past few months and I have developed few apps that deals with some APIs and some do control native features like camera and flashlight features.
Now, I want to get into the backend side so that, I can develop a full stack app and probably offer my services as a freelancer.
But, there are so many confusion with which language to pick ๐ - Java, Go, JS, Python, Ruby, Kotlin etc.
Which one should I go with? If this is what I want:
nice job/ freelance opportunities. (must)
can be used if I switch from Android to cross platform/iOS or Web. (nice to have)
beginner friendly. (preferred)
short learning period to use it in real world projects. (optional)
Consider the scenario, I want to become a full stack Mobile developer.
What are your thoughts on this article? https://www.infoq.com/news/2025/11/reddit-comments-go-migration/
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
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.
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.
Hey everyone,
I've been diving into the world of backend development and I'm curious about the prevalence of Java and ASP.NET in enterprise applications despite the rise and capabilities of Python.
Java, in particular, seems to be on a decline in recent years, yet it's still in demand in enterprise world.
I'm torn between the decision of delving into Java Spring, ASP.NET, or exploring Python with Django for backend development. All these frameworks seem robust and capable of handling large-scale applications, but the differences between them are somewhat blurry to me.
For instance, Java, ASP.NET, and GO have been the stalwarts in the enterprise world, but Python's versatility and ease of use have gained considerable traction. Is it worth investing time in Java Spring despite their decline? Or should I pivot towards Python and explore its potential in the backend, especially with frameworks like Django and a plenty of packages available?
I'd love to hear your experiences and insights on:
Why do you think Java and ASP.NET are still prevalent in enterprise applications despite their decline?
Is Java Spring still a viable choice for backend development compared to Python and Django or GO?
What are the key differences between these frameworks in terms of performance, scalability, and ease of development?
I believe all these frameworks have their strengths and weaknesses, and the decision might vary based on the project requirements and industry demands.
Your perspectives, experiences, and suggestions would be immensely helpful in guiding my decision on which path to pursue in backend development.
Looking forward to a lively discussion and learning from your valuable experiences!
Hello everyone,
I've noticed a consistently high demand for Python programmers, but I don't understand why companies keep choosing Python as their main programming language when, in many aspects, it seems inferior to Go (just compare them using ChatGPT).
I understand that Python is easy to learn, has libraries for almost everything, and is widely used in AI/ML. However, Go is faster, easy to use, and its performance compared to Python is significantly better.
Can someone with experience in the industry list the reasons why companies prefer Python over Go?
Thanks!