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.
I like the functional parts of C♯, though.
I think I’m a little bit of everyone except him. I work as a web dev, love functional programming and/with TypeScript. 😅
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
I was triggered at every panel, it’s unacceptable!
I hope no one got left unoffended
The imperative stoneager feels like the most favored one, there are no real negatives listed there. All that’s listed are things they usually pride themselves on.
Yeah, that Mac offended me.
My imperative programming journey was a few months on a handed down P2 followed by 3 years of pen and paper.
history | grep -E '(sed|grep|awk|perl)' | wc -l107Dang. That’s out of 1000. I need to up my game. Also three of those
seds are part of something with a-basedirand 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
aptandmanandls. I thinkaptis 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 500Checks out perfectly.
I just use nushell’s builtins instead of wrangling with
IFSand bash idiosyncrasies. It’s been years since I’ve corrupted data by parsing text wrong.But even if someone doesn’t want that: apart from using it in legacy scripts,
grepis just a strictly less usefulripgrepthese days, no?
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?
“Writes code on paper to avoid side effects” - ROFL
Programming would be great, if it wasn’t for computers (and users, too, but those would stay away without the damn computers).
(Don’t get me wrong, I love computers, they’re great, as long as they stay turned off.)
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.
Outside of the for loop counters i and j, short variable names are awful.
I’ve started to prefer writing it out as ”index” or ”iteration” even in for loop counters. It’s easier to read, and not much harder to type.
Keeping things that can be on one line to one line is a good reason to use short variable names where it won’t be confusing. Writing “iteration” sounds absolutely perverse!
The thing is, everyone understands i and j. The reason calling variables hcv or iid is dumb is because noone knows what that means - quite a different situation.
Writing “iteration” sounds absolutely perverse!
I like it to make it clear when the for loop is about iterating lists and when it’s not. For example, the iterations in Monte Carlo algorithms doesn’t correspond to items in a list.
idxis the ideal name for an index, change my mindYh, y cn sv a lt f spc wtht ths unncssr vwls
I is a vowel too but you sure can!
Edit: also I noticed you dropped one ‘y’ but not the others. Is this an accident or some subtlety to do with y’s ‘semi-vowel’ status? To be discussed.
t’s prbbl t kp wrds rcgnzbl. Hw ls wld knw wht h s sppsd t b?
I had to leave most of first letters, and sometimes if all vowels are removed there’s nothing left
But yeah, we need a committee and come up with a standard for that
I think even idx is better than just i. I feel like just i can visually get lost
I typically do too, or
userIndexor something for nested loops, but I will accept i and j for the first two levels of nesting when reviewing a PR because they’re such a convention. I wouldn’t accept variable names like that anywhere else though and try and avoid them myself.
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.
If you’re really going down that route, you need to also remember that even the C programmed Linux Kernel is highly OOP
More like mix and match your path lmao.
OOP boilerplater except for the Windows bit; trying to slowly move off proprietary software and choose open source when I can
Same honestly, it’s a hustle to convince the Java EE dinosaurs of new paradigms. Never going back to Micro$lop though.
Functional streams are a good start
Unga bunga
Found the esoteric programmer!
Proud imperative stoneager here 🦍
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.
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.
I think the “controversy” is just tribalism. I’ve never once witnessed a case of any of the negative adjectives thrown at the Rust community. They’ve always taken exceedingly fair and good-faith approaches to discussing any critique of the language.
Their snark is reserved for the weird “anti-woke” crowd that hates Rust for some reason.
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…








