this post was submitted on 25 Oct 2026
371 points (95.1% liked)

Programmer Humor

33844 readers
1322 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 3 years ago
MODERATORS
 

Mine is that the useState hook is an actual plague on the entire React ecosystem. Regardless of your opinions of React, if you wanna use something then use it right.

you are viewing a single comment's thread
view the rest of the comments
[–] Valmond@lemmy.dbzer0.com 14 points 3 days ago (1 children)

Sometimes we have to use them, but Java and C# sucks hard as languages.

[–] MrScottyTay@sh.itjust.works 9 points 3 days ago (2 children)

I actually really like C#, it's my favourite. But don't know how much of that is Stockholm syndrome at this point haha. But whenever I'm writing in other languages i always end up missing something i do regularly in c#, especially from it's latest versions (which i also deeply miss when forced to work on legacy software that is still using shit like version 4 or 5 of C# (ASP.NET 4.8 / .NET standard) whereas I feel like C# really got good and fun to use from C# 8 onwards (I think this was .NET Core 3.0 or .NET 5 - we're on C#14 now with .NET 10, with 15 on the horizon).

[–] nightlily@leminal.space 2 points 3 days ago (1 children)

It’s a bit of a kitchen sink language now. I haven’t used it professionally in quite a while but using it for Godot (anything but gdscript) has me scratching my head over some of the architectural decisions. It seems to be led by „if people do a certain form often enough, add a shorthand to the language“, which is one way of cutting boilerplate, but does lead to something very hard-to-parse if you’re not familiar with it.

[–] Valmond@lemmy.dbzer0.com 2 points 3 days ago

Heey Godot for the win! And yeah no gdscript please!

C# is like a script language wanting to be a C++ contender (let's switch everything around to show how different we are, sigh).

They do have one thing right though, true & false aren't True or TRUE etc. But man all the new() whatever all the time 😓.

public int A {get; private set;} = 0;

Beautiful eh 😐

[–] Valmond@lemmy.dbzer0.com 2 points 3 days ago (1 children)
[–] ThirdConsul@lemmy.zip 4 points 3 days ago (2 children)

Not the oc, but honestly just random shit, like:

Linq.

Async and await are both in python or rust, but still via anexternal provider afaik (like Tokio).

Explicit interface implementation (default trait implementation for the Rust fans)?

Nice source generators and what you can fo with them (kinda like aspect programming).

Idk if python or js support pattern matching or proper low level or no GC coding.

I also enjoy my langauges to have an end of statement character like ; instead of the horrible visual mess python is.

Type safety of compile and runtime type checks lol. In C# if you say your module requires int parameter, noone will be able to call it passing None/null/string/date.

[–] marcos@lemmy.world 2 points 3 days ago (1 children)

Linq

AKA - We have Monads at home...

Rust is really missing something like do syntax. It's half-way there with the semicolon and question marks, but it's missing an idiom for .map_or_else and to generalize the thing to work with a trait.

[–] ThirdConsul@lemmy.zip 1 points 3 days ago* (last edited 3 days ago) (1 children)

AKA - We have Monads at home…

Thats not the linq purpose. Though it is technically a monad, its purpose is not hiding side effects or managing an async flow, or managing nulls/errors, but query, filter, map data from an enumerable.

If you use Linq as a replacement for Option, Either or Maybe you're doing something wrong.

[–] marcos@lemmy.world 1 points 2 days ago

If you use Linq as a replacement for Option, Either or Maybe you’re doing something wrong.

Yeah, exactly, it's a replacement for List.

[–] MrScottyTay@sh.itjust.works 1 points 3 days ago

Pretty much hit the nail on the head to be honest