logoalt Hacker News

dzongatoday at 3:07 PM4 repliesview on HN

it doesn't mean that usage of something being very high is a clever idea.

lots of people take meth - so are you gonna take meth too.

```@EnableConfigurationProperties(CasConfigurationProperties.class) @EnableScheduling @ConditionalOnFeatureEnabled(feature = CasFeatureModule.FeatureCatalog.SimpleMFA) @AutoConfiguration @Import({ CasSimpleMultifactorAuthenticationComponentSerializationConfiguration.class, CasSimpleMultifactorAuthenticationConfiguration.class, CasSimpleMultifactorAuthenticationEventExecutionPlanConfiguration.class, CasSimpleMultifactorAuthenticationMultifactorProviderBypassConfiguration.class, CasSimpleMultifactorAuthenticationRestConfiguration.class, CasSimpleMultifactorAuthenticationTicketCatalogConfiguration.class, CasSimpleMultifactorAuthenticationWebflowConfiguration.class }) public class CasSimpleMultifactorAuthenticationAutoConfiguration { }```

this is what we mean by "JavaCulture" - java | JVM really wonderful things but the culture is what sets these things back

someone can't just go in and understand things - they have to understand a bunch of notations too.

then if you work at a place and try do things differently the same people will tell you to revise your PR cz it ain't software engineering (or it won't scale)


Replies

mindcrimetoday at 3:31 PM

That's a ridiculously extreme example, IME. Having been working with Java for 25+ years, I've never seen anything like that in code written by a shop I worked at, FWIW. And as a corollary I'm about 100% certain that you could find some equivalent extreme case to use as an example to dunk on any language/platform.

this is what we mean by "JavaCulture" - java | JVM really wonderful things but the culture is what sets these things back

Maybe there are still some Java shops out there living like this. But to me, this is a 20 year old outdated notion. shrug

show 1 reply
theflyinghorsetoday at 5:01 PM

This is still relatively tame! I've seen stuff where there are layers of annotations some of which will spawn docker containers effectively bringing docker compose into java application as part of the set up. Some containers would need to come up, do a quick file change, then die and the the rest of configuration proceeded (this was for an automated test tool). Entirely stupid, could have been written with just couple classes of Java and a docker compose. But it is a culture. It is a culture that I think ultimately will destroy Java.

show 1 reply
_ZeD_today at 4:36 PM

dude, that is a configuration.

it is completely declarative and lives in the best place, near your code, not on some other inaccessible repository.

what have you preferred? a json file? a yaml one?

I had them, and I find the annotations are more readable than other solutions.