You need marketing. Someone has to know your language exists, and is useful, and why it's useful. But to build a lasting language, you need a language that solves real problems better than other alternatives.
Java promised three things, and delivered two and a half. It promised - and delivered - an end to manual memory management. It promised and delivered a huge, thorough, useful library. And it promised and kind of half-delivered "write once, run anywhere". That worked well enough to be at least somewhat useful, and failed enough to be really annoying.
Marketing can get you in the door. To stay there, though, you need something that is actually useful.
I feel you are dodging my assertion. Java promised those, with a stupid large marketing budget that shoved it down the throats of anyone near computers at the time. VSCode probably has more money going into developer reach out than I can imagine. And I can imagine big numbers.
Am I claiming that intrinsic quality is fabricated? Not intentionally. I am claiming that it only goes so far.
There was no "stupid large marketing budget" in 1996, when the only thing available was the JDK, and we had to use emacs/vi/Ultraedit to write our Java programms and rely on makefiles to build the whole thing.
Yet our distributed computing department decided to move right away into Java from C to teach distributed systems, thanks RMI and a coherent toolchain across the platforms we had on the labs. Similarly by 1998 the compiler development classes had moved from C into Java, thanks tooling like SableCC.
By 2000, IBM that used to be a big Smalltalk vendor, and used Smalltalk as foundation for their Visual Age IDEs, moved into Java, and from Visual Age ashes Eclipse was born.
Borland added a Java IDE to their collection, while Symantec not only did the same, they also created their own Java implementation.
Ah, and then there was this fellow called Anders Hejlsberg that left Borland to Microsoft, and joined Visual J++ team.
That is real work, and people paying real money for products.
We didn't need someone shoving it down our throats to appreciate what it brought into the 1996 - 2000 computing landscape.
You are comparing the budget to push Java, the language, with every other editor. My assertion is there wasn't a journalist, college student, or product manager even closely related to computers that wasn't courted with regards to Java being the best language of all time.
You do hint at another angle I left out. Getting Microsoft to pour money into this landscape, in the form of Visual J++, was probably more key than makes sense. It is very much like real estate, in that regard. You want to spend where other people are spending, if you want the best return.
Depends how much you trust the marketing channel. I recall back in the day, if Penny Arcade promoted something, I probably liked it. (Note, this may still be the case.)
Similar, if a few of the trusted artists and such I have on Twitter recommend something, in willing to buy it near instantly.
Otherwise, the marketing budget is merely correlated with the product budget. And, to a large extent, big budget productions are predictable. In that you can usually easily predict if you will like it.
Are you talking about the API docs[0]? Or about some official tutorial page for Java the language [1]?
The Java tutorials are seriously out of date (they even mention explicitly that they were written for Java 8, and that they may refer features that are no longer available).
However the Javadoc is well maintained and quite useful, discoverable and thorough in my experience. Certainly one of the best native library docs that I've seen.
I got -2 points for stating the very noticeably obvious. That pretty much sums up just how rusty and old Java has become over the years.
So what is the way to learn Java in 2021? Buy 2 - 3 Paperback books?
These days even Perl has documentation on a site that belongs to 2021. These are some things that you need to do to make your language accessible to people wanting to start new projects.
As of now the only real way to read something about Java on the internet is adhoc answers on StackOverflow.
Java promised three things, and delivered two and a half. It promised - and delivered - an end to manual memory management. It promised and delivered a huge, thorough, useful library. And it promised and kind of half-delivered "write once, run anywhere". That worked well enough to be at least somewhat useful, and failed enough to be really annoying.
Marketing can get you in the door. To stay there, though, you need something that is actually useful.