Some people seem to believe that Node.js might have a chance at overtaking Java in the near future. Can Java really be dethroned? Why/why not?
The only people who claim this are the vendors behind Node.js. We cannot say anything about Java’s long-term future (next 20 years) but if “near future” means the next 2-3 years, Java isn’t going to be dethroned by anyone.
Java is still very popular and the upcoming improvements in project Valhalla, Graal and Truffle, and many others will ensure that Java will keep up with the state of the art.
Each language has its place and reason for being and Java has been the most popular for a variety of reasons.
This year, Stanford’s famous introductory course for programming dropped Java in favor of JavaScript. What does this say about the relevance and popularity of Java?
Absolutely nothing. When I studied computer science at EPFL (where the Scala language was created), my programming courses included funky languages like Ada, VSDL, PL/SQL, SQL, Java, XSLT, Scala, Prolog, C++. If I had studied today, I’m sure JavaScript would have been part of the curriculum as well.
I do hope that we, as an industry, including university faculties, realize that individual languages do not matter in the big picture. Each language has its place and reason for being and Java has been the most popular for a variety of reasons. Individual universities are not going to change that, and why should they?
What did you think of the fact that Java 9 was delayed to September? Do you agree with the JCP Executive Committee’s decision not to approve the Public Review Ballot for JSR 376?
While I’m sure that Oracle, as well as other JVM / Java EE vendors, do have important stakes in this significant project, I’m personally rather bored by JSR 376, which will not affect my work to a great extent in the near future. I’m much more curious about what’s going to be included in Java 10!
I do hope that we, as an industry, including university faculties, realize that individual languages do not matter in the big picture.
Georges Saab, chairperson of the OpenJDK governing board and vice president of development for the Java Platform Group at Oracle told JAXenter in early June that many developers will probably get started on JDK 9 without modules. How do you feel about the modular ecosystem?
I’m sure Georges is right. I perfectly understand that Jigsaw (and modularity) is important for the JDK to evolve. The community has found “good enough” solutions to modularity long ago through tools like Maven and/or OSGi, and others. The community probably won’t rely on the new module features immediately.
Don’t get me wrong. It’s important that Java has a module system, but I don’t think Java 9’s implementation will be very exciting for most of us. This doesn’t mean that a future Java won’t improve it.
Top 20 Java Influencer Lukas Eder
What would you like to see in Java 10?
Everything that is being discussed in the context of project Valhalla and other projects, including:
- Array 2.0
- Value types
- Generic specialization
- ADT and pattern matching (I’m also personally hoping for first class union and intersection types)
- Declaration site variance on generics
- Generic enums
- Named and defaulted parameters
Oh, and if I could get those multi line strings in Java, as a SQL person, I’d be extremely delighted! I’d also love to see other sugar such as:
- Data classes
- Flow sensitive typing (no need to cast inside of an “if-instance-of” block)
- Destructuring of Map entries and other types
- List and Map access literals
- Much more powerful Stream API with many new features
- Type aliases
- Local methods
- Local imports
Some of you may have noticed that these features would have been stolen from languages like Kotlin or Ceylon.