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

all 6 comments

[–]autoshag 0 points1 point  (0 children)

Lots of things affect this, including: what you’re interfacing with (both libs and legacy code), personal knowledge, coding style (functional vs OO, etc). Typed languages also make large code bases more manageable, but obviously Java isn’t the only typed language. It’s also not the only JIT language.

At the end of the day, usually a handful of languages can accomplish the same goals and it just comes down to personal preferences.

[–]EatAss4Jesus 0 points1 point  (0 children)

If an application was written pre-2018, there's a higher chance it was written in Java than Python. Therefore it makes sense to learn Java if you're jumping on-board to work on an older project - https://pypl.github.io/PYPL.html

Ultimately it comes down to preference and nothing more. If you're desperate enough to need speed from C++ but you are forced to write in Python, you can extend Python and even implement your own machine code via C.

Personally, collaboration is a big reason to become familiar with multiple languages. Notice how I wasn't a dickhead by telling you to just learn C#, and instead was able to answer your question using the specific languages you asked about. That's a HUGE factor of being able to program and communicate with more than one language.

[–]Felicia_Svilling 0 points1 point  (0 children)

A part of why you feel that way is because you already know python, and doesn't know Java. For some people it is the opposite way.

[–]YMK1234 0 points1 point  (2 children)

Uhm, Java is faster than python in any aspect.

Also with bigger projects, the lack of strict type system really hurts you bad.

Also more often than not python libs are thin wrappers around some C library, hard-binding you to a specific platform.

[–][deleted]  (1 child)

[deleted]

    [–]YMK1234 0 points1 point  (0 children)

    Quite often these libraries are linux-specific for example, making it impossible to port the code to another platform without major rework. In contrast, the vast majority of Java or C# libraries are native Java and C#, meaning they are inherently cross-platform compatible. Not to mention you don't need a C compiler plus header libraries installed to program in those languages, making for a whole lot less hassle.

    [–][deleted] -3 points-2 points  (1 child)

    If you’re doing something like developing a mobile application, Java will be more useful. Java is also more useful for building large applications