Re:JVM/Java: Null-Restricted and Nullable Types
by pjmlp on Friday August 02, 2024 @07:49AM
(#41138056)
Java has done many nice things, but "pioneering things like generics in GC languages," wasn't one of them.
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.
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.