The two things that stunted Java from a creative-projects perspective were (a) nobody built a native (x86 / PowerPC / etc) compiler for it early on and (b) the UI class library was utter garbage.
(a) People got way too enamored with the runtime possibilities and didn't see the opportunity to replace C++ -- by the mid-90's the serious C++ footguns were certainly widely recognized -- with a better language.
(b) I still don't know why anyone at Sun thought AWT was acceptable. They literally bought a superior class library from another company and threw it away. And every attempt to fix it became this endless parade of crap grafted on top of AWT.
(a) I always thought that was unfortunate. Java would have been the perfect successor to C++ with its pleasant syntax and its powerful standard libraries. Perhaps it would have been a good option to disable the garbage collector to avoid performance bottlenecks and interruptions.
Or maybe the successor could have been D.
(b) Interesting, can you tell us more about what this UI library was that Sun bought?
My memory was that Lighthouse Design had a framework, but this reference says it was _both_ Netscape and Lighthouse Design. There's probably a better history somewhere, but this is the best I can currently find.
(a) People got way too enamored with the runtime possibilities and didn't see the opportunity to replace C++ -- by the mid-90's the serious C++ footguns were certainly widely recognized -- with a better language.
(b) I still don't know why anyone at Sun thought AWT was acceptable. They literally bought a superior class library from another company and threw it away. And every attempt to fix it became this endless parade of crap grafted on top of AWT.
(b) Interesting, can you tell us more about what this UI library was that Sun bought?
https://java.fandom.com/wiki/Swing