958
rule (lemmy.dbzer0.com)
submitted 9 months ago by Sivecano@lemmy.dbzer0.com to c/196
you are viewing a single comment's thread
view the rest of the comments
[-] SSUPII@sopuli.xyz 105 points 9 months ago

Java is poison for the mind

[-] Gormadt 33 points 9 months ago

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.

[-] gornius@lemmy.world 32 points 9 months ago

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.

[-] Franzia 9 points 9 months ago

This is the only necessary comment in the entire thread, thanks for explaining

[-] 31337@sh.itjust.works 8 points 9 months ago

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.

load more comments (7 replies)
load more comments (15 replies)
this post was submitted on 07 Dec 2023
958 points (100.0% liked)

196

16243 readers
1688 users here now

Be sure to follow the rule before you head out.

Rule: You must post before you leave.

^other^ ^rules^

founded 1 year ago
MODERATORS