I remember before Java first emerged about 1996 or so… we already had some really amazing dynamic languages and IDEs. Common Lisp is a bit overwhelming at first, but once you learn it it really is amazing and a pleasure to use, With a little work you could make Lisp programs run really fast! Smalltalk was a clean and amazingly powerful language built throughly on object-oriented concepts. Apple Dylan was a pretty amazing language design. Python emerged in 1991. Several great IDEs for Common Lisp existed, including Macintosh Common Lisp and Harlequin Liquid Common Lisp (now Lispworks), not to mention Lisp Machines (which I never got to try…)
Computers were much much slower. For that and other historic reasons, the majority of programmers used C and C++ or older languages.
Compared to other options, the design of Java was reactionary from the start. As an object-oriented language, it omitted many interesting features of other object-oriented languages. My impression is that Java was an attempt to drag the C++ community into using object references (instead of pointers) and garbage collection. In order to do this they borrowed most of the C/C++ syntax and made Java comfortable for C and C++ developers. The design dumped many more advanced language features. A rigid type system, no traits or mixins, no closures, no type inference, no multiple dispatch, no interactive development or live coding. It did do some good things, but overall a real step back.
We spent the years 1995 - 2010 or so sliding back then slowly catching up to the best languages and IDEs and ideas available before. Focusing on “enterprise computing”. Fifteen years in the wilderness. What an enormous waste. Java fits in to this story.
I have not figured out why there was a huge step backward in technology and technical culture at that time. The same period corresponded with AI Winter and cultural retrenchment in many other areas of life.
Computers are much faster now and have much more storage. The technology of compiling dynamic languages has improved so they need not be that much slower than statically typed languages.
Open source software has given developers access to much richer and more diverse resources than ever before. It used to cost thousands of dollars per year for a license for a compiler or IDE.
The internet has made it possible for technical and intellectual communities to survive with smaller numbers, geographically spread out, and/or with little or diffuse financial resources. This has led to a flowering of new programming languages and paradigms, a revival of AI research, but also a revival, for example, of interest in real and simulated analog electronic musical instruments, a technology which I surely thought was dead in the 1990s.
So we are living in a very exciting time. (IMO and a very scary time politically, but that is another story…)