Ask HN: Would you start new project in Java?
1–10 of 19 posts
Re: Ask HN: Would you start new project in Java?
#2- Built on top of the JVM
- Large number of 3rd libraries, i.e. Jackson, Jetty, Spring Boot, Hibernate, etc.
- Mature, can find support in numerous areas
- Dependency management, I'm sure many will disagree but I've found Maven to work well enough for what i need it to do both from dependency management and releasing
- It's the language I'm the most efficient with and if I'm building something brand new I favor speed of iteration over having to stumble over learning a new language. NOTE: I'd say the same thing about C#, Swift, Javascript, etc. If that either of those were my primary language I'd do the project in that because speed is your friend when starting out.
Re: Ask HN: Would you start new project in Java?
#3I think there are a number of reasons why you would. - Built on top of the JVM - Large number of 3rd libraries, i.e. Jackson, Jetty, Spring Boot, Hibernate, etc. - Mature, can find support in numerous areas - Dependency management, I'm sure many will disagree but I've found Maven to work well enough for what i need it to do both from dependency management and releasing - It's the language I'm the most efficient with…
Re: Ask HN: Would you start new project in Java?
#4Java has stronger compile time checks than many other languages. The JVM supports several other languages. For long running processes the warm-up time experienced with JITs might be of minimal concern.
A critical skill is to sufficiently understand the incompletely defined application in order to choose the most appropriate language(s), framework, environment, infrastructure, tooling. Of course, the experiences and competencies of the development team should also be taken into consideration.
Re: Ask HN: Would you start new project in Java?
#5Except maybe some infra constraints related to big data or legacy systems interconnectivity.
In the worst case scenario I would stick to JVM, but not to Java language.
Main reason — poor dev experience (for 90-s it was awesome), far outweighed by modern “light” alternatives, like node, go, ruby, python etc.
And dev perfomance is #1 factor of any project’s success/failure. On account that even lowest salaries are magnitudes higher than cpu/memory costs.
Re: Ask HN: Would you start new project in Java?
#6I'd like to ask 'why not' - Java is supported, fast enough for lots of applications and a great ecosystem of third party libraries.
Re: Ask HN: Would you start new project in Java?
#7Use java until you just can't bear it. You may get bored of it, we are humans after all. Ill even claim its desirable to build enough experience to be bored of it. Ideally, by this time you'll have developed the skills needed to evaluate a technology for adoption. At minimum, use java until you have learned this skill.
Re: Ask HN: Would you start new project in Java?
#8[0] as in not-statically-compiled, Java may be statically typed but the platform is very dynamic
[1] CLR/C# perhaps, but don't know too much about it, I believe its approach is less dynamic and more ad hoc, it can do some things better but perhaps for the wrong reasons.
Re: Ask HN: Would you start new project in Java?
#9Java has come a long way, 17 has a lot of nice language features and Amber, Panama, Loom, Valhalla are all doing great things for the JVM.
There's also the excellent ecosystem, and some of the Kotlin libraries have quite nice APIs.
I think tooling is a plus too, Gradle is a flexible and extensible build tool. I've also been experimenting with Graal, I'm not committing to using it, but it does look very promising (and has an easy to use plugin for Gradle). We could use it to build some very slim Container images, if it works out.