Wild statement. Java certainly was incredibly innovative upon release. It didn’t explode in popularity by accident.
Wild statement. Java certainly was incredibly innovative upon release. It didn’t explode in popularity by accident.
I get the feeling Java seems to have suffered from its early success, pioneering things like generics in GC languages, which competitors like C# were able to do better, but only because Microsoft decided to break compatibility between .NET 1 and .NET 2 or because there was no compatibility to break. After that, the language seems to have shyed away from innovation out of fear of breaking things for a long time.
In recent years, this has changed, but Java has a lot of language features to catch up on. Project Loom (green threading without coloured functions) is the first innovative thing I've seen Java do in recent history.
Here is a list of GC languages with generics that predated Java:
CLU, ML, Standard ML, Caml Light, OCaml, Miranda, Haskell, Sather, Eiffel, Modula-2+, Modula-3.
Core Java was staunchly against incorporating any functional features while the rest of the ecosystem was innovating