I agree with everything you said. Unfortunately the reality is it’s still incredibly unlikely to happen, for reasons that have nothing to do with technical merits
If anything, a whole new language should develop from Java under a different name with the changes you described, and leave this version to sink with the ship.
That would fix a whole lot of problems, also image based problem like “java is slow/stupid/dangerous”
with working html 5 based “applets” and everything
To answer the OP.
Why chose java :
Exceptions - Pretty much the main reason I chose java. That was back in the days when I wrote everything C. Oh the havenly goospumps of seeing the line number and stack traces.
Out of box threading - Having the whole internet available, we, together with the google, couldn’t figure out how to get threading into my lil C experiment or if there is any threading support at all. Paint me dumb, if You like.
API documentation - I cannot but until this day compare any language’s api pages to that of Java and shake my head.
It’s like learning to read and then finding the library. Knowledge overflow.
Why am I using it until this day
Tooling, documentation, libraries, experience. Also, I make money using it.
FWIW, he and Lars Bak (HotSpot & V8) are now working on Dart.
API documentation - I cannot but until this day compare any language’s api pages to that of Java and shake my head.
It’s like learning to read and then finding the library. Knowledge overflow.Why am I using it until this day
Tooling, documentation, libraries, experience. Also, I make money using it.
Completely agree about Javadoc. It really is a killer feature that has never been bettered. The fact that every Java API or 3rd party add-in, whether written by Gigantic Mega Corp or Tiny Shareware Man has documentation in exactly the same format is such a huge benefit that I absolutely hate having to use APIs from “other” languages that use abominations like doxygen or text files or…chm (shudder).
But yeah, the tooling has yet to be surpassed by any other langauge/IDE. The combination of Javadoc and tooling alone makes me an order of magnitude more productive slinging code in Java than any other language.
Why Java -
Start with why I fled Microsoft (was doing: VisualBasic, C++, SQLServer):
(1) Arbitrary design–if you don’t know how to do something simple, it can be very hard to figure out the needed “trick”. The “Help” documentation is poorly cross-referenced, so if you don’t ask the right question you might never find a path to the answer.
Part of this complaint is about my being self-taught and not well attached to any community. But that also goes to show how much stronger and supportive the Java communities are.
(2) Microsoft’s explicit strategy to extract $$ from its developers. You are continually being hit up for updates, languages, apps and IDE, and why deal with the goofy, unreliable forums when you can pay and get premium support, etc., etc. I read an article once that had the actual target amount Microsoft was aiming at to receive from its developer base annually, and it was well above what I was paying for a month’s rent at the time. Fine if you are working at this regularly and making a decent wage, but I’ve always wanted programming to be a side-job, and there are no discounts for part-timers using Microsoft tech. Java is free. Eclipse is free. Excellent forums and help. Excellent tutorial is free.
Maybe Microsoft has gotten better since I signed out mentally from it, about 5-6 years ago? (I still maintain a MS Access database contract.) I thought I was getting out of programming altogether, but Java brought me back in. I think it is a great language.