Software | Programování | Bulvár a vtípky

13 nejšílenějších programovacích jazyků, ze kterých vám praskne hlava

  • Myslíte si, že umíte programovat?
  • Ale prosím vás, zkuste jazyk Wenyan nebo Malbolge
  • Z ezoterických jazyků zešílíte, nebo vás zaměstnají v Googlu

K nejpopulárnějším i nejpoužívanějším programovacím jazykům už dlouhé roky patří Javascript, Python, Java, PHP, C# a samozřejmě také klasika C/C++. Slyšel o nich naprosto každý, nehledě na to, zdali jej živí vývoj softwaru, anebo cokoliv jiného.

Vedle těchto ikon počítačového světa však máme k dispozici i hromadu bizarních jazyků, ve kterých asi rozumný člověk nic programovat nebude – natož aby v nich implementoval třeba tuzemské systémy pro EET, dálniční známky a správu sociálního zabezpečení.

Obecně se jim říká ezoterické programovací jazyky a vznikly z rozličných důvodů počínaje prostým smyslem pro humor a konče hledání teoretických i praktických hranic, jakým způsobem vyjádřit libovolný počítačový algoritmus.

Pojďme se na některé z nich podívat.

EmojiZvratky (vyrobila AI GPT-4)

Protože – jak praví heslo mnoha sci-fi novel – budoucnost je (díky AI) nyní, mohou za nás fiktivní jazyky vytvářet chatboti. Dal jsem proto modelu GPT-4 (ChatGPT Plus) povel, aby vytvořil ezoterický jazyk výhradně pomocí znaku emoji 🤮 a přiložil také enkodér a dekodér v Pythonu.

Image 009.png
Povel k vytvoření zákaldní logiky. Následoval také povel  pro tvorbu základního enkodéru a dekodéru – interpretu

AI nový jazyk pojmenovala EmojiPuke (EmojiZvratky) a jediné, co (zatím) umí, je kódování ASCII znaků do emoji zvratků a samozřejmě i pravý opak s výpisem přeloženého emoji zpět do terminálu.

Tento program v EmojiZvratky vypíše text „Mame radi Brno“:

🤮 🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮 🤮🤮🤮🤮🤮🤮 🤮 🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮 🤮🤮🤮🤮🤮🤮 🤮 🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮 🤮🤮🤮🤮🤮🤮 🤮 🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮 🤮🤮🤮🤮🤮🤮 🤮 🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮 🤮🤮🤮🤮🤮🤮 🤮 🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮 🤮🤮🤮🤮🤮🤮 🤮 🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮 🤮🤮🤮🤮🤮🤮 🤮 🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮 🤮🤮🤮🤮🤮🤮 🤮 🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮 🤮🤮🤮🤮🤮🤮 🤮 🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮 🤮🤮🤮🤮🤮🤮 🤮 🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮 🤮🤮🤮🤮🤮🤮 🤮 🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮 🤮🤮🤮🤮🤮🤮 🤮 🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮 🤮🤮🤮🤮🤮🤮 🤮 🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮 🤮🤮🤮🤮🤮🤮 🤮 🤮

Kód základního enkodéru (jen podpora začátku/konce programu a kódování textu) v Pythonu:

import sys

def encode_emojipuke_to_file():
    if len(sys.argv) < 3:
        print("Please provide a filename as the first argument and the text to encode as the second argument.")
        return

    filename = sys.argv[1]
    text = sys.argv[2]
    emojipuke_code = '🤮 '  # začátek programu

    for char in text:
        char_value = ord(char)  # ASCII hodnota znaku
        # přičteme k hodnotě paměti
        emojipuke_code += ('🤮' * char_value) + ' '
        # vypíšeme hodnotu paměti jako ASCII znak
        emojipuke_code += '🤮' * 6 + ' '
        # resetujeme hodnotu paměti na 0
        emojipuke_code += '🤮 '

    emojipuke_code += '🤮'  # konec programu

    with open(filename, 'w', encoding='utf-8') as file:
        file.write(emojipuke_code)
    print(f"EmojiPuke code saved to file '{filename}'.")

if __name__ == "__main__":
    encode_emojipuke_to_file()

Skript spustíte příkazem:

python enkoder.py soubor.ep "Text, ktery se ma zakodovat"

Enkodér zakóduje program do souboru soubor.ep.

Dekodér pro převod EmojiZvratků zpět na text a jeho vypsání do výstupu/terminálu:

import sys

def decode_emojipuke_from_file():
    if len(sys.argv) < 2:
        print("Please provide a filename as the first argument.")
        return

    filename = sys.argv[1]
    try:
        with open(filename, 'r', encoding='utf-8') as file:
            emojipuke_code = file.read()
    except FileNotFoundError:
        print(f"The file '{filename}' was not found.")
        return

    emojipuke_parts = emojipuke_code.split()
    text = ''

    if len(emojipuke_parts) < 3:
        raise ValueError('Invalid EmojiPuke code')

    if len(emojipuke_parts[0]) != 1 or len(emojipuke_parts[-1]) != 1:
        raise ValueError('Invalid EmojiPuke code: Missing header/footer')

    for i in range(2, len(emojipuke_parts) - 2, 3):
        if len(emojipuke_parts[i]) != 6:
            raise ValueError('Invalid EmojiPuke code: Missing print command')
        if len(emojipuke_parts[i+1]) != 1:
            raise ValueError('Invalid EmojiPuke code: Missing reset command')
        char_value = len(emojipuke_parts[i-1])
        text += chr(char_value)

    print(text)

if __name__ == "__main__":
    decode_emojipuke_from_file()

Skript spustíte příkazem:

python dekoder.py soubor.ep
15faea6d-a41c-47b3-be0b-0324ab9fce4b
Důkaz, že to opravdu funguje. Výpis programu a jeho přeložení pomocí dekodéru

V další kapitole se už ale podíváme na klasické ezoterické jazyky, které se na scéně objevily v posledních dvaceti letech, napsal je člověk a umějí toho mnohem více. 

Diskuze (41) Další článek: Voicebox od Mety vám dá do úst něco, co jste nikdy neřekli. Je to prý nejpokročilejší hlasová AI

Témata článku: , , , , , , , , , , , , , , , , , , , , , , , , ,