Esoteerinen ohjelmointikieli
Esoteerinen ohjelmointikieli tai esolang[1] on ohjelmointikieli, jotka on suunniteltu testaamaan ohjelmointikielen rakenteen rajoja. Yleensä tavoitteena on osoittaa erikoisia tapoja joilla systeemi voi olla Turing-täydellinen, eli kykenevä simuloimaan minkä tahansa muun tietokoneen tai ohjelman toimintaa. Esoteerisen ohjelmointikielen tarkoitus voi olla myös hauskuuttaa. Esimerkiksi AAAAAAAAAAAAAA!!!! [2] on huumoritarkoituksella ohjelmoitu esoteerinen ohjelmointikieli, joka koostuu pelkästään A:sta, välilyönneistä ja huutomerkeistä.
Esoteeriset ohjelmat eivät yleensä ole helposti ohjelmoitavissa, joten ne ovat lähinnä hakkereiden ja ohjelmoinnin harrastajien suosiossa. Käytettävyys muutenkin on esoteerisissa ohjelmissa merkityksetön, tai jopa huono asia. Esimerkiksi Malbolge -ohjelmointikieli on tehty tarkoituksella mahdollisimman vaikeakäyttöiseksi. Toisaalta esoteerisissä kielissä voidaan myös käyttää huumoria; Arnold-C käyttää komentosyntaksinaan Schwarzeneggerin toimintaelokuvien vuorosanoja, Chef ruokareseptejä ja lolcode Internet-meemejä.lähde?FRACTRAN on kieli, joka sisältää rationaalilukuja.[3]
Historia
[muokkaa | muokkaa wikitekstiä]Varhaisin esimerkki esoteerisistä kielistä oli INTERCAL, jonka James Lyons ja Don Woods suunnittelivat vuonna 1972. Heidän tavoitteensa oli tehdä ohjelmointikieli joka oli mahdollisimman erilainen kuin kaikki muut heidän tuntemansa ohjelmointikielet.lähde? Yli 20 vuotta myöhemmin Urban Müller loi kenties kuuluisimman esoteerisen ohjelmointikielen, brainfuckin, joka koostuu pelkästään kahdeksasta merkistä. Sen tarkoituksena oli olla mahdollisimman pelkistetty ohjelmointikieli.lähde?
Muita paremmin tunnettuja esoteerisia ohjelmointikieliä ovat Befunge, joka mahdollistaa kielen kirjoittamisen sekä lukemiseen oikean ja vasemman lisäksi myös ylös- ja alaspäin, sekä Malbolge, maailman vihamielisimpänä ja käytettävyydeltään vaikeimpana pidetty ohjelmointikieli, jonka normaali käyttö vaatii oikeastaan enemmän työtä kuin jotkin vanhanaikaiset sotilassalausalgoritmit [4]. Malboglen ensimmäinen ei-esimerkkikoodi jouduttiin luomaan laskennallisesti koodigeneraattorin avulla.lähde?
Esoteerisia ohjelmointikieliä
[muokkaa | muokkaa wikitekstiä]- Befunge
- RUBE
- NULL
- Whitespace
- Brainfuck
- FRACTRAN
- Shakespeare
Lähteet
[muokkaa | muokkaa wikitekstiä]Viitteet
[muokkaa | muokkaa wikitekstiä]- ↑ [1] (Arkistoitu – Internet Archive)
- ↑ [2]
- ↑ Eric W. Weisstein: FRACTRAN mathworld.wolfram.com. Viitattu 23.12.2023. (englanniksi)
- ↑ Outoa ohjelmointia (Jussi Pekka Kasurinen) Docendo.fi. Viitattu 10.4.2017.