|
|
|
|
|
by asdf1234
3308 days ago
|
|
I don't use Java much but out of the languages you named none of them are better at much and with the exception of C# all of them have far, far worse tooling. Go is hardly a "modern language" from a language design perspective so you're not gaining much over Java here. It has horrendous package management and the IDEs, debuggers, profilers and live monitoring tools are probably a decade or more behind the tools available for Java and the JVM. It's also much harder to find Go programmers than it is Java programmers. Python is a very slow dynamically typed language with a horrible deployment and concurrency story. A lot of big companies justifiably won't even consider a dynamically typed language. Again all the tooling from package management to profilers to debuggers is way behind what's available for Java and the JVM. C# is a real competitor but for the most part it's still tied to Windows. This is slowly changing but the vast majority of C# libraries still require the full .NET runtime on Windows and the open source community around C# is a small fraction of the size of the community around JVM languages. |
|
You're just wrong there. There are plenty of languages that do something better than Java, but none of them do everything better than Java.
> I don't use Java much but out of the languages you named none of them are better at much and with the exception of C# all of them have far, far worse tooling
Now we are traversing into "my opinion is fact here".
> Python is a very slow dynamically typed language with a horrible deployment and concurrency story.
Who the hell uses Python for concurrency? It has a global interpreter lock... if your use case obligates concurrency and you pick Python you just don't understand what you are doing.
> C# is a real competitor but for the most part it's still tied to Windows.
Yes, let's dismiss every other language because Python is bad at concurrency and you don't like Go's package manager... Give me a break.