Proud imperative stoneager here ๐ฆ
Programmer Humor
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
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
Cavepeople together strong!
ocaml and haskell and erlang power like... a shitton of industry production code. If erlang software disappeared, internet dies for a bit until people replace all the broken routers.
More like mix and match your path lmao.
I've been shifting around, but never to the OOP boilerplater. I despise Java.

Uses neovim with gruvbox theme on arch
Damn, why are you calling me out personally? Though I use it to write python scripts and LaTeX, not rust...
history | grep -E '(sed|grep|awk|perl)' | wc -l
107
Dang. That's out of 1000. I need to up my game. Also three of those seds are part of something with a -basedir and don't count.
So yeah, about 10% of my commands are iterating shell pipe things for poops and giggles, I guess.
... and this got me going down the rabbit hole of writing a filter for my history to pull out the first command on the line. This is non-trivial because of potential preceding variable assignments. Most used commands are currently apt and man and ls. I think apt is a Spiders Georg situation because the system is fairly fresh and I keep finding things that I haven't installed yet. Also I went through a patch of trying to parse its output.
... oh, er... unga bunga.
$ history | grep -E '(sed|grep|awk|perl)' | wc -l
50
$ history | wc -l
500
Checks out perfectly.
The OOP boilerplater is the only one with a job.
Imperative stonager works there too. You've just never seen him because he hasen't accepted a meeting invite is 14 years.
You've just never seen him because he hasen't accepted a meeting invite is 14 years.
And counting!
I like the functional parts of Cโฏ, though.
This. I've been writing some game mods in it recently and LINQ is... pretty nice. switch expressions, too.
This is coming from a dude formerly from the "OOP Boilerplater" camp, though, so maybe I just have low standards.
LINQ is... pretty nice.
Seriously. Want monads? LINQ is monads!
"Wanna see me turn a dozen lines of imperative code into a single expression?"
"Wanna see me do it again?"
Just finished an assignment for uni: Memory safety in Rust: Mechanisms and limits - a comparison to C/C++.
Fuck.
Great overview of Rust's weaknesses and strengths:
Li et al. 2024 Rust for Linux: Understanding the Security Impact of Rust in the Linux Kernel
Rust introduces some pretty awesome concepts, but I see why it might be controversial to some. I (sadly) have no use case for it though.
Unga bunga
Found the esoteric programmer!
I feel like the author is a MacBook user.
Imperative stoneagers getting an old MacBook from somewhere and going "huh, I guess its UNIX" is probably true though
Vim is life. And use good variable names.
That's such a way to dismiss the theory and academia
I don't belong to any of the above. Am I even a programmer at this point?
I belong to all of them. Same question.
You've transcended programming
To being a coder?
I was triggered at every panel, it's unacceptable!
I hope no one got left unoffended
OOP boilerplater except for the Windows bit; trying to slowly move off proprietary software and choose open source when I can
Jetbrains though :(
Hear me out:
Mixing OOP and functional code to abstract the shit out of everything making 5k loc in around 500 loc in java. You can do magic using this trick.
Yes, you can make money and electricity magically disappear !
Functional programming in Java is kind of an afterthought and it shows. That's one of the reasons why Scala was created!
Oh, I guess I'm a stoneager with a penchant for functional elitism then.
Though I will admit OOP is valid for involved data modelling, everything else should be functional though.
I've also trained myself out of most short variable names for maintainability reasons
Outside of the for loop counters i and j, short variable names are awful. Coming back to old code written with abr var nams is like talking to someone in the military who just constantly throws out jargon and acronyms that they know you don't know.
But so are Java style ObserverFactoryManagerTemplateMachinistTemplater names.
There's a sweet middle ground of short, but actually descriptive name. Sometimes it's not possible but that's usually a code organization / language / framework smell.
Too short variable names is usually a sign that you need to use a proper ide, with auto complete, or that you need to use a proper build process that will minify your code after the fact.
Too long names are usually a sign that your module of code (function, class, namespace, etc) is too large, or that your language/framework naming conventions are too strict, or the language doesn't encapsulate scope properly.
The length of variable and function names should be proportional to the size of the code that can potentially call them. And preferably segmented in namespaces, explicit modules, or something like that.
Yeah, it's wild people "don't like OOP" 100%, it's like most good things, don't put it where it shouldn't be.
This meme is ass.
Got offended?
Nah. It's underlying assumptions are wrong.