You really have no idea what you're talking about. Killing Java would be a ridiculous thing to do. You live in such a bubble.
The whole community is full of de facto "standards" and half baked libraries which are usually results of someone's summer project.
The language in and of itself is alright (although massively outdated compared to more modern alternatives like C#), but the virtual machine and the nature of the ecosystem make me want to blow my brains out on daily basis. Don't even get me started on the recent security debacle.
I don't know a lot about these new *.js technologies but if they are right tools for the job, then yes, I wouldn't have anything against using them where appropriate.
Sometimes the JVM isn't the right tool; Java the language is often the wrong tool. But when you need to write large, high-performance, backend software, the JVM is pretty much the only rational choice. C/C++ is too expensive effort-wise, in development, in maintenance and in monitoring. Erlang is awesome, but it's too slow for some things. .Net is not robust on non-windows platforms (I'm not sure about this, but this is the common perception). Go is slower than Java, lacks the huge ecosystem, and also doesn't provide all the JVM goodies like runtime instrumentation and profiling, hot code swapping, good monitoring etc. Rust is too immature (and won't give you those benefits either). So, pretty often, the JVM is the only choice and you think it's time to kill it?
I'm kinda curious to get you started on the security debacle, actually.
Do you ship Java software that runs client-side? Spring is usually for server-side; if you're just on the server side, though, how has the security debacle affected you?
I generally agree about the ecosystem (yup, just gotta avoid most of it) and the core language (though the clunkyness is somewhat mitigated by IDE facilities for auto-generating code).
But I mostly spend my time on either client-side JavaScript or server-side Java, and it's the JavaScript side that drives me crazy -- in the JVM, things just work. I've hit runtime bugs maybe twice in 14 years working with Java on the server side, and one of those was on the AS/400 (!), and unless I'm doing something stupid, it's fast.
Modern VM design, vastly superior flagship language, pretty solid on the side languages* too, better platform support (Thanks Xamarin!), and best yet it's Free. Like really Free, not Oracle-style "Here's the source code so you can maybe hack on our implementation a bit but if you try doing anything we don't like we'll sue your ass" 'free'.
* Not really a great Lisp for the platform yet, but I prefer F# to Scala. Much cleaner syntax, 'feels' more functional.
I don't know why this is being downvoted. It's true that the JVM is one of the things in the Java ecosystem that is looked upon as a massive success.
Is there anyone here with experience developing for Mono on Linux and Mac? What's it like in reality?
Compared to most other open source platforms, OTOH, I don't think it feels like one's been relegated to a language underclass at all. Of course you don't get the benefit of working in the operating system's official first-class language like you do on Windows, but in fairness that's a privilege that you never get to enjoy when working in most languages - including Java, Python, Ruby, and so forth.
As far as why it's less popular outside of Windows, I'm inclined to think that's mostly down to social effects. Java's got the Linux enterprise development space so wrapped up right now that I suspect trying to pivot to Mono would be a bit like trying to push a glacier. Businesses aren't in the habit of rewriting millions of lines of code on a whim.
(And also, doesn't Mono just replace the hypothetical threat of a lawsuit from Oracle with the hypothetical threat of a lawsuit from Microsoft?)
I'd say their ham-handed approach to security and their contentment to sit with their thumbs up their arses, while vulnerabilities whose magnitude compare favorably with the US national debt are being exploited widely is more than enough reason to hate Java.
At least Microsoft has the good sense to issue OOB patches when something serious enough comes up!
The current state of Java means that running the browser plugin paints a huge bullseye on your back. It got bad enough that the freaking department of homeland security recently issued a warning to disable the plugin for your own good.
Do you have any idea how ubiquitous java is in the enterprise? Everywhere uses java.
Have you ever worked on anything that needs to be scalable, extensible and maintainable?
Scalability, maintainability, and extensibility are not unique to Java.
If you're talking about Java, you're talking about the browser plugin. It all executes on the same VM.
You can't simply declare it off limits given the massive and repeated security issues surrounding it, combined with its ubiquity (especially for countries not ending in "America" - Clientside java is very popular in European banks.)