„Ezoterikus programozási nyelv” változatai közötti eltérés

[ellenőrzött változat][ellenőrzött változat]
Tartalom törölve Tartalom hozzáadva
A lap tartalmának cseréje erre: {{azonnali|Szerkesztő felesleges allapja|~~~~}}
Visszavontam Mameilon (vita) szerkesztését (oldid: 15478152)
1. sor:
Az '''ezoterikus programozási nyelv''' olyan [[programozási nyelv|programnyelv]], amelyet készítője nem mindennapi, gyakorlati [[számítógép-programozás|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észet]]i célokat elégít ki, vagy akár [[vicc]]el. 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.
{{azonnali|Szerkesztő felesleges allapja|[[Szerkesztő:Mameilon|Mameilon]] <sup>[[Szerkesztővita:Mameilon|vita]]</sup> 2015. január 1., 22:08 (CET)}}
 
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énet==
{{bővebben|INTERCAL programozási nyelv}}
 
Az egyik első ezoterikus nyelv az [[INTERCAL programozási nyelv|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 (adatszerkezet)|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 Mullert, 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.
 
==Fogalmak==
{{csonk-szakasz}}
===Touring-csapda (Touring tarpit)===
Az ilyen program eszköztára rendkívül szűkös. A ''Touring 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 Touring-teljes), de semmi sem egyszerű.
 
==Példák==
{{csonk-szakasz}}
===Ante===
Az ''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.
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♥
 
===ArnoldC===
Az ''ArnoldC'' utasításai [[Arnold Schwarzenegger]] filmjeiben elhangzott mondatokat idéznek.
====A program fő moduljának definíciója====
IT'S SHOWTIME
[utasítások]
YOU HAVE BEEN TERMINATED
====Értékadás====
GET TO THE CHOPPER [változó]
HERE IS MY INVITATION [operandus]
[műveletek]
ENOUGH TALK
 
===Brainfuck===
{{bővebben|Brainfuck}}
A ''brainfuck'' programozási nyelv kimondott célja az, hogy a kódolás a lehető legnehezebb legyen.
 
===Whitespace===
{{bővebben|Whitespace (programozási nyelv)}}
A ''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.
 
===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.
 
==Források==
* [http://c2.com/cgi/wiki?TuringTarpit Alan Perlis: Turing Tarpit]
* [http://sec2013.crysys.hu/blog/ezoterikus-programozasi-nyelvek/ Ezoterikus programozási nyelvek]
* [http://prog.hu/hirek/3564/10+furcsa+programozasi+nyelv+amiktol+tuti+eldobod+az+agyad.html 10 furcsa programozási nyelv, amiktől tuti eldobod az agyad]
* [http://www.techworld.com.au/article/251892/-z_programming_languages_intercal Computerworld interjú Don Woodssal az INTERCALról]
* [http://www.rapapaing.com/blog/?page_id=6 Piet]
* [http://prog.hu/hirek/3442/Programozasi+nyelv+keszult+Arnold+Schwarzenegger+legendas+mondataibol.html Arnold C]
* [http://nyelvek.inf.elte.hu/leirasok/brainfuck/index.php?chapter=1 Brainfuck programozási nyelv]
* [http://yaxu.org/writing/visualisation-of-live-code.pdf ''Visualisation of Live Code'' - Példa az ezoterikus programnyelvek általi inspirációra]
 
{{Portál|Informatika|i }}
[[Kategória:Ezoterikus programozási nyelvek]]