10 ms·
Used Java 15 years before switching to Scala. Never wrote a FactoryFactoryFactory. Not sure if I've ever written a FactoryFactory, maybe once for some obscure r
by kagakuninja 3y ago
Used Java 15 years before switching to Scala. Never wrote a FactoryFactoryFactory. Not sure if I've ever written a FactoryFactory, maybe once for some obscure reason.
As annoying as Java is, please don't mistake pattern over-engineering with the language. One could choose to do the same things in any OO language, like C# or C++. And as someone pointed out here, there are similar obscenities in the FP world, they are just obscured under higher-kinded types and algebras.
- computerdork 3y agoI agree. Yeah, as most people here know, C# is Microsoft's version of Java (they used to say if you know one, you pretty much know the other, although have diverged a more as time progressed). So to some degree, most of the problems of Java can be found in C#... ... although you alluded to one problem that Java has. Its frameworks were developed during the height of design patterns and many (like Spring) are bloated or overly complex or not worth the trouble (and actually, I think design patterns, when used very carefully and in truly useful situations, can be fantastic).
- vips7L 3y agoSpring is not Java. I haven’t worked on a Spring app in the last 10 years. There are other frameworks like Quarkus, Helidon, or Micronaut which all have a modern design.
- computerdork 3y agoAgreed. And actually, realized I screwed up what I was trying to communicate in my last comment. What I was trying to say is that Java and C# are at their core basically the same language, and no one is calling C# bloated and syntax heavy. Yeah, actually, I like Java (it gives application devs just the right amount of control) and think to save it, needs to purge itself of Spring.
- artyom 3y agoI don't disagree. Java as an object-oriented strongly-typed JVM-based language may be beautiful as theory. But in practice "FactoryFactoryFactory" (*) is commonplace across codebases, frameworks, libraries, etc. Java in the real world doesn't happen in vacuum. (*) I know it's an extreme example, just kind of trying to make a point succinctly