Esotera programlingvo

El Vikipedio, la libera enciklopedio

Esotera programlingvo estas programlingvo kreita por testi limojn de komputila programlingva fasonado, kiel konceptprovon, kiel programaran arton aŭ kiel ŝercon. La uzo de esotera programlingvo diferencigas tiujn programlingvojn disde programlingvoj kiujn profesiaj programistoj uzas por krei programaron. Kutime, kreuloj de esotera programlingvo ne celas krei programlingvon uzatan por tradicia programado, kvankam kelkaj elementoj, kiel vidspaca sintakso,[1] inspiris praktikajn aplikojn en arto. Tiaj programlingvoj estas ofte popularaj ĉe kodumuloj kaj hobiistoj.

Afabligo estas malofte la celo de kreuloj de esotera programlingvo, ofte ili celas eĉ la malon. Ilia celo estas forigi aŭ anstataŭigi konvenciajn programlingvajn elementojn kaj samtempe krei Turing-kompletan programlingvon, aŭ eĉ programlingvon kun nekonata komputa klaso.

Historio[redakti | redakti fonton]

La unua ekzemplo de esotera programlingvo estis INTERCAL,[2] kreita en 1972 de Don Woods kaj James M. Lyon, kun la difinita celo esti malsama ol ĉiuj aliaj programlingvoj kiujn la aŭtoroj konis.[3][4] Ĝi parodiis elementojn de tiutempaj konitaj programlingvoj, kiel Fortran, COBOL, kaj Asembla lingvo.

Dum multaj jaroj INTERCAL estis reprezentita nur per paperaj kopioj de la INTERCAL-a manlibro. En 1990 la programlingvo reviviĝis pro C-a realigo kun Unix, tio stimulis ondon de intereso pri internacia esotera programlingva desegno.

En 1993, Wouter van Oortmerssen kreis "FALSE"-n. Ĝi estis malgranda Stakema programlingvo kaj ĝia sintaksa celo estis igi la kodon malklara, konfuza kaj nelegebla. Ĝi havas ankaŭ tradukilon de nur 1024 bajtoj.[5] Ĉi tio inspiris Urban Müller krei eĉ pli malgrandan programlingvon, la nun-fifama Brainfuck, kiu konsistas el nur ok rekonitaj signoj. Brainfuck nun estas unu el la plej popularaj esoteraj programlingvoj.

Ekzemploj[redakti | redakti fonton]

Befunge[redakti | redakti fonton]

Binary lambda calculus[redakti | redakti fonton]

Brainfuck[redakti | redakti fonton]

Chef[redakti | redakti fonton]

GolfScript[redakti | redakti fonton]

INTERCAL[redakti | redakti fonton]

JSFuck[redakti | redakti fonton]

LOLCODE[redakti | redakti fonton]

Malbolge[redakti | redakti fonton]

ModiScript[redakti | redakti fonton]

Piet[redakti | redakti fonton]

Pikachu[redakti | redakti fonton]

Shakespeare[redakti | redakti fonton]

Unlambda[redakti | redakti fonton]

Whitespace[redakti | redakti fonton]

Referencoj[redakti | redakti fonton]

  1. McLean, A., Griffiths, D., Collins, N., and Wiggins, G. (2010). "Visualisation of Live Code". In Electronic Visualisation and the Arts, London: 2010.
  2. Matthew Fuller, Software Studies, MIT Press, 2008
  3. Eric S. Raymond. (1996) The New Hacker's Dictionary. MIT Press, p. 258. ISBN 978-0-262-68092-9.
  4. Woods, Donald R.; Lyon, James M. (1973), The INTERCAL Programming Language Reference Manual, Muppetlabs.com, archived from the original on 2009-02-20, https://web.archive.org/web/20090220145921/http://www.muppetlabs.com/~breadbox/intercal/intercal.txt, retrieved 2009-04-24 
  5. Interview with Wouter van Oortmerssen (1 July 2015). Arkivita el la originalo je 2015-12-08. Alirita 1 December 2015. Arkivita kopio. Arkivita el la originalo je 2015-12-08. Alirita 2020-05-22.

Bibliografio[redakti | redakti fonton]

  • Camille Paloque-Bergès (2009). "Langages ésotériques". Poétique des codes sur le réseau informatique. Archives contemporaines. ISBN 978-2-914610-70-4.
  • Geoff Cox (2013). Speaking Code: Coding as Aesthetic and Political Expression. MIT Press. ISBN 978-0-262-01836-4.

Eksteraj ligiloj[redakti | redakti fonton]