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

Programmer Humor

33823 readers
1943 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.

(page 2) 50 comments
sorted by: hot top controversial new old
[–] canaryWart@programming.dev 13 points 2 days ago (5 children)

HTML/TeX/etc are real programming languages that just happen to be declarative as opposed to imperative.

load more comments (5 replies)
[–] AeonFelis@lemmy.world 20 points 2 days ago (8 children)

Unit tests are overrated to the point of being harmful. They have their place, but that place is certainly not "the base of the testing pyramid". They are useful for a very specific type of "units" - and using them anywhere else just messes things up.

[–] porous_grey_matter@lemmy.ml 4 points 2 days ago

The point of unit tests isn't that the tests are important, it's that using them makes you write your code in testable units.

load more comments (7 replies)
[–] SethranKada@lemmy.ca 11 points 2 days ago (11 children)

Rust is the easiest programming language to learn.

Granted, I'm autistic, but still. I found it far more intuitive than JavaScript or Python.

Bonus: HTML and JavaScript are evil and I hate webpages that use it. Thats pretty much all of them, to be fair, but markdown websites do exist and I love them

[–] iusemybrain@sh.itjust.works 3 points 2 days ago* (last edited 1 day ago)

Rust and C are very similar so I'm not going to argue with that the primary difference is safe memory in rust, and more embedded hardware support in C, which depends entirely if you plan on building embedded systems.

On a fundamental, computer architecture/assembly/ALU level, I've never understood how python works asynchronously; how is it able to run code blocks in a non-sequential paradigm.

load more comments (10 replies)
[–] tyler@programming.dev 13 points 2 days ago (6 children)
load more comments (6 replies)
[–] ducktumn@lemmy.zip 93 points 3 days ago* (last edited 2 days ago) (41 children)
  • C++ is an awful language overall.

  • Linus is just some guy with good programming skills and not an authority over anything tech.

  • ~~There aren't any good text editors in the wild. VSCode is awful apart from extension support. Kate is close to being perfect but lack of extensions are pulling it back. Vim, Helix, Emacs, NeoVim are all flex toys.~~ nvm just tried zed with AI disabled

  • AI bad

[–] the_flying_pig@lemmy.world 59 points 3 days ago (1 children)

Upvoting because I disagree with every word of what you wrote.

load more comments (1 replies)
[–] im_fine_sandy@nord.pub 37 points 3 days ago (10 children)

Linus is just some guy with good programming skills

I somewhat agree. Most celebrated personalities in tech aren't programming geniuses - they were in the right area at the right time and had some luck. Zuckerberg is a good example.

I think kernel maintainers and rendering engines (browsers and others) have a higher base skill level. Like some web developers are clever and some are stupid, but I don't think there are stupid kernel maintainers.

The thing with Linus is that he's been involved, and at the pointy end, for decades. You or I may not agree with him on every issue, but you can acknowledge that he has experience and he has connections.

load more comments (10 replies)
load more comments (39 replies)
[–] WappleFF27@feddit.online 131 points 3 days ago (11 children)

Using LLMs are not the same as using intellisense or compilers and there are a myriad number of reasons not to use it that could fill an entire book and I will look down on any company or freelance developer that uses it.

Yes I'll fight Linus over this and yes I'll be right.

[–] razen@lemmy.world 5 points 2 days ago (1 children)

Fight me (Not literally) LLMs used to give garbage output but nowadays they are actually good and if given in the hands of right person, it can increase the productivity.

You might say productivity increases but salary dosent but that is a mangement issue and does not make LLMs bad.

[–] WappleFF27@feddit.online 2 points 1 day ago

Every issue I have with the tech has nothing to do with how "useful" it is.

I'd even argue it's only useful in the short term, and extremely harmful in the long term. Not just because of it's fascist origins, but because developing it further is accelerating climate change unnecessarily when we direly need to do the opposite. Climate change will rapidly undo any of the good LLMs manage to accomplish.

load more comments (10 replies)
[–] jason@discuss.online 29 points 2 days ago (5 children)

OOP dogma isn't just bad, it's actively harmful. OOP leads to unnecessary boilerplate. Any boilerplate that is not absolutely necessary is noise and bad. Full stop.

Private (Getters/setters): Strictly not a necessity in any sense of the word.

Short functions everywhere.

Short files everywhere.

I prefer to see the steps of execution that are actually happening in the real world on hardware. Not an ivory tower of code that happens to execute.

load more comments (5 replies)
[–] stingpie@lemmy.world 2 points 1 day ago* (last edited 1 day ago) (2 children)

This is gonna make me sound crazy, but always pass functions when possible, and use case statements for how the passed-in functions are applied.

As a simple example, imagine you want to take the average of a set of numbers. Instead of doing sum(numbers)/len(numbers), do:

Quotient_reduce(sum, lambda x,y: x+1, numbers)

then, inside the definition of quotient_reduce,

Def quotient_reduce(accumulate_by, normalize_by, list):

If accumulate_by==sum and normalize_by==(lambda x,y:x+1):

  return [some efficient implementation of average]

Else:

  Return reduce(accumulate_by, list)/reduce(normalize_by, list)

I know it must look insane, but it generalizes normalization, mean, geometric mean, etc, and on the outside there's no taste of the horrible concrete implementation!

Apologies about formatting, I'm on my phone.

load more comments (2 replies)
[–] kadotux@sopuli.xyz 79 points 3 days ago (21 children)
[–] SaharaMaleikuhm@feddit.org 50 points 3 days ago (1 children)

If a browser does not support unlock origin it is worthless. So Firefox wins by all opponents willfully exiting the race

load more comments (1 replies)
load more comments (20 replies)
[–] fargeol@lemmy.world 120 points 3 days ago (4 children)

Getters and setters are ridiculous

[–] gastroglizzy@piefed.social 68 points 3 days ago (3 children)

I don't like working with them any more than you do, but they're necessary to enforce read/write-level security. Without them, there'd be no differentiation between reading a variable and writing variable from an external class, which kinda defeats the point.

From a development standpoint, they're an extra hurdle to clear. From a security standpoint, they're a necessary evil.

load more comments (3 replies)
load more comments (3 replies)
[–] teolan@lemmy.world 46 points 3 days ago (1 children)
load more comments (1 replies)
[–] frisbird@lemmy.ml 78 points 3 days ago (23 children)

Tabs are better than spaces

load more comments (23 replies)
[–] WorldsDumbestMan@lemmy.today 7 points 2 days ago (2 children)

AI will actually kill the fuck out of us, even if it is just a stochlastic parrot.

[–] Bazoogle@lemmy.world 3 points 1 day ago (1 children)

AI will have to pick up the pace. Humans are the bigger problem right now.

load more comments (1 replies)
[–] zarkanian@sh.itjust.works 6 points 2 days ago

Not an unpopular opinion.

[–] abc@suppo.fi 35 points 3 days ago* (last edited 3 days ago) (9 children)

PHP sucks and every attempt at defending it is pathetic.

I get warm and fuzzy feelings that people here are not even talking about it. Perhaps I should follow that trend.

load more comments (9 replies)
load more comments
view more: ‹ prev next ›