4 ms·
> No, a lot of java critics complain about it being hard to tell what's calling what at the framework-to-user-code boundary That's rather an industry criticism
by The_Colonel 6y ago
> No, a lot of java critics complain about it being hard to tell what's calling what at the framework-to-user-code boundary
That's rather an industry criticism since these problems exist everywhere and are often direct consequence of trade off for looser coupling.
There are also often alternatives - e.g. Dagger for DI and MapStruct for mapping which go the code generation path which allow you to statically inspect the whole code path, you can also always trade the looser coupling for more directed paths e.g. for logging by avoiding the wrapper and using a logging library directly.
- valenterry 6y ago> That's rather an industry criticism since these problems exist everywhere and are often direct consequence of trade off for looser coupling. No they don't. Java is just not expressive enough, so library/framework authors have to decide between bloat or magic and they often choose magic for better or worse. There are languages that doing better in this regards.
- apta 6y ago> There are languages that doing better in this regards. Such as?
- valenterry 6y agoAs we are talking about Java, the closest language would be Scala. The language is much more flexible and powerful. This brings different problems onto the table, but it resolves the issue with awkward framework annotation/wiring problems that I have experienced in Java way to often.
- apta 6y agoWhat about languages not on the JVM platform?
- valenterry 6y agoYes there are also such languages which are not on the JVM platform!
- apta 6y agoI'm curious what they are in your view.