JAX London Blog

Sooner or later you’ll have to upgrade

Jul 19, 2017

Sooner or later you'll have to upgrade

Source: Shutterstock

In this interview, Marcus Biel isn't discussing the battle between Node.js and Java because this would be "a comparison of apple and pears". Instead, he is talking about Jigsaw and its big chances.

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?

To me, this a comparison really doesn’t matter, it’s a comparison of apple and pears. Java is best suited for complex (multithreaded) business systems, Node.js is great for real-time web applications.

Ask a Java developer and he or she will favor Java, ask a Node.js developer, and they will favor Node.js. There is room for both.

 

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?

To me, the first question is: What does this say about Stanford? Stanford believes that learning Java is bad as a first programming language. That’s all this says, and it’s okay if they think that.

 

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!

Java is best suited for complex (multithreaded) business systems, Node.js is great for real-time web applications.

 

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?

Jigsaw is a big chance. It will require a lot of work to migrate, and the majority of companies will delay doing that.

The majority of companies will, for many years, see this as a great risk and delay it for as long as (they think) possible — without considering the great advantages that modularization entails. Very unfortunate.

If, on top of this, you consider that most companies are still using Java 7 and only a few companies are actually using Java 8 — I think that this topic will still be relevant for the next 5-10 years.

Top 20 Java Influencer Marcus Bierl

 

What is the most important misconception about Java 9? How about Jigsaw?

As with all changes, the misconception is that upgrading to Java 9 or migrating to Jigsaw is more expensive and riskier than not doing it. Every upgrade involves a risk. It is true, but sooner or later you will have to upgrade anyway. The sooner you upgrade the better – because the sooner you can benefit from all its advantages. In the case of Jigsaw, you’ll benefit from the advantage of proper encapsulation on module level. Jigsaw will allow us to build modular systems, with a much clearer, more precise structure, which will be understood much faster by business people or by new developers joining the team.

The majority of companies will see Jigsaw as a great risk and delay it for as long as (they think) possible.

 

What would you like to see in Java 10?

Well, if I was granted a wish:

Removing features and revising wrong decisions of the past is much more important to me than adding new features.

I would love to see some new changes that would not be backward compatible. For instance, I would love to see Checked Exceptions removed, but this is not going to happen too soon.

Anyway, to list a few new features that would be nice to see with Java 10:

  • Pattern Patching
  • Value Objects
  • Multiline Strings
  • List<int>

Behind the Tracks

Software Architecture & Design
Software innovation & more
Microservices
Architecture structure & more
Agile & Communication
Methodologies & more
DevOps & Continuous Delivery
Delivery Pipelines, Testing & more
Big Data & Machine Learning
Saving, processing & more