Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

`com.lol.myapp.factory.UserFactoryImpl.java` would like to have a word about its clear superiority


that's a culture issue that is changing rapidly to avoid that. Also that was common due to previous limitations in the language.

regarding the "com.lol.myapp", i actually think this is a good think for package management, it avoids naming issues with packages for different vendors and forks. On the code itself you should only see these on the import lines on top of the file, which isn't really a big deal.

I think most people issues with java come from old legacy codebases that had over the top patterns like that due to limitations in the language and culture. Nowadays, with a proper conventions guide, java can be quite clean. Sure it won't ever be as clean as something new as Kotlin, as it tries hard to maintain backwards compatibility, so old ugly stuff will remain in the language (even if you don't use it, you might see old code that does), and new stuff designs are restricted by what already exists, but it still has its advantages over new shiny things like kotlin for example: new pattern matching, compile time and compatibility (kotlin "100% compatibility" doesn't actually cover everything, and compatibility is important for Big Co with loads of teams and loads of internal and external dependencies and tools)


> that's a culture issue that is changing rapidly to avoid that.

Define rapidly. It's now been two decades since I was first told "yes, that's a culture thing, but everyone knows it's crazy, and it's on the way out".

E.g., this masterpiece from Benji Smith [0], originally on the old "Joel On Software" forum, is from 2005.

[0] https://gwern.net/doc/cs/2005-09-30-smith-whyihateframeworks...


I you really want to stick to terrible naming and overused architectural principles in 2023 that's your choice but that's hardly a Java issue.


I can’t believe you’ve posted this seriously.


:)


Never wrote one. Couldn't care less.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: