Ezoterikus programozási nyelvAz ezoterikus programozási nyelv olyan programnyelv, amelyet készítője nem mindennapi, gyakorlati programozási feladatok elvégzésére szán, hanem elkészítésével a programnyelvek tervezésével járó korlátokat feszegeti, művészeti célokat elégít ki, vagy akár viccel. Habár ezek a nyelvek általában nem alkalmasak gyakorlati szoftverfejlfesztési célokra, előfordulhatnak bennük olyan ötletek, amelyekből később az általános programnyelvek merítenek. Az ilyen nyelveknek általában nem célja a használhatóság, gyakran épp az ellenkezője a cél, de mindemellett készítőik igyekeznek elérni, hogy a nyelv Turing-teljes legyen. TörténetAz egyik első ezoterikus nyelv az INTERCAL volt, amelyet 1972-ben készített Don Woods és James M. Lyon. Kimondott céljuk volt a megszokott módszerekkel való szakítás, a nyelvben parodizálták az akkoriban elterjedt Fortran, COBOL és assembly nyelveket. A nyelv sokáig csak papíron létezett. 1990-ben elkészült C alapú implementációja nagy érdeklődést keltett az ezoterikus programozási nyelvek iránt. 1993-ban Wouter van Oortmerssen elkészítette a FALSE-t, egy kisméretű, verem alapú programozási nyelvet, amelynek szintaktikájára kimondottan jellemző volt az olvashatatlanság. Mindössze 1 kilobyte méretű fordítóval rendelkezett. Ez inspirálta Urban Müllert, hogy elkészítsen egy még kisebb méretű programnyelvet. Ez lett a széles körben ismert brainfuck, amely mindössze nyolc karaktert használ. A brainfuck, és a Chris Pressey által készített Befunge manapság a legnagyobb támogatottsággal rendelkező ezoterikus programozási nyelvek. FogalmakTuring-csapda (Turing tarpit)Az ilyen program eszköztára rendkívül szűkös. A Turing tarpit kifejezés először Alan Perlis 1982-ben megjelent cikkében, az "Epigrams on Programming"-ban jelent meg. A tarpit természetes bitumenlelőhelyet jelent angolul, amely egyben veszélyes csapda is. A kifejezés azt az állapotot kívánja megjeleníteni, amikor bár minden megvalósítható (tehát Turing-teljes), de semmi sem egyszerű. PéldákAnteAz Ante kizárólag számokat és a francia kártya jeleit használja. Az alábbi kód a klasszikus „Helló, világ!” program ("Hello, world!") implementációja.[1] 9♦8♥J♦A♦2♣3♥7♠J♦A♦7♦J♦J♦A♦3♦J♦5♥6♦4♥J♥A♥6♠6♠J♥A♦8♦J♦A♦8♠J♦A♦3♦J♦A♦6♠J♦A♦8♠J♦A♥3♦2♠J♥A♥2♣6♠J♥ Megjegyzés: Azonos néven létezik egy fejlesztés alatt álló compileres programozási nyelv is.[2] ArnoldCAz ArnoldC alapvetően egy imperatív programozási nyelv, amelynek kulcsszavai Arnold Schwarzenegger filmjeiben elhangzott mondatokat idéznek.[3][4] A fordító java byte kódot generál. A programozási nyelvet Apache License 2.0 alatt publikálták.[5] A program fő moduljának definíciójaIT'S SHOWTIME [utasítások] YOU HAVE BEEN TERMINATED A legegyszerűbb ArnoldC program nem csinál semmitIT'S SHOWTIME YOU HAVE BEEN TERMINATED ÉrtékadásGET TO THE CHOPPER [változó] HERE IS MY INVITATION [operandus] [műveletek] ENOUGH TALK BrainfuckA brainfuck programozási nyelv kimondott célja az, hogy a fordító (compiler) a lehető legkisebb legyen. „Helló, világ!” program brainfuck nyelven: ++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.
MalbolgeA Malbolge programozási nyelvet Ben Olmstead alkotta meg 1998-ban. Szándéka az volt, hogy az addigi két egyeduralkodó „érthetetlen” nyelvet (INTERCAL, Brainfuck) letaszítsa trónjáról, ugyanis azokat túl könnyen tanulhatónak találta. A Malbolge-ot úgy tervezték, hogy kivételesen bonyolult és érthetetlen legyen. Az „Helló, világ!” program kódja:[6] (=<`$9]7<5YXz7wT.3,+O/o'K%$H"'~D|#z@b=`{^Lx8%$Xmrkpohm-kNi; gsedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543s+O<oLm Piet![]() A Piet olyan ezoterikus nyelv, amelynek programjai képeknek tűnnek. A képek kis területekre vannak osztva, és színük információt hordoz a fordítóprogram számára. Megalkotója David Morgan-Mar. A nyelv nevét Piet Mondrian holland festő után kapta. VelatoA programnyelven írt kódok, akárcsak a Piet esetében, műalkotások. Jelen esetben kották, amik egyben lejátszhatók (általában harmonikus) zeneként is. WhitespaceA Whitespace programozási nyelv kizárólag a szavak és írásjelek elválasztására használható szóközt, a tabulátor és a soremelés (LF) karaktereket használja. Források
Jegyzetek
További információk |
Portal di Ensiklopedia Dunia