this post was submitted on 10 Sep 2025
467 points (97.9% liked)

Programmer Humor

26237 readers
2071 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 2 years ago
MODERATORS
 
top 50 comments
sorted by: hot top controversial new old
[–] BenLeMan@lemmy.world 4 points 3 hours ago* (last edited 3 hours ago)

God, that reminds me of the debate on XML that I had with a developer about fifteen years ago.

Both our companies were working for a client who needed to publish product catalogues in several languages twice a year.

They had implemented a sort of Content Management System which they used with a plugin to feed data into Quark Xpress files as well as their website, IIRC. Cross-media publishing, essentially, and they had their own little set of format instructions to make words appear in bold, different colors, etc.

Since my company was tasked with translating the text into various languages, I suggested they come up with a way to store their data as XML. The standard tools in the translation industry can be easily customized to work with that, and XML would be a good way to future-proof their software. After a lot of delaying, grumbling, and ho-hum, they agreed to implement this plan.

Lo and behold, when the first meeting on the new XML format came around they showed it to me for the first time and... everything was in CDATA sections. Entire paragraphs of text with proprietary formatting instructions. 😐

When I tried to explain, very politely, and very patiently, that this was not going to work, the lead dev started insulting me. I swear to God, I've never been this close to punching someone in the face at a business meeting. 🀬

Thankfully, the client understood the issue and we eventually got an XML-based data exchange going. It is probably still in use today.

[–] JackbyDev@programming.dev 17 points 7 hours ago

I am strongly strongly statically typed pilled and I will not apologize.

[–] Lemminary@lemmy.world 5 points 6 hours ago

[Laughs in computed TypeScript strings]

[–] NigelFrobisher@aussie.zone 2 points 6 hours ago (1 children)

There are two genders: string and null

[–] NateNate60@lemmy.world 3 points 4 hours ago

There are eight genders: null, undefined, false, NaN, 0, "0", {}, and "".

[–] baines@lemmy.cafe 6 points 9 hours ago

where my Ada bros not committing war crimes at?

[–] Cruel@programming.dev 52 points 15 hours ago (1 children)

I took great pains last week to convert a big python project to make it typed. (shoutout to MonkeyType)

It's so much nicer to develop now...

[–] jjjalljs@ttrpg.network 14 points 14 hours ago (1 children)

Oh that's a neat library. Type annotations in python are really nice, and you don't have to add tooling like when you switch from JS to TS.

[–] Cruel@programming.dev 6 points 12 hours ago

Yeah, I stopped developing in JS for good ~1.5 years ago. After using TS, it seems crazy to go back.

[–] kewjo@lemmy.world 4 points 9 hours ago

at the end of the day everything's a []u8 if you want it to be

[–] kubica@fedia.io 58 points 17 hours ago (3 children)

Empty string used to be like my own version of null pointer.

[–] baines@lemmy.cafe 8 points 9 hours ago

easy there satan

[–] marcos@lemmy.world 40 points 16 hours ago

Oh, you worked at Oracle by any chance?

[–] DScratch@sh.itjust.works 25 points 17 hours ago (9 children)

Dark times…

Like -1 for an Int nil value.

load more comments (9 replies)
[–] panda_abyss@lemmy.ca 40 points 17 hours ago (15 children)
[–] JackbyDev@programming.dev 2 points 7 hours ago (1 children)

They finally added strict tables which avoids most (all?) of those shenanigans.

[–] panda_abyss@lemmy.ca 1 points 7 hours ago (1 children)

I never really minded the shenanigans, after reading the docs once it all mostly made sense

[–] JackbyDev@programming.dev 1 points 6 hours ago

I don't really mind them either, it's just exciting that there is finally a way to make it actually act type safe.

[–] joyjoy@lemmy.zip 27 points 13 hours ago

Me: Puts a boolean into sqlite

Me: Asks for that boolean

SQLite: "Here's that int you asked for"

[–] asperan@programming.dev 20 points 16 hours ago (3 children)

It is also the bash approach, isn't it?!

[–] AllNewTypeFace@leminal.space 9 points 15 hours ago (2 children)

Also, Tcl (a cute little scripting language from the 90s, best known for giving the world the Tk UI toolkit; it was somewhat Lispy, only under the hood, worked like sh, where everything was a string).

[–] brian@programming.dev 7 points 10 hours ago

more directly, sqlite was originally for tcl which is why they share the semantics.

also I'd argue that sqlite is a bigger contribution than tk, but I suppose in a more roundabout way

Does GNU make count? It's crazy what you can do with the macro expressions, basically a Functional language using only string types. There's even a math "library" that will do arithmetic with numbers in strings.

load more comments (2 replies)
load more comments (12 replies)
[–] magic_lobster_party@fedia.io 27 points 17 hours ago (1 children)
[–] InternetPerson@lemmings.world 4 points 11 hours ago

We don't touch that unless we really know what we're doing.

[–] kiri@piefed.social 17 points 17 hours ago (1 children)
[–] Jerkface@lemmy.world 10 points 14 hours ago (1 children)

... Little Endian or Big Endian?

[–] squaresinger@lemmy.world 5 points 11 hours ago (2 children)
[–] JackbyDev@programming.dev 4 points 7 hours ago

I made a joke about that lately after someone suggested YYYY-DD-MM.

[–] baines@lemmy.cafe 1 points 9 hours ago (1 children)

how big is your word and how would this work

[–] squaresinger@lemmy.world 1 points 4 hours ago

You know, I was just joking, but turns out, Middle Endian really does exist!

https://en.wikipedia.org/wiki/Endianness#Middle-Endian

And it's just as crazy as one'd think. It's a 32bit value consisting of two 16bit little endian words jumbled together in big endian. So the byte order is B A D C.

Whenever I think "This is a really stupid idea, nobody would do that", turns out, someone actually did that.

[–] apfelwoiSchoppen@lemmy.world 13 points 17 hours ago (1 children)

The NHL banned the use of 00 as a number in the 95-96 season because they claimed their databases couldn't handle it. They still are fools because this continues to be a banned number to this day.

load more comments (1 replies)
[–] lime@feddit.nu 10 points 17 hours ago (3 children)

some of you have never programmed in tcl and it shows

[–] magic_lobster_party@fedia.io 20 points 16 hours ago (1 children)

I opened a TCL script once. It’s use of uplevel scared me. I’ve never dared to return since.

For those who don’t know: uplevel is a command that goes up one level of the stack frame, and then executes code there. A function can therefore execute code in its callers stack frame.

[–] lime@feddit.nu 12 points 14 hours ago* (last edited 14 hours ago)

tcl is pretty fun actually, it's like bash on steroids.

for a preview of the insanity: anything surrounded by "" is a string, with the variable expansion you'd expect. anything surrounded by {} is also a string, but with no expansion. the equivalent in bash is the backtick string. but you don't need to know that to write tcl. if you approach {} as "code blocks" like in other languages, it just works. reason being that tcl evals everything, constantly, attaching little tags to strings that tells the language how things are used, like "this string is an integer" or "this string is code and here is the result from last time it ran". it's madness and, weirdly, robust as hell. Xilinx writes all their tooling in tcl. SQLite started life as a tcl module, and it's still the only api that is not provided by a plugin.

load more comments (2 replies)
[–] kruhmaster@sh.itjust.works 9 points 17 hours ago (4 children)
load more comments (4 replies)
load more comments
view more: next β€Ί