Well, part of my point is that it's very very slow, and because of that, there are all kinds of points I could pick for 'since when'.
Maybe I'd pick when apple removed the default install from mac os, or maybe I'd pick when browsers made it impossible to run applets, or maybe I'd pick when the major java IDEs started pushing other languages like kotlin or xtend, or maybe I'd pick the oracle acquisition (never a good thing), or maybe I'd pick the release of go - a language squarely targetting pretty much the only niche that java has left (enterprise development of servers by mixed ability teams), maybe I'd pick the point when java development felt like it became more like configuring metadata for frameworks than actually coding, or maybe I'd pick when google started showing kotlin as the default language for developing on Android rather than Java.
This doesn’t refute his point, Java the language is separate from the JVM. And those big companies will follow the decreasing Java usage trend due to developer supply and demand. Anecdotally, it seems pretty obvious some of those companies are already doing this by writing new stuff in other, better languages when possible! To me that’s a good indicator a language is slowly dying, maybe you use a different definition.
Pretty much any language running on the JVM will make it dead simple to import and use libraries written in Java - in fact one of the main reasons to choose the JVM is the huge amount of high quality libraries available. So while true that Java != JVM, it’s not as simple as that either.
I mean, I know tons of Scala and Clojure devs who don’t touch Java at all in their day to day work. I don’t think the user(s) above were referring to the implementation of the JVM.
Then something blows on their face and they are completely lost, because they don't know what powers their code or the boilerplate magic that they generate to pretend to be Java for the JVM.
I have seen a couple of those guys, where I get called to sort out their problems.
Java mindshare has been dying for a long time. That said, it's still taught in schools and all sorts of companies still use it (including "cool" ones like Google and Apple).
It is nothing about Java or even mindshare, it is all about money, shareholders, new companies, or even just have to reshape a wheel again. This type of subject is a pseudo-proposition. When many people are using Java, some guys need to create something new (may not really new) to gain the financial interest. Of course they have to pick up something bad about Java or whatever languages and then fill his new stuff in the marketplace, but actually nothing really new. C, C++, Java, Php, Ruby, Python and do on. When everyone is familiar with something or know something for long, the capital and money stop moving, which is bad for game players such as new companies in Silicon Valley and money makers from Wall Street.
I'd ask, what is sustaining java? Where are the replacement techies picking up the torch, where are youngsters seeing java?
I have some answers. It's not a lost cause. Death is not likely, & I do appreciate a lot of java (cdi rocks, microprofile is doing great, performance is good, it has excellent big data tools & many serious pieces of infra are built with it). But how java can retain liveliness, over time, & how the experience & knowledge base continues, is a real challenge. Being on Android helps a lot but also it's a radically different immensely unlike the server side world, with its own elaborate platform specific architectures & libraries. There's not a lot of places java has a hold on UI/ux centered systems, outside Android, so it risks becoming too invisible.
Funny you should ask that. If a high school kid takes Advanced Placement (AP) Computer Science in the US (including the kids here in my neighborhood in Silicon Valley), the only language taught is Java. Kids who want my help with their programming projects or classes here in the Valley, even the undergrad CS majors at Stanford, are always going to ask about one of three languages: Python, JavaScript, or Java.
In the shadow of the Apple spaceship, the iPhone is exactly as Apple intends: an appliance for you to communicate with friends and buy things from Apple, certainly not a computer for you to program. Nobody ever asks me about Swift. If you want to program a computer--sorry, "code"--it's always and only Python, JavaScript, or Java.
When SAP rewrites their stack to something else other than Java, Amazon or Alibaba stop contributing to Java, then I start worrying.
Microsoft decided that Java death is so imminent that they are now an OpenJDK contributor, collaborate with Red-Hat on VSCode Java support, have bought jClarity and Java has first class support on Azure.
I guess a Roman, asked circa 300 AD how he feels about the decline of the empire, would have replied similarly.
Java’s mindshare just isn’t where the exciting things in this field are happening. It’s more the domain of overengineered “big data” platforms and clunky enterprise software. Yes, SAP employs a ton of java developers I’m sure, but many devs would rather switch careers than work on anything resembling a crufty ERP.
Thus, the ecosystem stagnates, due to the dead see effect - everyone who could push it forward into new areas has no interest being anywhere near it. And stagnation is a long, drawn out death all the same. It still has a ton of momentum, and millions of outsourcing devs who only know Java, so it will be with us for a while - but make no mistake, the decline started quite a while ago.
Personally I find the Java engineering to be excellent & not overblown, & I appreciate so many of their patterns. Making Service Provider Interfaces for everything? Epic awesomely powerful. Maven? Shockingly regular & predictable & clear, although what a lot of the plugins do is wild. I really don't understand most people's grief & complaints about Java, they seem abstract & emotional, but I for one don't mind typing, & don't feel bogged down in JAva.
There's some good words in the grandparent about who uses Java, that I respect a lot & holds enormous truth.
I don't know anything about COBOL. But neither do any of my programmer friends. But COBOL is also far from dead, yet it might as well be to the rest of the programming world, I feel like. It has no mutual impact, it's too far removed from the regular happenings, & I'm not sure how or where dialog would open.
So yes, like, I think the Roman example is really good. Communication are getting cut off, people are stuck. Things might be good here, but the world is regressing to a pre-Romanized status, with little overland travel, unable to harvest the breadth & intelligence of the many great citizens, that Java used to be a contributing key part of.
I don't think Java is stagnant or dead, it's not so glum. Micro-profile is being wonderful. DropWizard is a very lovely quite popular scene still. But right now, Java's presence in the AP Computer Science curriculum is doing an enormous amount of heavy lifting for Java, and once that dam breaks- and it doesn't seem like there are many fitting replacements atm, with all the nice neoclassical columns & facades to make the language feel academic/computer-science-y- it's gonna be harder days for Java, & the weakness within, the being more cut off, is going to hurt.
On my domains only Java or .NET stand a chance to win RFPs, and if anything .NET is the one having troubles, because many are unsure what Microsoft actually wants to do with it, and slowly pissed with the multiple rewrites where there is always something left behind.
I only see RFPs for Java based technology going up.
Most of the world uses Java, including "happening" companies. Please be highly aware of HN bias. If one only reads HN, one can get a highly distorted view of the reality of software engineering.
Well UNIX (or Linux more importantly) is "losing" C, C++ and more recently Rust are slowly displacing it. It's still probably going to be the ABI everything is based on but the language itself is not a first choice for many and that number is increasing over time.
Is that what you were implying ? It doesn't sound like it from the rest of the comment because you seem to disagree that Java is losing mindshare on JVM.
.NET Core also doesn't run in all platforms where there is a Java implementation and not everyone is happy to rewrite their .NET Framework into Core, while Microsoft is in mix of leaving again stuff behind like the ongoing discussions about CoreRT, .NET Native, Project Reunion, MAUI vs Blazor vs WPF vs Forms show.
The problem with .NET is that Microsoft have a proven history of seeing the next shiny over the hill and dropping support for existing frameworks and libs while the "new and improved" framework is rolled out. See ! This way is better! Well, until the next better way comes up within a few years.
I know of teams who have moved to Java simply to avoid the churn. Many folks prefer the boring but stable Java ecosystem.
As well as this, I think it's also perceived to be a clunky old language. Our modern languages have much more ergonomic build systems, are much less verbose and have coding conventions tailored to modern tastes.
This is important, so I predict that over the next few years, as the 20-30 year olds of today gain more senior positions, they're going to choose python, JavaScript, kotlin, golang or rust for new projects.
Maybe I'd pick when apple removed the default install from mac os, or maybe I'd pick when browsers made it impossible to run applets, or maybe I'd pick when the major java IDEs started pushing other languages like kotlin or xtend, or maybe I'd pick the oracle acquisition (never a good thing), or maybe I'd pick the release of go - a language squarely targetting pretty much the only niche that java has left (enterprise development of servers by mixed ability teams), maybe I'd pick the point when java development felt like it became more like configuring metadata for frameworks than actually coding, or maybe I'd pick when google started showing kotlin as the default language for developing on Android rather than Java.
Here's google trends for java: https://trends.google.com/trends/explore?date=all&geo=US&q=j...
Java-the-language is not going away any time soon, but if you expect it to do anything except decline, I think the future will be disappointing.