If you think German C is bad imagine Czech PHP.
Had to refactor an entire custom Magento plugin written in it.
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 aavailable as
AltGr
+ů
but§
is in the base layer; I would also replace the backtick/grève `, which is obtained by pressingAltGr
+š
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.
Thanks now I’m having flashbacks
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.
Just needed a little bit of patience and a whole lotta Google Translate
There is something like this? 😂
Well, in PHP you cannot #define new words from some new language to mean basic language keywords.
Grrman C might be fake, but German Excel isn’t.
Localised Excel formulas makes me so angry, it’s hard to put it into words.
Commas as a decimal separator be like: Guten Tag
And the commas between function arguments in formulas become Semicola instead
Bonjour!
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 …
I worked with one of the authors of the Brazilian SQL. It was exactly what it looks, every reserved word translated to Brazilian Portuguese.
Oh god. I still have nightmares about that time I had excel formulas in Portuguese, I refuse to think about SQL.
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
Man I’m glad Dutch keyboards are just US international. So all the shortcuts are just the same as the English version. So I never had to unlearn localized shortcuts.
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.
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!That reminds me, I had to modify a program written in VB once. The guy who created it wrote every table, every column, every view in Portuguese, WITH ACCENTS! It works, we simply have to put everything between brackets, but it doesn’t add anything to clarity. It looks awful and seems pedantic.
Pretty sure
druckef
should bedrucked
.printf
meansprint
(to)f
ile. “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.
Blödsinn. Richtig heißt das “druckefuck”.
Du hast vollkommen Recht :)
Nee, de f in printf staat voor format, niet voor file.
I’m all in favor of
zuruck
replacingreturn
, because that just sounds cooler. Plusz
doesn’t get enough use in my programs these days.*
zurück
Do C compilers support non-ascii characters?
Do as most non-DACH countries do: Just use the regular letter instead of the Umlaut.
Example:
Über-Mensch -> Uber-MenschJust use the regular letter instead of the Umlaut
But that’s just wrong.
ü
has a different meaning and pronunciation thanu
.If umlauts aren’t available, the correct way to write umlauts is with an additional
e
:zurueck
.Über-Mensch -> Uber-Mensch
Please be aware that this term can be problematic, since it can be seen as a foundation for fascist ideas. https://en.wikipedia.org/wiki/Übermensch#Use_by_the_Nazis
Didnt have a better and fitting example
If you replace the ü in “Das Wetter ist schwül” (“the weather is humid”) with a u though, you get “the weather is gay”.
Never said it’s a good substitute 🤷
I often use z as a temp variable when i need something to compare to when creating new code but don’t want a separate window to the side or to experiment with something but don’t yet know what the result can or will be. I use z purely just because i know z is very very unlikely to have been used elsewhere, and if for some reason it has, then i just name it ‘zz’.
This is actually temporary by the way. It does not stay in my code. Once I’m done with it, i delete it.
You are missing the Neuzeil at the end of the Schnur.
#beinhalte
My German teacher: any usage of the verb 🦵-halten in your essay is a point off.
zurück 0;
Most fucked up thing here is
<type> <name> {