Java was released by Sun Microsystems, a Unix vendor with their own hardware architecture. The big feature was "write once, run anywhere." Write the program once and it would run on Windows/Intel as well as Solaris/SPARC.
The Java language wasn't horrible and WORA was a big advantage in the days when there were half a dozen Unix vendors plus Mac and Windows and Novell Netware etc. So it was becoming popular, and every app the developer decided to write in Java was one that wasn't tied to the Win32 API and therefore Windows.
It's also possible to compile other languages to Java bytecode as along as they didn't use OS-specific APIs -- and Java provided platform-independent ones. So there was a real risk that everything would end up running on a platform-independent JVM. Which Microsoft successfully prevented from happening for long enough for Sun to run out of money and get consumed by Oracle.
It is hard to remember, or for younger developers to believe, but there was a time in the mid 90s when:
1. Most programing languages sucked
2. Java was fresh and new
Java had a lot going for it. It was free, with a functioning IDE that had a working graphical debugger! MS had just about finished killing Delphi (which also cost $$) and over in *nix land the GUI libraries were fighting amongst themselves and Linux wasn't something even an average developer was going to install.
So you had Perl, raw C, the horrors that were DSLs and frameworks written in the c++ of the time, then Java came along.
Applets failed, sure. And back then everyone wanted their GUIs to look like the platform native UI (how times have changed!) but Swing was super easy to write UIs in.
I'd wager the majority of programmers, outside of ex-LISP folks, didn't know what closures were, and functions as first class objects wasn't on anyone's mind.
So all of Java's shortcomings didn't seem like a big deal. It "compiled" fast, had actual packages you could distribute and import easily, and the compiler errors made sense.
So yeah Java was a fresh breath when it came out.
Then c# came out a bit later and was basically better in a million small ways from day 1, except it wasn't open source so a community never built up around it in the same way.
Now days we are spoiled for languages to choose from.
Java was released by Sun Microsystems, a Unix vendor with their own hardware architecture. The big feature was "write once, run anywhere." Write the program once and it would run on Windows/Intel as well as Solaris/SPARC.
The Java language wasn't horrible and WORA was a big advantage in the days when there were half a dozen Unix vendors plus Mac and Windows and Novell Netware etc. So it was becoming popular, and every app the developer decided to write in Java was one that wasn't tied to the Win32 API and therefore Windows.
It's also possible to compile other languages to Java bytecode as along as they didn't use OS-specific APIs -- and Java provided platform-independent ones. So there was a real risk that everything would end up running on a platform-independent JVM. Which Microsoft successfully prevented from happening for long enough for Sun to run out of money and get consumed by Oracle.