5 ms·
Ask HN: Java for New Projects?
Is anyone using Java for new projects? I've seen a lot of job postings / new companies being started with Python, Go, TypeScript, and the like.
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.
- splix 3y agoHow do you measure that? Do you include only companies with _no_ experience in a particular language before starting a new project using that language? Companies usually continues the language they have an experience with. 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.
- PaulHoule 3y agoPersonally I like Java a lot. I like Python for rapid prototyping and particularly code where numpy and scikit-learn can do the hard work. PyPi helps w/ branchy semantic web workloads but for things like that (say something like https://github.com/srdc/ontmalizer https://github.com/srdc/ontmalizer that really works which I've had on the agenda for the last year) I'd pick Java. I’ve worked for numerous companies including startups that used Java or JVM languages like Scala.
- 8589934591 3y agoWhat do you recommend to switch from Python to Java or JVM based languages like Scala? I have developer experience with personal projects, but I can't seem to get shortlisted to any of the bigger companies which use them.
- mindcrime 3y agoIf you're looking at startups and the typical SV / YC crowd, maybe not. Looking more broadly, 100% yes, Java is being used for new projects. At my $DAYJOB employer new projects get launched using Java all the time. Not interested in saying who that is, but we're a Fortune 100 public company (not a "tech company" though).
- billfruit 3y agoDecades of work by lot of smart people has gone into the JVM, so there is still benefits to be had in using it.
- ldjkfkdsjnv 3y agoI launched a startup with Java/Spring Boot on the backend. Tons of developers already know this stack, no headaches, everything works. ChatGPT is also an expert in mainstream Java technologies. Using a bleeding edge framework like the newest next.js has major gaps in ChatGPT
- gardenhedge 3y agoIs that a comparison that makes sense?
- rlawson 3y agoPython and esp Django are great for rapid prototypes but larger projects I find the performance and structure of Java easier for a large team. Maybe things get a lot better in the future as type hints get more widely used with Python? My company does Python for ETL/data but Java for everything else
- giaour 3y agoIf you include Android apps in the category of "new projects," then new projects using Java and Kotlin are being launched all the time, including by companies that were not previously using Java.
- muzani 3y agoOP did ask for Kotlin, so I guess it counts. Because I don't think people really start any new code using Java itself. Kotlin is the officially supported language. And there's just significant tangible benefits of using Kotlin over Java (e.g. Compose).
- sandreas 3y agoJava is still ok. A lot of people use it. It's a good ecosystem and well hung technology, the tooling is very good. 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 :-)
- fuzztester 3y agowhy did C# fail for your app?
- sandreas 3y agoC# still has a lot of problems regarding cross platform development. 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.
- aristofun 3y agoThese days you gain very little (performance, devX, complexity etc.), but pay too much (overengineering mentality, "best" practices and traditions, tons of legacy etc.) in comparison to other tools.
- takkatakka 3y agoI’m using Java in a new-ish project of mine. It’s not glamorous, but there is a library for everything which is nice. I also have the most experience with it (Clojure coming second), so that lets me focus on building rather than learning a new tool.
- jryan49 3y agoYup, it's boring and works :)
- pg_1234 3y agoIt's still way better than Go.
- exabrial 3y agoyes, absolutely
- cdaringe 3y agoHere’s my pitch: https://cdaringe.github.io/programming-language-selector/ https://cdaringe.github.io/programming-language-selector/
- 8589934591 3y agoNo matter what I try, I can't get python to reach the top. :D I like the website. It shows rust for a lot of options go as close to next best.
- Capricorn2481 3y agoNot to be that guy, but why does it seem like Rust is so high for everything and Python is crazy low? 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.
- lulznews 3y agoCode is code bro. Just use what you like.
- devgoth 3y agolove this response :)
- shoo 3y agolots of java being used at mature banks & successful fintechs