No swan song for Java: 11 influencers weigh in on its reputation, rivals and adoption
© Shutterstock / ALEX S
What’s cooking in the Java world? Plenty, actually. Java 9 is coming in September, Jigsaw has finally its approval and our Java influencers are offering us some valuable insight into the future of this programming languages. In this 3-part interview series, we shed some light on where Java is headed to and what language is a worthy opponent.
Java’s not going anywhere
Twenty-two years after its release, Java is still developers’ darling. If this programming language is dying, it’s safe to say that death becomes it — it has died and resurrected more times than we can count and it’s still on its feet. We’ll be seeing a lot more of Java in September when Java 9 is released.
Java’s been around for a long time now, and has had time to establish superior tools for writing, maintaining and debugging code. For example, various development environments like Eclipse or NetBeans have made it easy to write Java. They can even be used to program and write code in emerging Java-based languages.
Why do we see, time and again, articles announcing its imminent death? As Mark Twain might have said, the reports of Java’s death are greatly exaggerated.
Dr. Wayne Citrin, CTO and co-founder of JNBridge, LLC
Who has the most influence on Twitter? The JAX team has trawled thousands of tech accounts to find 20 Twitter profiles that belong in every Java developer’s Twitter stream. If you want to hear what they have to say about Java 9, what they want to see in Java 10 and what they think of Java’s opponents, you’re in luck!
See the list here.
In this 3-part interview series, 11 Java influencers weigh in on Java’s popularity, talk about the modular ecosystem and reveal what’s on their wish list for Java 10.
11 answers: Some people seem to believe that Node.js might have a chance at overtaking Java in the near future. Can Java really be dethroned?
Meet the Influencers
Mario Fusco: Why Node.js is attracting so many people is really beyond my understanding. We are in the era of multicore CPU, even my smartphone has eight cores, and do we really want to run on our servers a single threaded framework? In a typical Node.js application running on an 8-core machine, it often happens that one core is always at 100% of its utilization while the other seven are practically idle.
Marcus Biel: 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.
Lukas Eder: 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.
Trisha Gee: I think we’re trying to compare oranges to apples here. Java is a fantastic server-side language, heavily used by enterprises for many reasons, including rock-solid backwards compatibility; cross-platform support (in terms of operating systems); and the very large pool of Java developers (from junior to extremely experienced) that are available to hire.
Node.js is also used in the enterprise environment as well, but not for the same types of applications — we see it much more in startups, used for rapid prototyping and nimble application development (in organizations of all sizes). I personally believe that given the enormous numbers of problems that are/can be solved with technology, there’s plenty of space for both languages, as well as many other languages and frameworks.
Node.js lacks the maturity of many battle tested frameworks you have in Java.
Vlad Mihalcea: I don’t think so. Node.js is very good for rapid prototyping but it lacks the maturity of many battle tested frameworks you have in Java.
Thorsten Heller: Yes and no. I’m convinced that Java might be dethroned or at least challenged in the near future but I won’t bet on Node.js. If I would have to, I’d put some money on Kotlin. Its simplicity, lean syntax, functional approach – just some of the features – will boost its popularity. And maybe boost cleaner code? In general, I’m sure the near future will nevertheless be more heterogeneous: the best fitting programming language for a given task.
For me, Java is more of a platform than a language.
Quentin Adam: I do not think there is any chance this will happen. Node and Java are very different tools for different usage. Node and the tooling suite is now helping a lot to make web front a real ecosystem with great build tools, and some small server part.
But Java has a very powerful ecosystem and large codebases, the possibility to replace all with Node is very slim. In some areas, like Big Data (Hadoop ecosystem or Kafka) the JVM is the primary choice for the platform quality itself, and there is now way Node can power Hadoop in the future. We will see more and more projects using Node and Java together. Node will be often front facing to users, but it will not replace Java everywhere.
Bruno Borges: There are many indicators showing that Node.js is a great platform for quick development/deployment, but the code base itself only gets harder and harder to maintain, even for microservices-based architecture. If there is a platform that was overtaken by Node.js, I’d say it was Ruby on Rails.
Java is still solid, with plenty of high-profile frameworks that can deliver the same developer experience (quick development/deployment) that Node.js delivers but keeping the stability and maintainability that Node.js projects provide. Not to mention all the great tooling support, debugging, etc. So no, I don’t think Java can be dethroned by Node.js as a development platform on the long run. Why? Because people told us that Ruby on Rails would do that to Java, like, years ago. And it didn’t. But hey, there’s still a lot of great things on Ruby, Node.js, and other platforms and programming languages, that can add value to many development teams.
To me, it is a natural progression and doesn’t necessarily tell a story about relevance or popularity of Java. More about its usability and learning curve.
Marcus Biel: 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.
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?
Java is still being taught at Stanford for more advanced courses, which shows it’s still relevant and important to learn. In particular, some of the things which may at first seem to get in the way, like static typing, a stricter structure (in terms of classes etc) may seem more useful to a developer once they get the hang of how basic coding works.
Vlad Mihalcea: Although it might help them for teaching reasons since you don’t need to compile code and can run all examples from the browser, I don’t think that this move will affect Java’s popularity.
Bruno Borges: I learned how to program by writing Excel macros. It wasn’t even VB. Then advanced to writing more complex scripts for mIRC. Do you remember mIRC? It was the most famous IRC client for Windows. Remember IRC? The 90’s version of Slack. Well, things have changed for sure. Logo was another programming language that got some traction, at least in Latin America in a few universities as a language to teach basic programming logic.
The second part of the interview series is all about Java 9: we dissect the JCP Executive Committee’s decision not to approve the Public Review Ballot for JSR 376 [Reconsideration Ballot has been approved] and we talk about the modular ecosystem.
If you’d like to meet the top Java movers and shakers, join us in London in October.