this post was submitted on 07 Dec 2023
9 points (100.0% liked)

196

18659 readers
280 users here now

Be sure to follow the rule before you head out.


Rule: You must post before you leave.



Other rules

Behavior rules:

Posting rules:

NSFW: NSFW content is permitted but it must be tagged and have content warnings. Anything that doesn't adhere to this will be removed. Content warnings should be added like: [penis], [explicit description of sex]. Non-sexualized breasts of any gender are not considered inappropriate and therefore do not need to be blurred/tagged.

If you have any questions, feel free to contact us on our matrix channel or email.

Other 196's:

founded 2 years ago
MODERATORS
 
all 28 comments
sorted by: hot top controversial new old
[–] SSUPII@sopuli.xyz 2 points 2 years ago (1 children)

Java is poison for the mind

[–] Gormadt@lemmy.blahaj.zone 2 points 2 years ago (3 children)

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 2 points 2 years ago (1 children)

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@lemmy.blahaj.zone 1 points 2 years ago

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

[–] PaperTowel@lemm.ee 1 points 2 years ago

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.

[–] Transtronaut@lemmy.blahaj.zone 1 points 2 years ago

Not sure either. Best guesses are a combination of elitism, ignorance, preconceptions, groupthink, and insincere memeing.

[–] LazaroFilm@lemmy.world 1 points 2 years ago

Do you have a link to this job posting? That’s exactly me. Not a joke.

[–] frobeniusnorm@lemmy.world 1 points 2 years ago* (last edited 2 years ago) (1 children)

Ruling Javascript and Python programmers out would be more sane imho. Java sucks, but at least its typed and doesn't implement weird semantics.

[–] Sunrosa@lemmy.world 1 points 2 years ago (1 children)

Did NOT expect to see Rust mentioned. Happy it's getting recognized.

[–] unexposedhazard@discuss.tchncs.de 1 points 2 years ago (1 children)

Isnt there Rust in the linux kernel now? Would be kinda crazy if it didnt get noticed by now...

[–] null@slrpnk.net 1 points 2 years ago (1 children)

Rust is the Celeste of programming languages.

[–] Agent641@lemmy.world 1 points 2 years ago (2 children)
[–] sysadmin420@lemmy.world 1 points 2 years ago

The only Celeste I know is a difficult video game where I always get stuck when playing

[–] null@slrpnk.net 1 points 2 years ago

Celeste is a critically acclaimed indie game. It became a meme to call it a "hidden gem" because for a while it was being brought up constantly on various forums as some underrated game, even though it was quite well-known and highly rated.

[–] troyunrau@lemmy.ca 1 points 2 years ago (3 children)

Maybe they want to avoid java coding patterns. FactoryFactoryGenerator kind of stuff. Maybe they want to teach their own java coding patterns and want someone coming in with a blank slate so they don't have to unlearn habits. Maybe they're tired of diploma mill programmers applying and are using this as a resume filter tripwire.

[–] ook_the_librarian@lemmy.world 1 points 2 years ago

It might be to see who is reading the posting and tailoring their reply. Kinda like a "no green M&Ms" rider.

[–] Zeth0s@lemmy.world 1 points 2 years ago* (last edited 2 years ago)

Definitely the first. I work in ML, and I find for instance people with background mainly in c# to be the least fit for my field, particularly if they have long experience. So I understand this kind of requests

[–] pennomi@lemmy.world 1 points 2 years ago* (last edited 2 years ago) (4 children)

Definitely. Horror story time.

We had an outside contractor bring us some code once that was thousands of lines of Python to do a very simple job. I was perplexed. I dove in to figure out what the problem was, and somehow I was looking at the most Java-esque Python code I could imagine. What’s worse is that he implemented his own “Java style” property getters and setters for all the Python classes, which obviously aren’t needed because you can simply access properties directly. In the end I took an 80 line snippet of his code (which actually did the work we needed), swapped out all the getters and setters, and deleted all the rest.

[–] BaskinRobbins@sh.itjust.works 1 points 2 years ago (1 children)

You can always tell when someone's been a career contractor because they never adhere to any of the established patterns/styles in the codebase.

[–] gribodyr@lemmy.ml 1 points 2 years ago

I disagree. Good career contractors should learn to write in the code style of the project. And the real pros do.

[–] jasondj@ttrpg.network 1 points 2 years ago

Did you pay by the SLOC?

[–] troyunrau@lemmy.ca 1 points 2 years ago

That's not to say that python coding habits are the best either -- certainly they're terrible when translating outside of python (most of the time). And even within python, someone who is used to with only the base modules will write it differently than writing PyQt and still completely different than someone doing numpy code... because the styles of coding of the underlying system change your coding mode. Like, my variables are all CamelCase when doing user interfaces with Qt because it makes sense there, stylistically.

This is pretty common with outside contractors.

We just come in, say we'll pay them x dollars and they give us code that passes the test. But that code will not at all align with any prior patterns.

I absolutely know I'm guilty of it when I do freelancing. Sorry.

[–] NickwithaC@lemmy.world 1 points 2 years ago (1 children)

ability to bring up hardware

In conversation?

[–] jaybone@lemmy.world 1 points 2 years ago

You need to raise it suckling at your teet until you send it off to college.

[–] Agent641@lemmy.world 1 points 2 years ago (1 children)

Real-time operating system implies the existence of a turn-based operating system.

[–] Rossel@sh.itjust.works 1 points 2 years ago

Well, that's... not wrong. The time-sharing OSes take turns assigning resources too tasks.