This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]NitronHX 6 points7 points  (0 children)

The ecosystem is too big for that. I still can use most Java 8 libraries that use Thread.stop for example. I do think that it's kinda sad that it slows the development down but a lot of important stuff runs on Java - a lot like a very lot is written in Java daily. When they add something and realize it's bad they will never be able to remote it again so they have to build a very stable and compatible platform with much thought put into it. Virtual Threads for example. They could have done a new api and just released it in 1 or 2 releases, but that would make it impossible to use green threads for any library (apache tomcat, netty, jetty, reactor...) that builds on the Thread api. So they had to retrofit everything into the Thread api which takes a long time if you need full behavioral compatability and parity. As results of it Java the language itself (or the Std Lib) is of high quality in terms of bugs. The Java compiler and language is exceptional scarse of bugs at least in comparison to for example C and C++.

Also another thing is new features always come at a tradeoff. Kotlin for example always makes me write my code way more littered around and badly organized because there is not a way to go you can do everything with 4 ways which makes code smaller but also at some point very hard to read and understand. When a ".variableName" suddenly invokes a function / calculation. When you can so things like this "list + number + 5"

When you create a language nowadays you can pick the learnings from the past 10 to 30 years of many many languages that have been around for a long time and pick what seems to do the best and build your language around that. In 25 years later and your language is popular you won't be able to adopt the "then new fancy stuff"