Golang or Python?
Posted by GrayHiin@reddit | learnprogramming | View on Reddit | 29 comments
Hello everyone. I have been working on programming for about 3-4 months and started with Python, but recently in my searches and researches, I realized that the Golang language is very suitable for me who is interested in going to the Backend field, but when I came across a few videos and recommendations, they pointed out that Golang is not a complete programming language as Python and it is necessary to learn a programming language like Python or JavaScript, and then if I want to develop the structure and speed of the system, I can use Golang. I would appreciate it if someone could help me with their experience and knowledge on this issue.
ImprovementLoose9423@reddit
Python can do almost everything that Golang does and then some. Both can be used for backend and file management. The only thing that Golang has over python in my experience is speed, which python falls behind golang there.
hwc@reddit
Go is a beautiful language to use everyday.
and no matter what you use on the backend, you will need some JavaScript for the frontend (even if just to mock something up until the frontend developer gets a chance to make it work nicely).
In my last job, I actually used Python for functional tests of my go programs. (Python is great for writing something quick that just works. but it gets painful once your program gets large enough.)
stiky21@reddit
I feel like not enough people understand just how beautiful and nice go is to write.
I'm a rust developer but I just love writing go. Even reading it is a pleasant experience.
hwc@reddit
I want to practice Rust, but I've found that Go is such a better solution for any project I work on.
stiky21@reddit
If I had to choose between the two I don't think I could because they both work so well at what they do.
hwc@reddit
exactly!
I just wish Rust syntax was a little closer to Go.
Savings_Discount_230@reddit
started with python too, about 2 years ago. switched to go for backend work maybe 6 months in and honestly it was the right call for me
go's simplicity is a feature not a bug. less keywords = less ways to shoot yourself in the foot. the concurrency model (goroutines + channels) alone makes it worth learning
that said, keep python in your toolkit. i still reach for it whenever i need to whip up a quick script or do anything with data. they complement each other really well
also whoever told you go isn't "complete" is wrong. it's turing complete, compiles to native binaries. what they probably meant is fewer libraries than python — which is true but rarely a dealbreaker for backend work
GrayHiin@reddit (OP)
If I want to pursue a professional path in Golang and start learning it very deeply, it's a great and good resource, and of course, free 😄 Can you introduce it to me?
_N-iX_@reddit
If your interest is specifically backend engineering, Go is absolutely a legitimate long-term choice. The language was designed heavily around simplicity, concurrency, maintainability, and operational reliability, which is why it became popular in cloud infrastructure, APIs, DevOps tooling, and distributed systems.
Python is broader and often easier for rapid development, automation, AI/ML, scripting, and experimentation. But backend engineering is much more about understanding systems, networking, APIs, databases, architecture, and debugging than about choosing a single “best” language. In practice, many developers end up learning both because they solve different kinds of problems well.
GrayHiin@reddit (OP)
If I want to pursue a professional path in Golang and start learning it very deeply, it's a great and good resource, and of course, free 😄 Can you introduce it to me?
huuaaang@reddit
Go is better suited for backend services. Go is complete. Whoever said otherwise is an idiot.
keyboard_clacker@reddit
Plan your project out and use the language with the best support. I’m reaching for .net if I have to do anything with excel. Rust is great for small fast programs I don’t plan to change much. Python is fine when I just want to re use as much as possible. NodeJS when I want to have a single language top to bottom. Golang has some specific domains it is good for and is popular. Just plan your work out first.
qwertydiy@reddit
Look at the boot.dev course 9n golanf. If you can't understand it we'll, you have done too little Python else go for Golang.
GrayHiin@reddit (OP)
Thanks.
stiky21@reddit
I highly recommend it.
Unlikely_Studio_5115@reddit
real
prince_op@reddit
Golang is not a complete language? What? :D
I used go professionally for years. It’s fast, simple and fun to write code in.
Great for backend, networks, distributed systems etc.
Python is okay too but golang is much better imo
ScholarNo5983@reddit
Try both languages and then try to decide which language you like.
GeneratedUsername5@reddit
Golang was developed as a tool for small self-contained network utilities and later was retrofitted to be used in standard enterprise backend and it shows, in tons of boilerplate and whacky solutions.
I would recommend you to use any language you simply like, subjectively. Barely any back end project runs into limitations of any language.
When you start to run into limitations, there are language-independent techniques you can use to improve performance.
Golang is very much a complete programming language, it just wasn't designed for what it is used today, and exist predominantly on a religious hype around it. Neither is the Python by the way, but that is the choice you've made for yourself.
sad_ant0808@reddit
i mean golang is also a turing complete language so theres no such thing as it not being as complete as python. what ppl mean when they say that python is more complete is that it has a slightly larger community and has many more frameworks and libraries. now python also has more keywords compared to golang. golang has less keywords for a reason- simplicity. now u can also code backends in python. if you know the basics of python- like variables, data types, boolean expressions, loops, conditionals, iterations, working with variable data and all that, then you can learn golang since python will have taught you the basics of programming and golang's syntax is stricter than python.
GrayHiin@reddit (OP)
Thanks. this is helpful for me.
sad_ant0808@reddit
ur welcome:)
crawlpatterns@reddit
python is honestly still a really solid first language for backend stuff and learning programming in general. golang is great too but i feel like it clicks way more once you already understand programming basics pretty well. alot of people act like you need the “perfect” language first when really consistency matters more than that. if you already enjoy python i’d keep building projects with it while slowly trying go on the side and see which one feels better to work with long term
NumberInfinite2068@reddit
I would ignore any video saying stuff like that, it's completely untrue.
I much prefer Go over Python, but Python has a load of tutorial content out there, and can suit beginners better maybe.
GrayHiin@reddit (OP)
Could it be that this belief exists because Golang is not object-oriented? However, after coding a little with Golang, I realized that it has something called Struct, which makes it less obvious that Golang is not object-oriented, right?
NumberInfinite2068@reddit
Go supports OOP, it's just slightly different from Python or Java in how it supports it. Go has no inheritance, but that's not required for OOP.
Go *is* object-oriented, it just does it differently from Python.
You are correct about structs, they are basically Go's "classes", just without inheritance.
denerose@reddit
It doesn’t really matter. Just get good in one language then switching or adding another layer as needed is trivial.
Street_Law_2208@reddit
Having worked with several backend codebases, PLs’ come and go.
Learn programming in well known OOP PL and then learn the difference between compiled and uncompiled languages. If the foundation is there, then golang but if having trouble and just want to learn then python… especially learning with Jupyter notebooks for self documentation of you learning journey.
I still look up syntax via googling but knowing limitations of the semantics within a PL will put you on a good learning path.
FYI I work as an Enterprise integrations dev and we have several codebases, with different PLs’.
SillyEnglishKinnigit@reddit
Whomever said that Go is not a complete language is a damn moron.