Kotlin that leeches on Java infrastructure for its existence? And papa Google is yet to fully rewrite Android in Kotlin/Native?
C# is an alternative, provided there is an implementation for the desired OS platform. Meadow is the only presence in Embedded without the capabilities from PTC, Aicas and microEJ.
...
The part I find interesting is how Java is slowly becoming like COBOL all due to a combination of bad marketing and terrible messaging, and a flawed monetization scheme that was obviously rushed with little thought for the long term.
At this point it rather looks more like a "protection tax" than a flawed monetization scheme.
bonus : you don't have to learn a new language every decade.
Plus the winds are changing in security liability.
That lets one replace the dependency on Oracle, whose reputation is invariant, with Microsoft, who are known to be nice people who won't blow up your world to increase their profits.
Plus the legal team who liked contracts with Oracle can replace them with contracts with Microsoft. The developers who like Java are fairly likely to like C#, what with it being very nearly the same language.
[in case the subtext is somehow missed, I believe this will punt the problem down the road until Microsoft do something similarly expensive to you]
There are also some tooling features like code coverage, live testing or byte code rewriting tooling that require Visual Studio Enterprise licenses.
IKVM and J# were two ways of running Java code on .NET.
The famous Design Patterns book is for enterprise projects based on Smalltalk and C++.
CORBA and DCOM were a thing a few years before Java was invented.
And so forth.
Ruby projects are going to have a better testing coverage and culture in average than Python projects whereas in reality both languages could do the same.
Java overengineer culture is still present despite being non-existent in other languages like Go whereas in theory it could exist in both.
Nowadays you can do anything with any language, in practice the culture often goes in the way
Go culture has brought us YAML spaghetting and kubernetes madness at enterprise level.
Many of the features in modern Scala and Java don't exist in other languages.
it just makes a language impossible to learn and use effectively
need a reasonable amount of useful features
I would appreciate if you could name them but I would understand if you didn’t have them handy to name. It’s unreasonable to expect you to know them off the top of your head.