
Golang vs. Python for new backend service at scale? - silentsea90
We&#x27;re working on building a new service at scale. The engineer on the project suggested using Python over Golang - these being the languages supported at our company. He cited personal preference and speed of development as the reasons for using Python. Interestingly, we already have projects where we are moving from Python to Go for the performance reasons, but for the load in this case, my colleague argued that Python would not be a problem<p>I come from a Java background and therefore loathe Python for building complex services with a passion. I feel strongly that Go, with its statically typed compiled nature and concurrency support is a million times better as a developer and for performance reasons. Also faster to serialize and deserialize protobufs on Golang.<p>2 parts to the question:
1) How do you compare Go and Python for building a high scale backend service.
2) How do you recommend convincing a colleague who is adamant on a technical decision, which may be his preference, but will eventually become a problem for the entire team.
======
tomohawk
Speed of implementation is similar in my experience between Go and a dynamic
language such as Python. However, Go is the best for "it will work if compiler
will build it" guarantee. A Go process will easily use the resources (CPU,
etc) available in a much nicer way - concurrency is one of the "batteries
included". Python's concurrency story - well. A Go process is self contained
and easy to install. A Python process requires packaging and deploying lots of
external things.

------
svennek
Disclamer: I like python a lot, and loathes using java for .. well anything :)

I think for a new service using a fluid language (I like to call Python for
putty-clay) is probably a good idea, unless you are ensured a massive scale
from the start.

Much more project die due to not reaching their goals (i.e. dev time is too
much or the devs got them selves painted into a corner) than scale at the
beginning.

So for the first production-prototype I would also strongly consider python.

I don't know go enough to compare them, and also, it strongly depends on what
you do. If you service is bottle-necked by the databases (which is common in
those that I do), it really does not matter that much... Context is everything
in making those decisions...

Also, as a personal comment (not meant as an insult), please also appreciate
that your "will eventually become a problem for the entire team" is also just
a person opinion on your part... Nobody knows (or can know) for sure, you
could be the one on the wrong here...

