3 ms·
It used to be that people wrote Fortran in any language. Now they're rewriting Java in every language.
by MockObject 7y ago
It used to be that people wrote Fortran in any language. Now they're rewriting Java in every language.
- pjmlp 7y agoThe bad reputation that enterprise Java gets, comes from enterprise C and C++ codebases. https://en.wikipedia.org/wiki/Structured_systems_analysis_and_design_method https://en.wikipedia.org/wiki/Structured_systems_analysis_an... https://en.wikipedia.org/wiki/Booch_method https://en.wikipedia.org/wiki/Booch_method Any language that gets into enterprise architect hands, with projects spread around multiple development sites with several consulting agencies, gets their FactoryFactories and such.
- js8 7y agoNo, 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.
- Thaxll 7y agoSpring, Hibernate and other "enterprise" monsters came from Java alone. FactoryFactory123.
- pjmlp 7y agoHave you ever used CORBA and DCOM factories? Enterprise ORMs were created in Smalltalk, C++ and Objective-C, years before Java was created. Poet and Enterprise Object Framework were two well known ones. In fact J2EE was born of the ashes of a failed Objective-C project at Sun, Neo, after its collaboration with NeXT on OpenSTEP failed apart. https://en.m.wikipedia.org/wiki/Distributed_Objects_Everywhere https://en.m.wikipedia.org/wiki/Distributed_Objects_Everywhe... Things are not created in vacuum, it helps to actually know computing history.
- MockObject 7y agoTeaching the parable of Chesterton's Fence to every programmer would save billions annually. https://wiki.lesswrong.com/wiki/Chesterton%27s_Fence https://wiki.lesswrong.com/wiki/Chesterton%27s_Fence
- pjmlp 7y agoIndeed.