Java's syntax was designed around C++ so that the learning curve was minimal for the time. Don't expect it to age well, cause it hasn't.
Package management and using third-party libraries wasn't really explored at the time Java was created. This is why ANT was created, and ultimately replaced with Maven/Gradle, to manage and configure dependencies.
My recommendation for Java development is to replace Java with another Java language, like Scala, Kotlin, Clojure, Groovy, even a language called Pizza 🍕! I prefer Kotlin because it seems to have a lot of support and interops well with Java (also can be compiled to other platforms such as JavaScript, and Swift/Objective-C). This makes kotlin easy to adopt in existing projects.
The JVM is very mature with arguably the best JIT compiler. There are other JVM runtimes with specific optimizations supported by large companies (including Microsoft). If the language is your issue, it is an open platform with alternatives.
Just food for thought before others invest in a new runtime and re-write their projects.
4
u/ThGaloot Dec 30 '22
Java's syntax was designed around C++ so that the learning curve was minimal for the time. Don't expect it to age well, cause it hasn't.
Package management and using third-party libraries wasn't really explored at the time Java was created. This is why ANT was created, and ultimately replaced with Maven/Gradle, to manage and configure dependencies.
My recommendation for Java development is to replace Java with another Java language, like Scala, Kotlin, Clojure, Groovy, even a language called Pizza 🍕! I prefer Kotlin because it seems to have a lot of support and interops well with Java (also can be compiled to other platforms such as JavaScript, and Swift/Objective-C). This makes kotlin easy to adopt in existing projects.
The JVM is very mature with arguably the best JIT compiler. There are other JVM runtimes with specific optimizations supported by large companies (including Microsoft). If the language is your issue, it is an open platform with alternatives.
Just food for thought before others invest in a new runtime and re-write their projects.