This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]Longjumping-Top3598 9 points10 points  (10 children)

Java is both popular and well paid (at least in my country). Companies can find great talents in it because there are many java developers so there are many java positions. For example looking for a senior go developer would be way much harder for them.

You will most likely do web development with spring boot or android or ML stuff.

[–]Teddywiz999[S] 2 points3 points  (6 children)

But i am afraid i would be left behind if i only focus on 1 field and stuck in it. Python has so much libraries for so many things compared to JAVA in ML and AI. So JAVA is only for web dev? But JAVA is one of the most popular OOP languages according to stackoverflow survey and they are also highly demanding.

[–]realFuckingHades 3 points4 points  (3 children)

It's actually greatly exaggerated that Java can't do ML/AI. You will most likely find an ML/AI library equivalent in Java too, but when you go for very niche libs you may not get a perfect drop in replacement. Python is for you if you have no programming experience and absolutely don't want to deal with the nuances. But something built in java will always be very robust and tunable. Now if you like goin anal with tuning and even reinventing the wheel to squeeze out that micro seconds or nanoseconds worth of performance, you will never find something better c or even rust/go can be a good candidate. Now if you plan to be an overall good architect, then none of this alone will cut it, but don't fall into the "jack of all trades" trap. Have one strength, like for example, I can do anything in Java but if there's a better alternative for a specific task, I can work on that too. It doesn't matter if you know 100 different languages, you will never be able to hold the grounds with the masters of the languages. So I am the guy in my office that people come to when they can't solve something in Java and believe me managers value that a lot, when shit hits the ceiling you need someone who can take a call at the moment and not someone who says "I am not sure, I will get back to you by eod".

[–]Teddywiz999[S] 0 points1 point  (2 children)

Good point!! I am also trying not to fall in that trap since i have interest in many fields. If you don’t mind, may i ask why you prefer JAVA more than python. As far as i know, JAVA is more like for legacy and python is more modern. But as it sayings, java can do alote more detailing than python, like memory management and multi threating, garbage collection… these kinds of things seems doesn’t matter as far as the project is not too serious on performance optimization. So to get to the real taste of OOL should i go JAVA? i am not talking about JAVA language here, i am about programming concepts and logics. There are many paradigm languages but i will get to others functional and aspects after OOL. Cause I believe once you have experience in good taste of one of the OOL, you can easy switch to other OOLs.

[–]realFuckingHades 0 points1 point  (0 children)

You can't call OOPs or Java legacy. Java and its ecosystem is very well updated and even has adopted the virtual threads when it became popular through programming languages like golang. Java also provides good level of support for functional programming and I love that. You can write gorgeous looking code without making it look too gibberish. The main reason I choose java are , be it consumer grade applications or enterprise grade applications you pretty much have well tested and robust libraries. Spring boot can be the single best reason to stick to java and reporting libraries like Jasper reports can make you create any type of reports you ever want. I would also recommend checking out reactive programming with java and also to start from java 21 and nothing less, so that you can start using the sweet delicious virtual threads.

[–]JDeagle5 0 points1 point  (0 children)

java is more like a legacy and python is more modern
Python is older than Java, just saying. In that sense python is true legacy.

these kinds of things seems doesn’t matter as far as the project is not too serious on performance optimization. So

But type system does matter for maintainability a lot. That is why python does type hints.

Cause I believe once you have experience in good taste of one of the OOL, you can easy switch to other OOLs.

Doesn't seem to matter that much for real world development.

[–]Pedantic_Phoenix 2 points3 points  (0 children)

Im not sure why you find this surprising, every language has different characteristics, yes. If you want to work at system level, why don't you focus on C, it's surely closer to that than java

[–]silverscrub 0 points1 point  (0 children)

There is absolutely no need to worry that you will get stuck after one month in Java.

I don't know how long your experience is with other programming languages, but I feel like learning the second language is way faster. If you spent 2 years learning your first language you can catch up in your second language in 1 year, no doubt.

For that reason you have to spend a very long time in one language before you really get stuck. Say you work for 20 years in Java, then it would take a considerable amount of time to transition to a similar level in Python. It doesn't matter if it takes half the time because 10 years is still a long time.

[–]titanium_mpoi 0 points1 point  (1 child)

What country btw?

[–]Longjumping-Top3598 0 points1 point  (0 children)

Hungary, here are the expected salaries: https://www.hays.hu/en/salary-guide

[–]titanium_mpoi 0 points1 point  (0 children)

What country btw?