Re:Java Is Underhyped
by cle on Thursday April 15, 2021 @10:58PM
(#26828900)
Every significant Java codebase I've worked in has had incredible amounts of magic. Between AOP, DI frameworks, APT, reflection, proxies, SPI, Lombok compiler hacks, dynamic classloaders, etc., there is a LOT of magic flying around and it can be quite hard to understand what will happen at runtime.
[ Parent
| on HN ]
I’m not a backend java dev but whenever I take a look at java web projects which use spring/jsf/jsp etc frameworks, docs say to handle a request, write a method with that signature, we’ll call it when there is a http request. I always want to know enterence/exit points of a network message but that is impossible with these fancy frameworks. It is pure magic.
Don't forget XML DSLs. Or are we past that?
This is what drove me away from Java; the ungodly amount of magic that's required to make it economic. If it all works, it's fine. But as soon as something fails... Get yourself ready from some frustrating hours.
This. Java communities tried to solve redundant code problem by complex, hard to recognize way.
Still got PTSD from a Hinernate codebase that had all sorts of initialization magic afoot.
Who needs CPP macros when you've got reflection?
I’m talking about the language, not frameworks.
AOP sucks because it is paaaain to debug, proxies are magic. There is Dagger that solve some stuff
ALL Java developers should be required to watch this course (it's Free):
https://software-mastery.teachable.com/p/uncommon-sense
FYI: I am NOT an author of this course.