4 ms·
No, Java has its own share of problems that it didn't inherit from anywhere. No custom value types, no operator overloading and the distaste for AOT compilation
by js8 7y ago
No, Java has its own share of problems that it didn't inherit from anywhere. No custom value types, no operator overloading and the distaste for AOT compilation, to name a few. Also culture of code generation instead of using some kind of macro system.
- pjmlp 7y agoCustom value types will arrive, that is the point of project Valhalla. C and Go also don't do operator overloading. Code generation was a thing in C and C++ during the 90's. Borland C++ 1.0 came with a macro library (BIDS), which was later replaced by a new template based version in Borland C++ 2.0. And the Go culture of //go:generate goes beyond anything that Java has had on its almost 30 years of existence. AOT compilation exists since the early 2000's. The only distaste is that most developers don't want to pay for their tools, so they rather used the free beer JDK from Sun instead third party vendors. So only big corporations got to buy the JDKs from IBM, Oracle, ExcelsiorJET, Aonix,.... However now AOT free beer exists on OpenJDK, OpenJ9, GraalVM and although not strictly Java, Android.
- bernawil 7y agoIt's like a museum of problems. Waves of solutions that became problems after. The culture of code generation before the culture of XML configuration.
- pjmlp 7y agoI love my XML, with comments and static type validation, making my graphical tooling and IDE based editing quite comfortable, while observing YAML and JSON formats catching up on XML features. They are there for a reason.
- arkh 7y agoThe joys of JSONPath. Its documentation. Its implementations. Its capabilities. I'm waiting for more fun with JSONSLT the day someone has the idea to make a first limited and poorly documented implementation.