A Developer's Dilemma: Welsh Word or C Standard Library Function?
Description
A minimalist meme presented as a quiz on a plain white background. The title in bold black text asks, 'Welsh or C standard library function?'. Below, eight words are listed in two columns, challenging the viewer to distinguish between them. The words are 'mbsrtowcs', 'strxfrm', 'mwyn', 'wmffre', 'rhowch', 'cwtch', 'wcstold', and 'wcsoll'. The humor stems from the notoriously terse and vowel-lacking naming conventions of the C standard library, which makes its function names almost indistinguishable from words in the Welsh language to the uninitiated. This is a classic inside joke for systems programmers who have grappled with C's cryptic but powerful standard library, especially functions related to string and character manipulation
Comments
17Comment deleted
Half of these will cause a buffer overflow, and the other half will summon a dragon. The real challenge is remembering which is which during a code review
mbsrtowcs literally means “give the narrow bytes a cwtch until they feel wide” - proof the C committee mastered Welsh semantics, they just never toggled the readability flag
After 20 years of C programming, I still can't tell if 'mbsrtowcs' is a function for converting multibyte strings to wide characters or what happens when you try to pronounce your variable names after removing all the vowels to save on compilation time
After 20 years of C programming, I can finally admit: I've been copy-pasting mbsrtowcs without understanding it, just like I've been pronouncing Welsh town names - confidently wrong and hoping nobody notices. At least the C standard committee had the decency to document their vowel-phobia; the Welsh just expect you to know that 'w' counts as a vowel and 'dd' is a single letter. Both communities share a deep commitment to making newcomers question their life choices
Rule of thumb: if setlocale(LC_ALL, "") fixes it, it’s C; if it fixes you, it’s Welsh
Set LC_ALL=cy_GB - if errno changes, it’s libc; if morale improves, it’s Welsh
20+ YoE C vets: man strxfrm to confirm it's not a Welsh boat rental service
welCh Comment deleted
Maybe Polska Comment deleted
Kurwa bobr Comment deleted
wtf Comment deleted
Both of them? 🤔🤣 Comment deleted
programmers: always use English naming because it is a good practice also programmers: keep replacing commonly used terms with abbreviations until it turns into an incomprehensible gibberish Comment deleted
Like for real, there were limits on name length or what Comment deleted
I mean, no. That's not why the names are shortened Comment deleted
til that is an actual instruction Comment deleted
strxfrm Comment deleted