Az ezoterikus programozási nyelv olyan programozási nyelv , amely a programozási nyelv fejlesztésének korlátait hivatott feltárni, valamilyen ötlet lehetséges megvalósítását bizonyítani (ún. „ proof of concept ”, angol proof of concept ), szoftverművészeti alkotásként, ill . viccként (számítógépes humor ).
Sok ezoterikus nyelvet szórakozásból találtak ki, gyakran "valódit" parodizálnak, vagy "komoly" programozási koncepciók abszurd megtestesülései. Egyes ezoterikus nyelvek szándékosan korlátozottak (mint például a HQ9+ nyelv ), mások Turing-teljes , azaz általános célú nyelvek. Minden ezoterikus nyelvben rejlő közös tulajdonság, hogy a benne lévő program szövege csak a „beavatott” számára érthető, vagy egyáltalán nem érthető, mert a program összeállításához egy programot egy normál programozási nyelven kell megírni. . Míg az "igazi" programozási nyelvek fejlesztői igyekeznek a szintaxist a lehető legvilágosabbá tenni, a programozást pedig kényelmessé tenni, az ezoterikus nyelvek alkotói más célokat tűznek ki maguk elé.
A gyakorlatban az ilyen nyelvek általában haszontalanok, de néhányukon programozni jó gyakorlat. Az ezoterikus nyelvek gyakran szerepelnek a programozási versenyeken engedélyezett nyelvek listáján.
Az INTERCAL -szerű nyelvek közül, amelynek fő gondolata szándékosan a maximális különbség a meglévő nyelvektől, a FALSE nyelv ismert .
Egy nagy osztály a Brainfuck -szerű nyelvek, amelyek a szintaxis csökkentésére összpontosítanak (az eredeti Brainfuck 8 parancsot tartalmaz), miközben megtartja a Turing-teljességet ), mint például a CaneCode , Ook ! (orangután nyelv), COW (artiodactyl nyelv), Brainfork (többfeladatos Brainfuck), f*ckf*ck , DoubleFuck , szóköz , Spoon , LOLCODE , HQ9+ (nem teljes Turing).
A programok többdimenziós megjelenítését használó nyelvek külön osztályban tűnnek ki: kétdimenziós Byter , Befunge , Befunge-93 (kétdimenziós, nem Turing-teljes ), egydimenziós Unefunge , háromdimenziós Trefunge , négydimenziós 4DL és Piet színkódolás használatával .
Egy másik osztály a saját kódjuk másolásán alapuló nyelvekből áll - Smetana , Smith , Muriel .
A fekete doboz nyelveket , mint például a Malbolge és az Alpaca , úgy tervezték, hogy megnehezítsék a kódírást.
Számos nyelv valósítja meg az "irodalmi" szintaxist, mint például a Chef (receptek), Shakespeare ( Shakespeare -drámák), Haifu (haiku-versek ), ArnoldC ( Arnold Schwarzenegger kifejezései ), FiM++ (levelek Celestia hercegnőnek ).
A var'aq nyelv, amely a Star Trek sorozat klingon fajának logikáján alapul, a „nem emberi logikával” rendelkező nyelvek osztályába tartozik.
Néhány más ezoterikus céllal létrehozott nyelv a Cool , GOTO++ , Lithp , paranoid , Sartre , Simple , Always , smilescript , emoticon , iot , Lazy K , Beatnik , reMorse , YoptaScript [ 1] .
Néha az ezoterikus nyelvek olyan nyelveket is tartalmaznak, amelyeket matematikai fogalmak tesztelésére terveztek, mint például a Thue és az Unlambda .
Az egyéb célokra létrehozott, néha ezoterikusnak nevezett nyelvek közé tartozik a P′′ , QuakeC , MC++ , Autocode "Engineer" (alacsony szintű mnemonikus kód a " Minsk " számítógéphez).
Programozási nyelvek | |
---|---|
|