this post was submitted on 07 Dec 2023
958 points (100.0% liked)
196
16488 readers
1782 users here now
Be sure to follow the rule before you head out.
Rule: You must post before you leave.
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Why do people feel this way?
I'm genuinely curious as I'd think having a wider swathe of coding experience would be a good thing wouldn't it?
I don't work in fields that use coding expertise, I drive a forklift so I'm out of my wheel house when it comes to coding.
Not sure either. Best guesses are a combination of elitism, ignorance, preconceptions, groupthink, and insincere memeing.
NGL if I saw a job listing that said, "Don't have experience in a specific field," I wouldn't apply even if I didn't have experience in the field specified because my assumptions for why they'd say that basically are the reasons you said.
Or that they would want someone they could under pay for the position, but that's more specific for what the job is and what they don't want you to know beforehand.
Edit: Fixed wrong wording
Java used to lack many features to make the stuff you wanted it to do, so most Java programmers adapted design patterns to solve these problems.
Honestly, older versions of Java are utter garbage DX. The only reason it got so popular was because of aggressive enterprise marketing and it worked. How can a language lack such an essential feature as default parameters?
So, anyway after the great hype Java lost its marketshare, and developers were forced to learn another technologies. And of course, instead of looking for language-native way of solving problems, they just used same design patterns.
And thus MoveAdapterStrategyFactoryFactories were in places where simple lambda function would do the same thing, just not abstracted away three layers above. Obviously used once in the entire codebase.
Imo the only really good thing about Java was JVM, while it was not perfect, it actually delivered what it promised.
This is the only necessary comment in the entire thread, thanks for explaining
I think most of those design patterns originated from C++ (Gang of Four). Java was designed to be a simpler, opinionated C++, and inherited many of the nuances of OOP-style C++. I actually kinda like Java. I think its restrictiveness is nice for large projects, so everyone uses the same programming paradigm and style (no mixing of template, procedural, and OOP programming). Code execution is relatively quick (compared to things like the Python interpreter). Don't need to write header files or manually manage memory. Has fairly advanced features built in for multi-threading, concurrency, remote objects, etc.
I haven't programmed in Java in many years, but I've been programming in C# lately, and it just seems like Microsoft's version of Java.
Java in a large way has been eclipsed by most other languages, and developers kind of have a way of making fun of old technologies, like a lot of the same jokes are made about PHP which is still very popular but outdated. In reality Java is also still incredibly popular and knowing it is certainly a benefit. It's just a collective joke.
I wish people would make fun of Visual Basic more but nowadays it's like it never even existed. As somebody that started in VB I feel left out.
If it's a job that requires high-performance/low-level code (which seems to be the case from the other qualifications), this is probably their way of filtering out people who have primarily worked at a higher level where you don't need to worry about the nitty-gritty details
I can almost guarantee that job post was written by a recruiter who had some engineers in a call. The recruiter probably said something like "What about Java? I hear Java is important" to which the engineer(s) likely jokingly responded "Oh, no, please no. MINIMUM POSSIBLE JAVA. Yeesh. Ideally none." ... and the recruiter took that literally.
Object oriented programming encourages a number of anti-patterns