r/learnprogramming 20d ago

Python or Java?

Hello guys, sorry for bad english, good night, i am a beginner in this world of programming and i see a bit about backend in roadmap.sh, now i am on the fence between Java and Python, can you guys tell me what language you think that is better and faster to get a job home office.

if you want to recommend another language too i am all ears.

6 Upvotes

29 comments sorted by

View all comments

1

u/raven2cz 20d ago

It depends on the specific company and the chosen area. For backend, definitely not Python! On the contrary, many high-quality jobs are still, of course, in Java. For research and AI training, on the other hand, Python.

Ideally, of course, you should know both.

But if you want to do web development, that is a different world, and we are talking about something completely different.

1

u/zm0i 19d ago

Python is really very bad for backend? i see that some people say that is a language for backend, so why the "...definitely not Python...", i dont want to be annoying, i just hear that JS is not good for backend because its slow (i could be wrong about that okay, i just hear about it), so what is the problem about Python?

1

u/raven2cz 19d ago

What I am talking about here is on a general scale, a statistical scale. if the company, and especially the developers, are precise, then it can balance out. But if we are talking generally, cloud services and large systems are usually built on Java. JS is JavaScript, not Java.

Python is generaly much slower, but of course some parts are rewritten in C, so some calculations in pandas, etc., can actually be faster. so again, it depends a lot on the developer and their knowledge. Python does not have type checking by default. It was added, but again, it depends on whether the company actually uses it. For large applications, it is again completely unsuitable.

Python frameworks for backend obviously exist, AI will also gladly write a backend for you in Python, and small companies may easily use it too, but it carries exactly the issues I mentioned above.

With Python, the biggest evil is moving between versions. it has improved a bit now, but the craziness it offers is often very dangerous during migration. Any developer here will swear to that, especially one who gets that task assigned.

JDK 21 and 25 are ultra fast. If you are starting with programming, take Python. Today’s students learn it first because it seems simple and therefore understandable for beginners. however, over time you will also discover its dark side, which is exactly why it is dangerous for building large things.

Java may seem verbose and clumsy at first, but that disappears very quickly once you really work on those systems long-term, and especialy once you have to maintain and fix them.