HACKER Q&A
📣 tianyi-wang

Why use any other languages when Python can do the job?


Hi all,

Python is becoming one of the most popular languages. And with all the backing from big corporations, it will only get faster and more ecosystem. Even when performance matters, the worst case is to write a small bit of your application in Go/Rust/C.

If you are creating a new product today, why would you not choose Python?


  👤 jjgreen Accepted Answer ✓
As a long-time Python coder (2010): dreadful packaging, no threads.

👤 dusted
Literally interpreting your question: If you know python, and it can do the job, then there's no reason not to chose it.

However, there are many cases where it can't do the job, and in those cases, the question is obviously, because it can't do the job.

I won't entertain you with a list (and following nitpicky discussion on why I'm wrong about every single item on it) of cases where it won't do the job.


👤 vb-8448
Python it's not suitable for every use case and the context is crucial here.

E.g.: I'm developing a software (python + django) that need a component to run on multiple OS (mostly linux but also windows and some unix) that I can't directly control. I'm learning golang for this specific purpose because doing this in python is just insane.


👤 tianyi-wang
I need to add a bit more context here since the replies are not quite what I was thinking.

We all say choose the tools best for the job or those that work for you. But the fact is that different tools can do the same job and can work for you. Like I want to build a simple API backend, I can code in Python, Elixir, Go, Rust, Clojure Typescript, OCaml and F#. What should I do then?

My point here is for general-purpose applications, and you know a few programming languages pretty well, it seems choosing Python is the more sensible.

Which is kinda sad, really.


👤 thesuperbigfrog
>> why would you not choose Python?

No type safety.

GIL (yes, they are working on it).

Slow execution.

Terrible packaging and deployment: should you use pip, pipenv, poetry, conda, setuptools, hatch, micropipenv, PDM, pip-tools, ActiveState platform, homebrew, or your Linux / BSD distro's package manager? "One way to do it"? Nope, it's TIMTOWTDI.


👤 pestatije
for scripting, yes...for big codebases, meh

the elephant in the room: semantic spaces...was an issue on day one...will be an issue the rest of its time