Topp 5 rare programmeringsspråk

Fra rare JavaScript-språk til Pokemon-inspirert syntax. Dette er de merkeligste av de merkelige.

Arnold Schwarzenegger i filmen Predator. 📸: Moviestore/rex / Scanpix
Arnold Schwarzenegger i filmen Predator. 📸: Moviestore/rex / ScanpixVis mer

Det er nesten utrolig, men det finnes folk der ute som koder mye, at de går lei av vanlige programmeringsspråk og bestemmer seg for å lage egne!

På nettet blir de ofte omtalt som esoteriske programmeringsspråk, altså programmeringsspråk som bare forstås av en liten gruppe mennesker med spesiell kunnskap eller interesse.

Esoteriske språk har ofte ikke en praktisk bruk, men er skapt for underholdning og fordi "det går an".

Vi har samlet sammen en liste av de merkeligste av de merkelige.

#1. JSFuck

JSFuck er oppkalt etter to programmeringsspråk: JavaScript og det nokså merkelige språket Brainfuck. I motsetning til Brainfuck - som støtter hele åtte tegn - klarer JSFuck seg med seks: [, ], (, ), !, og +. Og all kode skrevet i JSFuck er 100% kompatibel med JavaScript! Du trenger ingen kompilator, eller oversetter.

Det betyr at du kan lime inn kode skrevet i JSFuck i konsollen på nettleseren din, trykke enter, og se det kjøre. Bare prøv med koden under:


[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]][([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[+[]]+([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+[+[]]]+(![]+[])[+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]+(!![]+[])[+[]])()([][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]][([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[+[]]+([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+[+[]]]+(![]+[])[+!![]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+([][(!![]+[])[!![]+!![]+!![]]+([][[]]+[])[+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+([![]]+[][[]])[+!![]+[+[]]]+(!![]+[])[!![]+!![]+!![]]+(![]+[])[!![]+!![]+!![]]]()+[])[!![]+!![]])()((![]+[])[+!![]]+(+[]))+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+([][[]]+[])[!![]+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+!![])+(!![]+!![]+!![]+!![]))

JSFUCK er riktignok ikke språket med kortest syntaks. Koden alert("Hello world!") er bare 20 tegn i vanlig JavaScript, men i JSFUCK blir koden på 22948 tegn.

JSFuck stammer fra en webapplikasjon som het jjencode, skrevet av den japanske programmereren Yosuke Hasegawa i 2009. jjencode kunne obfuskere vanlig JavaScript-kode ved bruk av 18 tegn, men etter en ivrig konkurrranse på nettsiden sla.ckers.org fikk de koden ned i seks tegn. I 2012 opprettet utvikleren Martin Kleppe et eget Github-repo for JSFuck, samt JSFuck.com hvor du kan lage din egen kode.

Pikachu og bestevennen Ash Ketchum fra filmen Pokémon - The First Movie. 📸: Kobal/rex / Scanpix
Pikachu og bestevennen Ash Ketchum fra filmen Pokémon - The First Movie. 📸: Kobal/rex / Scanpix Vis mer

#2. Pikachu

Du kjenner kanskje Pikachu, den gule muse-lignende skapningen i Pokémon-franchisen, som gjerne henger på skulderen til protagonist Ash Ketchum. Et av kjennetegnene til Pikachu og andre Pokémon er at de hovedsakelig kommuniserer ved å uttale forskjellige varianter av navnet sitt. I Pikachu sitt tilfelle er det ordene "pi", "pika" og "pikachu".

Og om Pikachu noen gang skulle finne på å endre karriere fra slosskjempe til utvikler, står koderen Nilabhro Datta klar med en løsning. I 2017 bestemte han seg nemlig for å lage et språk som utelukkende bruker Pikachu sin kommunikasjonsform. Både syntaksen og en oversetter til JavaScript er publisert på nettet.

Programmeringsspråket LOLCODE er basert på LOLSpeak. 📸: CC BY-SA 3.0
Programmeringsspråket LOLCODE er basert på LOLSpeak. 📸: CC BY-SA 3.0 Vis mer

#3. LOLCODE

Selvfølgelig måtte noen lage dette språket. Språket LOLCODE er basert på internettfenomenet LOLSpeak, teksten man gjerne leser på LOLCAT-memes. I LOLCODE ser en enkel Hello World-kodesnutt ut slik:

HAI 1.2
CAN HAS STDIO?
VISIBLE "HAI WORLD!"
KTHXBYE

Utrolig nok blir språket ofte kritisert for å ikke være sært nok av miljøet rundt sære kodespråk, som mener syntaksen rett og slett ikke er sær nok!

Men ikke alle utviklere hater LOLCODE. Driftige utviklere har laget oversettere til C, PHP, .NET, Java og til og med som et språk kjørende inni PostgreSQL. Selvsagt er det også skrevet en oversetter til JavaScript.

Utvikleren Adam Lindsay skapte det i 2007, og har sat opp lolcode.org med oversikt over syntaks og bruk.

#4. Grass

"Hva om vi lager et programmeringsspråk som ser ut gress?". Ja, det er faktisk en fyr i historien som har tenkt den tanken. Han heter UENO Katsuhiro, og står bak det funksjonelle språket Grass. Et språk som er designet for å ha en syntaks som ser ut som gress.

Hvordan oppnår han det, spør du? Ved å kun støtte tegnene W, w og v selvsagt.

UENO har en egen nettside med informasjon om språket sitt, inkludert kompilatorer, eksempler og andre ressurser.

Koden under regner ut 1+1 og skriver ut resultatet med tegnet "w".

wwWWwv
wwwwWWWwwWwwWWWWWWwwwwWwwv
wWWwwwWwwwwWwwwwwwWwwwwwwwww
Arnold i den tredje Terminator-filmen. 📸: Snap Stills/rex / Scanpix
Arnold i den tredje Terminator-filmen. 📸: Snap Stills/rex / Scanpix Vis mer

#5. Arnoldc

Selvfølgelig har noen laget et språk basert på Arnold Schwarzenegger sine fraser! Med slagordet "Stop whining and start coding" oppfordrer den finske utvikleren Lauri Hartikka alle dvaske utvikleren til å låne litt muskler fra Arnold i sitt neste kodeprosjekt.

Lauri skriver på Github-siden for prosjektet at selv om one-linerne til Arnold er ganske kjent, så har vi fortsatt ikke avdekket den sanne betydningen bak semantikken. Målet til Arnoldc er å granske nye betydninger i Arnold sine filmer, ved hjelp av data-vitenskap.

Hello World i Arnoldc ser slik ut:

IT'S SHOWTIME
TALK TO THE HAND "hello world"
YOU HAVE BEEN TERMINATED

Arnoldc kan faktisk oversettes til Java, og i hurtigstart-guiden beskriver Lauri hvordan du raskt kommer i gang. I stedenfor Java kan du dermed skrive fraser som:

#Bonus

Det måtte jo finnes.

📸: AP / Scanpix
📸: AP / Scanpix Vis mer