this post was submitted on 10 Oct 2025
572 points (97.8% liked)

Programmer Humor

27412 readers
1639 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
[–] Semi_Hemi_Demigod@lemmy.world 72 points 1 month ago (3 children)

If you think German C is bad imagine Czech PHP.

Had to refactor an entire custom Magento plugin written in it.

[–] ChaoticNeutralCzech@feddit.org 54 points 1 month ago* (last edited 1 month ago) (1 children)

I found a random PHP file online and recreated your trauma:

<?phpcz
jmennýprostor Itb;


třída OvladačUživatele
{
    soukromá §větev;

    veřejná funkce akcePřihlašovacíhoFormuláře()
    {
        §poleParametrů = [
            'názevStránky' => 'Přihlašovací formulář',
        ];
        §vzor = 'domov.html.větev';

        §html = §toto->větev->vykresli(§vzor, §poleParametrů);
        vypiš §html;
    }


    veřejná funkce zpracujPřihlašovacíAkci(§uživatelskéJméno, §heslo)
    {
        když(§toto->platnéÚdajeSprávce(§uživatelskéJméno, §heslo)) {
            §_SEZENÍ['uživatelskéJméno'] = §uživatelskéJméno;
            §poleParametrů = [
                'názevStránky' => 'Vzorový formulář',
            ];
            §vzor = 'domov.html.větev';

            §html = §toto->větev->vykresli(§vzor, §poleParametrů);
            vypiš §html;
        } jinak {
            §poleParametrů = [
                'názevStránky' => 'Formulář chyby přihlašování',
            ];
            §vzor = 'chybaPřihlášení.html.větev';

            §html = §toto->větev->vykresli(§vzor, §poleParametrů);
            vypiš §html;
        }
    }

    soukromá funkce platnéÚdajeSprávce(§j, §h)
    {
        když('admin' == §j && 'admin' == §h){
            vrať pravda;
        }
        jinak když('staff' == §j && 'staff' == §h){
            vrať pravda;
        } jinak {
            vrať nepravda;
        }
    }

    veřejná funkce jePřihlášen()
    {
        když(jenastaveno(§_SEZENÍ['uživatelskéJméno'])){
            vrať pravda;
        } jinak {
            vrať nepravda;
        }
    }

    veřejná funkce uživatelskéJménoZSezení()
    {
        když(jenastaveno(§_SEZENÍ['uživatelskéJméno'])){
            vrať §_SEZENÍ['uživatelskéJméno'];
        } jinak {
            vrať '';
        }
    }

}

Is this what it looked like? (I also took the liberty of replacing $ with § because of the Czech keyboard layout; FYI: yes we do have a $ available as AltGr+ů but § is in the base layer; I would also replace the backtick/grève `, which is obtained by pressing AltGr+š once or twice (OS-dependent), with °).

Edit: BTW my first code was in the "Imagine" program, a Logo IDE with Czech localization (including syntax: do, vz, vp, vl, puntík, smaž, domů, příkaz, konec, piš etc.). The documentation was piss-poor, I never learnt if it had arrays or code comments. The textbook I had didn't even mention variables, I only learned about them in a short PDF guide I found online. Before that, I would use pixels on the canvas as variables.

Had my 10yo self received a Python runtime instead, I wouldn't be stimied by the "you don't need to pass arguments if every variable is global" mindset I'm still struggling to overcome. I found programming challenges online and was able to solve most theoretical ones, but Imagine was too limited to implement all but the basic practical ones, not to mention that it ran way slower than Python would. I was convinced that the lack of speed was mostly the hardware's fault and that I would need a low-level language like C++ to solve the 1000×1000 inputs in some puzzles. I got in touch with the challenge authors and they suggested Eclipse but I couldn't get it to work. I was too overwhelmed by the English interface and documentation and barely knew what a compiler was. I learnt decent English soon after but the fear of IDEs stayed, and eventually I turned towards electronics instead.

[–] Semi_Hemi_Demigod@lemmy.world 27 points 1 month ago (1 children)

Thanks now I’m having flashbacks

[–] ChaoticNeutralCzech@feddit.org 9 points 1 month ago (1 children)

Wow, I just learnt from your comment history that you likely don't even speak Czech. This must have been hell.

By the way, English not being my first language is one of the factors why I'm not a programmer, see the edit to the above comment.

[–] Semi_Hemi_Demigod@lemmy.world 8 points 1 month ago

Just needed a little bit of patience and a whole lotta Google Translate

[–] genfood@feddit.org 13 points 1 month ago

There is something like this? 😂

[–] waigl@lemmy.world 6 points 1 month ago

Well, in PHP you cannot #define new words from some new language to mean basic language keywords.

[–] argh_another_username@lemmy.ca 37 points 1 month ago (2 children)

I worked with one of the authors of the Brazilian SQL. It was exactly what it looks, every reserved word translated to Brazilian Portuguese.

[–] ByteJunk@lemmy.world 10 points 1 month ago (1 children)

Oh god. I still have nightmares about that time I had excel formulas in Portuguese, I refuse to think about SQL.

[–] eager_eagle@lemmy.world 6 points 1 month ago (2 children)

Don't forget the keyboard shortcuts. Office products would change shortcuts according to the language, so it would be more mnemonic. Ctrl-F for find and Ctrl-B for bold would be reassigned to whatever initials that language had. Fun! /s

[–] Hudell@lemmy.dbzer0.com 4 points 1 month ago

Not even the right initials. Most of the actions' names had the same few initials so they had to find synonyms to use the shortcut for. Search was Ctrl+L (from Locate). In other cases they just used whatever letter was next on the keyboard to the initial that was already in use.

load more comments (1 replies)
[–] fibojoly@sh.itjust.works 4 points 1 month ago (1 children)

Oh shit, I'd never get anything done, as I'd imagine my lovely friend's accent reading this shit out. Selecione * de tbl_minha-tabela onde nome não é nulo Hahaha! I love it!

load more comments (1 replies)
[–] some_random_nick@lemmy.world 28 points 1 month ago (2 children)

Grrman C might be fake, but German Excel isn't.

[–] fibojoly@sh.itjust.works 27 points 1 month ago (2 children)

Localised Excel formulas makes me so angry, it's hard to put it into words.

[–] Kolanaki@pawb.social 18 points 1 month ago (1 children)

it's hard to put it into words.

Just copy from Excel, then paste into Word. 🤷‍♂️

[–] Rooster326@programming.dev 6 points 1 month ago (1 children)

That's the problem. It's not called Word in other countries!

load more comments (1 replies)
[–] rucksack@feddit.org 7 points 1 month ago (2 children)

Commas as a decimal separator be like: Guten Tag

[–] luciferofastora@feddit.org 5 points 1 month ago* (last edited 1 month ago)

And the commas between function arguments in formulas become Semicola instead

load more comments (1 replies)
[–] Valmond@lemmy.world 8 points 1 month ago

I remember a bug where the PC at an electrical substation was in french, so 'if' had to be changed to 'si' in the excel sheet ...

[–] palordrolap@fedia.io 21 points 1 month ago (9 children)

Pretty sure druckef should be drucked. printf means print (to) file. "File" is valid German, but it is non-standard and "Datei" seems to be the preferred form.

I could also argue that that d should be capitalised, but I'm already overstepping my bounds considering I know very little German.

I wouldn't want to say which should take precedence between C's preference for all-lowercase keywords and functions and German's Rule to capitalise all Nouns.

[–] Kwdg@discuss.tchncs.de 26 points 1 month ago* (last edited 1 month ago)

I think druckef is correct, the f means format. fprintf would b ddruckef or DdruckeF

[–] e8d79@discuss.tchncs.de 25 points 1 month ago

Are you sure the f is supposed to mean file and not format, as in print a formatted string?

[–] Grtz78@feddit.org 5 points 1 month ago

Blödsinn. Richtig heißt das "druckefuck".

load more comments (6 replies)
[–] peoplebeproblems@midwest.social 18 points 1 month ago (4 children)

The concept of foreign languages in code confuses and frightens me

[–] lauha@lemmy.world 27 points 1 month ago

But all programming language already are in a foreign language to most people.

[–] Revan343@lemmy.ca 15 points 1 month ago (1 children)
load more comments (1 replies)
[–] Yaky@slrpnk.net 15 points 1 month ago

Why? Programming language isn't a natural language. In fact, I think not knowing English makes it easier, since you cannot attach any preconceived notions, assumptions, or word order to keywords. I learned some Pascal, Visual Basic and whatever GameMaker used at the time without being fluent in English.

load more comments (1 replies)
[–] kickeriekuh@discuss.tchncs.de 18 points 1 month ago (1 children)

Well, you can Code in a real German syntax: https://ddp.im/en/

[–] A_norny_mousse@feddit.org 13 points 1 month ago (2 children)

DDP has the following data types: Zahl (long), Kommazahl (double), Buchstabe (char), Text (string), Wahrheitswert (bool) und Listen (list)

Gottimhimmel, that would drive me crazy, and I'm German.

The code screenshot is pretty nice though. Actual grammar in there, full sentences that "Goethe would be proud of".

[–] elvith@feddit.org 3 points 1 month ago

The code screenshot is pretty nice though. Actual grammar in there, full sentences that "Goethe would be proud of".

The syntax and all these Wenn reminds me of Cucumber/Gherkin

load more comments (1 replies)
[–] dejected_warp_core@lemmy.world 16 points 1 month ago (2 children)

I'm all in favor of zuruck replacing return, because that just sounds cooler. Plus z doesn't get enough use in my programs these days.

[–] d_k_bo@feddit.org 5 points 1 month ago (8 children)

*zurück

Do C compilers support non-ascii characters?

load more comments (8 replies)
load more comments (1 replies)
[–] RavuAlHemio@lemmy.world 15 points 1 month ago* (last edited 1 month ago)

You are missing the Neuzeil at the end of the Schnur.

[–] TheMightyCat@ani.social 12 points 1 month ago* (last edited 1 month ago) (1 children)

Forget that the real evil is that the first character of Int or Ganz in this case is capitalized

[–] lugal@lemmy.dbzer0.com 14 points 1 month ago (1 children)

German has a word for it: Substantivgroßschreibung

load more comments (1 replies)
[–] A_norny_mousse@feddit.org 9 points 1 month ago* (last edited 1 month ago) (7 children)
#beinhalte

My German teacher: any usage of the verb 🦵-halten in your essay is a point off.

zurück 0;
load more comments (7 replies)
[–] eigenraum@discuss.tchncs.de 9 points 1 month ago (1 children)

Ich will das! 😍 Zurück 0;

load more comments (1 replies)
[–] dick_fineman@discuss.online 8 points 1 month ago (1 children)

I prefer to code by yelling at Chat GPT, copy-pasting to Grok, telling Grok Chat GPT said it couldn't write cleaner code, then going back and forth between the 2 with fake insults from the other until one declares a Jihad on the other. I think it's called "vibe coding".

[–] LustyArgonianMana@lemmy.world 5 points 1 month ago (3 children)

Yes, I want my code with a side of deforestation

load more comments (3 replies)
[–] 30p87@feddit.org 5 points 1 month ago (3 children)

Most fucked up thing here is

<type> <name>
{
[–] boonhet@sopuli.xyz 6 points 1 month ago

I must be old because I remember that as being the standard form until Java popularized

<visibility> <static?> <type> <name> {

I mean I'm not that old, but I was reading more C and C++ books and tutorials when I was a kid, because "ew Java"

load more comments (2 replies)
[–] paequ2@lemmy.today 4 points 1 month ago

has entered the chat

[–] vrighter@discuss.tchncs.de 4 points 1 month ago

you need to compile c with a c++ compiler to be able to define macros for keywords iirc. But I did do this once to translate c to my native language, Maltese. It was cursed

load more comments
view more: next ›