
imo, Java get’s a lot of bad rap because of the coding culture around it rather than the language. It’s certainly verbose; but it really doesn’t help that it has a /ton/ of EE dogma.

EE Dogma?

electrical enginnering?

I don’t know though what its dogma is

That’s my best guess, but I can’t really see how that fits with Java :confused:

Java Enterprise Edition?

I think it’s all of the rote patterns and builder builders that some folks dislike about ee

You mean you don’t want every class to be a SomethingBeanFactoryFactory? :stuck_out_tongue: (I should add, there are times when such a wacky sounding design can make sense)

that makes much more sense

No one wants to write glue code

DuplicateSingletonInstanceFactory

The one that always gets me is when people dogmatically centre everything around the design patterns from the ‘Gang of Four’ book as if they’re infallible commandments passed down from God…

Well, to be fair, if a programmer believes something like this, it may be much better for them to actually follow strict guidelines

(for them and for the company they work for)

That’s why java is such a huge success in big companies. It allows large teams of average programmers to work well together

Ah sorry, it’s my catch-all term for the Spring/Java EE etc… which is in the Java space.

Ah, so you were bang-on correct, @laurent.orseau :slightly_smiling_face:

The reflection, builder, essentially /everything/ marketed as a single bullet for software design in Java.

I’m always reminded of the Prachett quote, which is on a different subject

It had been finding out that governments were not, on the whole, staffed by people who had a grip, and that plans were what people make instead of thinking.

But substitute plans -> dogma and it’s sometimes the culture you get in some big enterprise Java shops.

I definitely have the impression (rightly or wrongly) that when people complain about OOP, they usually have the Java EE sort of thing in mind. Along with incredibly massive, potentially incomprehensible, inheritance chains.
Of course, the ‘funny’ thing is that methods on objects really are equivalent (in most respects) to static functions which take the object in question as a parameter - if I’m not mistaken, that’s precisely how Rust and Go both define methods.

It’s interesting because even in Haskell you have a similar pattern (typeclasses just to get the compiler to resolve the same symbol to 2 different functions depending on… the first parameter)


For reference

@vincent.sampieri5 has joined the channel