Seznamte se s mezerami: Nejpraktičtější programovací jazyk na světě?

Zveřejnění: Vaše podpora pomáhá udržovat provoz webu! Za některé služby, které na této stránce doporučujeme, dostáváme poplatek za doporučení.


Whitespace je ezoterický programovací jazyk vyvinutý Edwinem Bradym a Chrisem Morrisem na University of Durham v Anglii. V prostoru Whitespace mají význam pouze mezery, karty a řádkování, zatímco interpret ignoruje všechny ostatní znaky bez mezery..

Pokud to zní divně a neprakticky, ano, je to! Ve skutečnosti, že’je celý bod Whitespace.

Stručná historie

Brady a Morris dostali nápad vytvořit Whitespace během konverzace v hospodě na konci roku 2002. Protože většina programovacích jazyků ignoruje znaky whitespace, vývojáři považovali toto za nefér vůči těmto členům znakové sady a rozhodli se vytvořit Whitespace. Asi bychom si měli uvědomit, že většina programovacích jazyků není navržena v hospodách, takže je to jen další fakt, který dělá Whitespace jedinečným.

Whitespace byl propuštěn 1. dubna 2003, tak zpočátku to vypadalo jako příliš komplikovaný blázen dubna’s Vtip. Datum vydání 1. dubna však bylo čistě náhodné. Ve skutečnosti se datum vydání ukázalo docela šikovně, protože na Slashdotu při oficiálním vyhlášení přitahovalo velkou pozornost.

Funkce

Whitespace je imperativní programovací jazyk založený na zásobníku podporující celá čísla. Podpora pro čísla s pohyblivou řádovou čárkou není implementována. Ve své syntaxi mají význam pouze mezery, mezery, tabulátory a řádky, všechny ostatní znaky jsou ignorovány. V důsledku toho mohou být programy Whitespace obsaženy v mezerách znaků programu napsaných v jiném jazyce nebo v prostém textovém souboru.

Teoreticky by programátor mohl psát román kolem jejich Whitespace kódu – kód by stále fungoval, přesto většina lidí uvidí pouze román, ne základní Whitespace kód.

Jako esoterický programovací jazyk (esolang) je Whitespace vytvořen pro testování limitů návrhu počítačového programovacího jazyka a není určen k použití pro mainstreamové programování. Je to prostě důkaz konceptu s velmi omezenými praktickými aplikacemi’sotva se používá v reálném světě.

Nicméně, jako technický demonstrant navržený tak, aby dokázal, že byste skutečně mohli mít pracovní programovací jazyk založený spíše na mezerách než na charakterech, rozhodně to funguje. Whitespace bohužel nebyl’t navrženo pro nic víc než to. Jednalo se o propracované technické demo, nikoli o programovací jazyk určený pro praktické aplikace.

Syntax

Příkazy v Whitespace, stejně jako celý kód, jsou složeny ze sekvencí mezer, zarážek tabulátorů a řádků. Například tab-space-space-space provádí aritmetické sčítání prvních dvou prvků v zásobníku. Kód je zapsán ve formě parametru Instruction Modifier Parameter (IMP) následovaného operací. Whitespace má následující IMP: “prostor” – manipulace se zásobníky, “tab-space” – aritmetika, “tab-tab” – haldy přístup, “linefeed” – řízení toku, “tab-linefeed” – vstup výstup.

Data jsou reprezentována v binární podobě, s použitím mezer pro 0 a tabulátorů pro 1, následovaných řádkovým posuvem, například space-space-space-tab-tab-space-linefeed je binární číslo 000110, které je 6 v desítkové soustavě.

Následující příklad počítá od 1 do 5 a vytiskne čísla od 1 do 5, kde “S” představuje prostor, “T” – kartu a “L” – linefeed:

SSSTL LSSSTSSSSTTL SLS TLST SSSTSTSL TLSS SSSTL TSSS SLS SSSTTSL TSST LTSSTSSSTSTL LSSSTSSSTSTL SLL LLL

Výstup z výše uvedeného kódu je:

1 2 3 4 5

A co psaní Hello World v Whitespace? No, to by vyžadovalo, abyste kódovali téměř každé písmeno a vy’d skončí s asi 950 instancemi prostoru, tab a linefeed. To’Rozhodně to není příklad, který bychom mohli zahrnout do našeho úvodu do Whitespace, ale v případě, že ano’Zájem vás zajímá a máte příliš mnoho volného času na ruce, můžete to zkontrolovat zde.

Zdroje mezer

Ve výuce Whitespace se téměř nic neděje, ale pokud se vám koncept líbí a chtěli byste se o něm dozvědět více, nebo zkusit několik příkladů, podívejte se na následující zdroje:

  • Oficiální web Whitespace je offline, takže jedinou možností je vyzkoušet archivovaný obsah Wayback Machine s vysvětlením, návody a příklady programovacího jazyka Whitespace v akci.
  • Můžete zkusit několik příkladů pomocí kompilátoru Whitelips IDE Online Whitespace, který načte “Ahoj světe” příklad ve výchozím nastavení. Budete překvapeni, jak dlouhý je tento příklad, protože v Whitespace musíte definovat každý znak jeden po druhém pomocí kódů ASCII..

Závěr

Jako programovací jazyk je Whitespace stejně exotický, jak se dostává, dokonce i podle esoterických jazykových standardů.

Zatímco to’Není to programovací jazyk, který lidé ve skutečnosti používají pro všechno produktivní, to’je to chytré mentální cvičení a slouží jako důkaz, že můžete téměř cokoli změnit na kód, alespoň teoreticky.

Jakmile to zkusíte a zjistíte, jak to funguje, vy’víceméně se dělá s Whitespace, protože to opravdu můžete’Nepoužívejte pro nic vážného. No, alespoň ne, pokud nemáte spoustu času na zabití a nic lepšího na práci.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map