Outside of companies already firmly planted with Java in their ecosystem I don't really see people being excited to start new projects using Java (or even a JVM-based language).
What is everyone's thoughts here? Am I perhaps in a vacuum?
Note: I really enjoy the developer experience using Java and enjoy exploring other JVM-based languages like Clojure, Kotlin, etc.
However, I think Java is not very popular because of Oracle and the licensing. There is no good reason to avoid it technology-wise but it has kind of a bad smell.
Another reason could be that more and more modern languages are trying to prevent using a VM and are designed as or transition into a compiled language offering "best" performance by having native binaries without too many dependencies.
The last reason I can think of is productiveness / complexity and elegance. Java just does not feel very elegant or easy to learn with its enterprise background. Too many products / libraries / technologies for beginners. Because of it's strictly object oriented design you have to write much code to achieve the same thing you can do in a few lines or even one line in other languages (even when you are using modern Java features). Kotlin comes in handy here, but still feels a bit clunky from time to time.
I would still use it, if it is the right tool for the job... or even if I didn't have skills in another language and wanted to get things done. Still it may be a good idea to check out other languages to learn something new. Python is good for AI stuff, Go was very productive. TypeScript is... well a "better" JavaScript with interesting concepts. Currently I'm learning Dart / Flutter, because C# failed hard while building my first little audio player app :-)
The Microsoft Framework (MAUI) is... let's say it has some obvious problems that probably will never get fixed. Community Frameworks like Avalonia UI are better, but not there yet.
To sum it up:
- App sizes are huge (>70MB)
- App Performance is meh
- Important libraries are either missing, not cross platform or outdated
- Hardware access is not good enough (camera, gyroscope, audio, bluetooth)
- Cross Platform Deployment is too complicated
- There is even more I can't remember right now
All of that is not the case for flutter... it worked out pretty well until today.I don't have a stake for either languages, but when I select a web server with only Developer UX, Hiring, and Ecosystem selected (as in no performance or correctness) Rust is at 0.87 and Python is at 0.12?
I think if you told someone "I need a webserver in a language with a great ecosystem, easy to hire for, and performance doesn't matter" most people would think of Python. At the very least, nobody would think of Rust.
I like the website. It shows rust for a lot of options go as close to next best.
I’ve worked for numerous companies including startups that used Java or JVM languages like Scala.
My company does Python for ETL/data but Java for everything else
Except some areas where you don't have much flexibility. Like for AI you chose Python even if you have no experience. Or for a website, you don't have much choices and have to use TS/JS even if you don't like them.