Top 10 skutečně bizarní programovací jazyky
Jedná se o seznam nejvíce bizarních programovacích jazyků, které jste kdy viděli. Tyto typy jazyků se obvykle nazývají "Esoterické programovací jazyky". Ezoterický programovací jazyk (někdy zkrácený na esolang) je počítačový programovací jazyk, který je navržen buď jako test hranice návrhu programovacího jazyka, experimentovat s podivnými nápady nebo jednoduše jako vtip, spíše než z praktických důvodů. Obvykle není zamýšleno přijmout jazyk pro programování v reálném světě. Takové jazyky jsou často populární mezi hackery a fandy.
Použitelnost je zřídka vysoká priorita pro tyto jazyky; často naproti tomu. Obvyklým cílem je odstranit nebo nahradit konvenční jazykové znaky, zatímco si stále udržuje jazyk, který je Turing-úplný, nebo dokonce jeden, pro který není známá výpočetní třída.
Mnoho fascinujících a nepravděpodobných jazyků bylo vyvinuto a existuje malá, ale aktivní internetová komunita lidí, která vytváří, programuje a diskutuje.
Program "Hello World" je tradičně prvním programem, který se většina lidí učí v jazyce, který je pro ně nový. Jedná se o (obvykle) jednoduchý kus kódu, který na výstupním zařízení, obvykle na obrazovce počítače, vysílá slova "Hello, World!".
Nezapomeňte se podívat na všechny příklady kódů - ve většině případů jsou docela veselé.
10INTERCAL
INTERCAL vznikla v roce 1972, což zřejmě způsobuje, že se jedná o první ezoterický programovací jazyk. Donald R. Woods a James M. Lyon (na obrázku) vynalezli to s cílem vytvořit jazyk bez jakýchkoli podobností s některými existujícími programovacími jazyky.
Podle původního manuálu autorů: "Plné jméno překladače je" Jazyk kompilátoru bez akondiky ", což je ze zřejmých důvodů zkráceno" INTERCAL "."
Společné operace v jiných jazycích mají v INTERCALu tajuplnou a redundantní syntaxi. Referenční příručka INTERCAL obsahuje mnoho paradoxních, nesmyslných nebo jinak humorózních pokynů, jako jsou:
"Pozor! Za žádných okolností nezaměňujte oko s operátorem prokládání, s výjimkou záměnných okolností! "
INTERCAL má řadu dalších funkcí navržených tak, aby bylo pro programátora ještě více estetické a nekomplikované: používá příkazy jako "IGNORE" a "FORGET", stejně jako modifikátory jako "PLEASE". Toto poslední klíčové slovo obsahuje dva důvody odmítnutí programu kompilátorem: pokud se zpráva "PLEASE" neobjeví dostatečně často, program se považuje za nedostatečně zdvořilý a chybová zpráva tak zní; pokud je příliš často, program může být odmítnut jako nadměrně zdvořilý.
Hello World v INTERCALu, s ekvivalentním kódem v C pro porovnání
9 Bílé světloJak naznačuje název, Whitespace, navržený v roce 2002, Edwinem Bradym a Chrisem Morrisem, je esoterický programovací jazyk, který jako syntaxi používá pouze znaky bílé. Takže pouze mezery, záložky a linefeed mají význam. Když byla vydána 1. dubna 2003, většina lidí ji vzala jako vtip z dubenových bláznů, což nebylo.
Na rozdíl od většiny programovacích jazyků, které ignorují nebo přiřazují malý význam většině znaků bílé znaky, interpret Whitespace ignoruje libovolné znaky, které nejsou prázdné. Zajímavým důsledkem této vlastnosti je, že program Whitespace je snadno obsažen v znaky bílé znaky programu napsaného v jiném jazyce, takže text je polyglot.
Nahoru na obrázku je "Hello World" ve Whitespace.
Šéfkuchař
Šéfkuchař, který navrhl David Morgan-Mar v roce 2002, je esoterický programovací jazyk, ve kterém programy vypadají jako recepty na vaření. Proměnné bývají pojmenovány po základních potravinách, hromady se nazývají "mísící misky" nebo "nádoby na pečení" a pokyny pro manipulaci s nimi "mix", "míchat" atd. Složky v mísící misce nebo pekáči jsou objednány "Jako stoh palačinek".
Podle hlavní stránky šéfkuchaře jsou principy návrhu pro šéfkuchaře:
- Programové recepty by neměly generovat pouze platný výstup, ale být snadno připravené a chutné.
- Recepty se mohou obrátit na kuchaře s různými rozpočty.
- Recepty budou metrické, ale mohou používat tradiční způsoby vaření, jako jsou šálky a lžíce.
Hello World v kuchaři
7 VelatoVelato je jazyk, který používá MIDI soubory jako zdrojový kód. Programy ve Velato jsou definovány rozsahem a pořadím poznámek. Je určena k tomu, aby umožnila flexibilitu při sestavování, takže funkční programy nemusí nutně znít jako náhodné poznámky. Tam je tendence Velato programy mít jazz-jako harmonie.
Všechna prohlášení ve Velato začínají poznámkou "kořenového příkazu"; intervaly z této poznámky jsou přeloženy do příkazů a výrazů. Kořen příkazu lze mezi výpisy měnit, aby bylo možné více hudebních (nebo alespoň méně opakujících) postupů.
Samozřejmě, stejně jako všechny soubory MIDI, programy Velato mohou být také zastoupeny jako noty. Nahoru na snímku je notová hudba, kterou si můžete poslechnout zde.
6Shakespeare
Shakespearovský programovací jazyk (SPL) navrhli Jon Åslund a Karl Hasselström. Stejně jako Chef (položka č. 8), je navržen tak, aby se zdálo, že se programy zdají být něco jiného než programy; v tomto případě hraje Shakespearean.
První řádek v programu Shakespeare se nazývá "titul" a působí jako komentář. "Dramatis Personae" je část, kde jsou deklarovány proměnné. Každé jméno proměnné musí být jméno znaku z přehrávání Shakespeare.
Kousek kódu v Shakespeare je rozdělen do "zákonů", které obsahují "Scény", ve kterých se vzájemně propojují znaky (proměnné). Každý zákon a scéna je očíslována římskou číslicí a slouží jako označení GOTO. Jsou psány ve formě:
Akt I: Hamletova urážka a lichocení.
Scéna I: Urážka Romea.
Než "znaky" (proměnné) mohou "jednat" (na něž se bude jednat), musí být nejdříve "na jevišti". Chcete-li volat proměnnou do fáze, použije se příkaz "Enter". Chcete-li znakům opustit pódium, použijte příkaz "Konec". "Exeunt" zavolá více než jednu postavu, nebo v případě, že nejsou uvedeny žádné znaky, všechny znaky opustí scénu.
Dobrý den, svět v Shakespearovi
Omgrofl je jazyk vytvořený v roce 2006 Jurajem Borzou. Ve zcela kontrastu s předchozím záznamem, jeho klíčová slova připomínají internetový slang. Název pochází z kombinace slang "slov" pro Boha a rofl. Rofl je vlastně jedním z příkazů společnosti Omgrofl. Společnost Omgrofl nerozlišuje mezi malými a velkými písmeny lol je stejné jako LoL. Můžete jej použít k vytvoření "hezčího" kódu.
Proměnné v Omgroflu musí být formou slangového slova lol, jako lol, lool, loool, looool atd. Proměnná může být definována jako:
lol iz 4
WTF stav je podmíněné prohlášení (jako -li v C). Výkazy, dokud se nevyhovuje odpovídajícím příkazům, budou provedeny pouze, pokud je podmínka pravdivá.
Používání:
lol iz 1
wtf lol iz liek 1
rofl lol
lmao lol
brb
Možné podmínky jsou:
iz uber - zkontroluje, zda je jeden výraz větší než jiný výraz.
iz liek - zkontroluje, zda jsou dva výrazy stejné.
Ty mohou být upraveny:
nope - negace (jako ! v C) - musí být umístěn před liek nebo uber.
používání:
x iz nope u u y
lol iz nope liek 7
Jiné klíčová slova v Omgrofl zahrnují: rtfm, tldr, w00t, stfw, n00b, l33t, haxor, stfu (okamžitě opustí aplikaci).
Hello World v Omgroflu
4Piet
Piet je jazyk, jehož programy jsou bitmapová grafika, která vypadá jako abstraktní umění. Navrhl jej David Morgan-Mar, který také vytvořil Chef. Je pojmenován podle průkopníka geometrického abstraktního umění Piet Mondrian; původně zamýšlené jméno, Mondrian, bylo již přijato.
Existuje 20 barev, pro které je určeno chování: 18 "barevných" barev, které jsou uspořádány šestistupňovým odstínem a třemi stupni jasu; a černobílé, které nejsou objednané. Když opustíte "barevnou" barvu a zadáte jinou barvu, provedený postup je určen počtem kroků změny odstínu a jasu. Černé nelze zadat; když se ukazatel pokouší zadat černou oblast, místo toho se změní pravidla výběru dalšího bloku. Pokud jsou vyřešena všechna možná pravidla, program se ukončí. Bílá neprovádí operace, ale umožňuje, aby ukazatel "prošel".
Na snímku nahoře je program Piet, který produkuje "piet".
3 BefungeBefunge se liší od běžných jazyků, protože programy jsou uspořádány na dvourozměrné mřížce playfield. Pokyn "šipku" -, ^ a v - řídí tok řízení vlevo, vpravo, nahoru nebo dolů a smyčky jsou konstruovány odesláním řídícího toku do cyklu.
Befunge byl vynalezen v roce 1993, Chrisem Presseyem, s cílem co nejtěžšího sestavování. Tento pokus byl proveden s implementací kódu s vlastním modifikováním (instrukce "p" může psát nové instrukce do hracího pole) a multidimenzionální hrací pole (stejná instrukce může být provedena ve čtyřech různých směrech). Několik překladatelů však bylo následně napsáno.
Stejně jako brainfuck (viz položka č. 1), Befunge vytvořil mnoho potomků a vzdálených bratranců. Jsou volána rozšíření a varianty typu Befunge Fungeoids nebo prostě Funges.
Většina jednorozměrných programovacích jazyků vyžaduje nějaký syntaktický rozdíl mezi komentářovým textem a zdrojovým kódem. V programu Befunge neexistuje žádná syntaxe komentářů: k vložení dokumentace do kódu programátor prostě směruje řídící tok kolem oblasti "komentáře", takže text v této oblasti není nikdy proveden.
Dobrý den, svět v Befunge
2Malbolge
Zatímco Befunge je konstruován tak, že je obtížné kompilovat (přeložit do strojového kódu), Malbolge, který vytvořil Ben Olmstead v roce 1998 a pojmenoval po osmém kruhu pekla v Dante's Peklo, má být co nejtěžší, než je možné skutečně psát programy. Bylo to tak těžké pochopit, když přišlo, že trvalo dva roky, než se objevil první program Malbolge, a to ani nebylo napsáno člověkem, ale Lisp program pomocí vyhledávání paprsku prostoru všech možných programů.
Existuje nějaká diskuse o tom, zda lze v Malbolge provádět smysluplné smyčky - to trvalo mnoho let, než byla zavedena první nekončící. Správný program "99 Bottles of Beer" (s úplnými texty ke skladbě jako jeho výstup), který se zabývá netriviálními smyčkami a podmínkami, nebyl oznámen na osm let; první správný byl podle Hisashi Iizawa, v roce 2007. Je zobrazen výše.
Dobrý den, svět v Malbolge
1 BrainfuckBrainfuck je nejslavnější esoterický programovací jazyk a inspirovalo vytvoření řady dalších jazyků. Poznamenáno pro extrémní minimalismus, je navrženo pro výzvou a zábavu programátorů a není vhodné pro praktické použití. Aby se předešlo přestupku, jeho jméno je někdy dáno jako b **** fuck. Jméno jazyka se obecně neaktivuje kromě na začátku věty.
Urban Müller vytvořil brainfuck v roce 1993 s úmyslem navrhnout jazyk, který by mohl být implementován s nejmenším možným kompilátorem. Několik překladačů brainfaktu bylo vytvořeno méně než 200 bytů.
Jazyk se skládá pouze z osmi příkazů:> <+ -. , []. Program brainfrack je sekvence těchto příkazů, případně rozptýlená jinými znaky (které jsou ignorovány).
Jak název napovídá, programy brainfuck bývají obtížně pochopitelné. Je to proto, že každý mírně složitý úkol vyžaduje dlouhou posloupnost příkazů, což je jeden z důvodů, proč se nepoužívá pro seriózní programování. Nicméně, stejně jako jakýkoli Turingův úplný jazyk, brainfuck je teoreticky schopen vypočítat jakoukoliv počítačovou funkci, pokud má přístup k neomezenému množství paměti.
Ahoj svět v brainfuck
Tento seznam byl sestaven s pomocí Wikipedie Esolang a Wikipedie.