4 ms·
Java has all of the listed criteria. 1) Comprehensive. Maven provides comprehensive coverage from archetypes (project starter templates), dependency management
by panny 6y ago
Java has all of the listed criteria.
1) Comprehensive. Maven provides comprehensive coverage from archetypes (project starter templates), dependency management, build, version archiving, everything. It is written in Java as well.
2) Developer native. Eclipse is all encompassing. It provides deep integration with everything via plugins and great out of the box experience with different default plugin packages. There are eclipse for developers of java, jee, rust, c++, python. There's even third party distributions of it like NVidia's Nsight plugins for CUDA development.
3) Elegant. Is very subjective, but the Java API was elegant enough that Google decided to steal it for Android and be sued for billions of dollars.
4) Multi-Runtime. "Write once, run anywhere"
5) Multi-Vendor. OpenJDK is GPLv2+CE. There are numerous vendors who provide Java. Amazon Corretto, IBM OpenJ9, AdoptOpenJDK, most linux distros have their own package repo distributions of one or more of these as well.
With the added bonus that Java has memory safety, is the dominant language for the past two decades, and stays current by adding trending features like functional programming syntax.
- hn_throwaway_99 6y agoI was a Java developer for approximately 15 years, and am generally a fan (and actually a huge fan of the JVM), but I'd still like some of whatever it is that you're smoking: 2. Eclipse is your suggestion here??!! I could never imagine willingly using Eclipse again. Heck, years ago I was willing to pay hundreds of dollars a year for Jetbrains products specifically to avoid Eclipse. 3. Google's decision to use Java for Android had nothing to do with the "elegance" (or lack thereof) of the language, and everything to do with tapping into a huge community of existing developers and libraries.
- panny 6y agoI'm working on an application that's written in javascript, java, and python. It uses maven to build. I have it under git version control with git submodules. I don't have to context switch in Eclipse. I can do all of that without leaving the IDE at all. I can start a project, download all the dependencies, hover over methods to see javadocs, and I even have a terminal tab if I need anything like npm on the command line. All without leaving Eclipse. The fact that you can do the same thing in your tool of choice, IntelliJ, further refutes the author's point 2. You and I arguing about which we prefer is beside the point being made by the author. Elegance is subjective. The fact that there is a "huge community of existing developers" means Java is objectively more approachable to more people. Yet another way to look at it as elegant. I don't smoke. You've reinforced my points in favor of Java.