Esoteriskt programmeringsspråk

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 3 oktober 2021; kontroller kräver 3 redigeringar .

Ett esoteriskt programmeringsspråk  är ett programmeringsspråk utformat för att utforska gränserna för utveckling av programmeringsspråk, för att bevisa den potentiella implementeringen av någon idé (det så kallade " proof of concept ", engelska  proof of concept ), som ett mjukvarukonstverk eller som ett skämt (datorhumor ).

Många esoteriska språk uppfanns för skojs skull, ofta parodierar de "riktiga" eller är absurda utföranden av "seriösa" programmeringskoncept. Vissa esoteriska språk är medvetet begränsade (som språket HQ9+ ), andra är Turing-kompletta , det vill säga språk för allmänna ändamål. En gemensam egenskap som är inneboende i alla esoteriska språk är att texten i programmet i det är förståelig endast för den "initierade" eller är obegriplig alls, för för att komponera ett program måste du skriva ett program på ett vanligt programmeringsspråk . Medan utvecklarna av "riktiga" programmeringsspråk försöker göra syntaxen så tydlig som möjligt, och programmering - bekvämt, sätter skaparna av esoteriska språk andra mål för sig själva.

I praktiken är sådana språk vanligtvis värdelösa, men programmering i vissa av dem är bra praxis. Esoteriska språk ingår ofta i listan över tillåtna språk i programmeringstävlingar.

Klasser av vissa esoteriska språk

Bland INTERCAL- liknande språk, vars huvudidé medvetet är den maximala skillnaden från befintliga språk, är det FALSKA språket känt .

En stor klass är Brainfuck - liknande språk som fokuserar på att minska syntaxen (original Brainfuck har 8 kommandon) samtidigt som Turing-komplettheten bibehålls ), såsom CaneCode , Ook! (orangutangspråk), COW (artiodaktylspråk), Brainfork (multi-tasking Brainfuck), f*ckf*ck , DoubleFuck , Whitespace , Spoon , LOLCODE , HQ9+ (inte Turing komplett).

Språk som använder flerdimensionella representationer av program sticker ut i en separat klass: tvådimensionell Byter , Befunge , Befunge-93 (tvådimensionell, inte Turing-komplett ), endimensionell Unefunge , tredimensionell Trefunge , fyrdimensionell 4DL och med Piet -färgkodning .

En annan klass består av språk baserade på att kopiera sin egen kod - Smetana , Smith , Muriel .

Black box- språk som Malbolge och Alpaca är designade för att göra det svårare att skriva kod.

Ett antal språk implementerar "litterär" syntax, såsom kock (recept), Shakespeare ( shakespeareska pjäser), Haifu (haiku-dikter ), ArnoldC ( Arnold Schwarzeneggers fraser ), FiM++ (brev till prinsessan Celestia ).

Var'aq - språket , baserat på logiken från den klingonska rasen från Star Trek -serien, klassificeras som en klass av språk med "icke-mänsklig logik".

Några andra språk skapade för esoteriska syften är Cool , GOTO++ , Lithp , paranoid , Sartre , Simple , Whenever , smilescript , emoticon , iot , Lazy K , Beatnik , reMorse , YoptaScript [1] .

Ibland inkluderar esoteriska språk även språk utformade för att testa matematiska begrepp, som Thue och Unlambda .

Bland språken som skapats för andra ändamål, ibland kallade esoteriska, är P′′ , QuakeC , MC++ , Autocode "Engineer" (lågnivå mnemonisk kod för datorn " Minsk ").

Anteckningar

  1. YoptaScript - ett programmeringsspråk för gopniks och klara pojkar . yopta.space . Hämtad: 6 mars 2022.

Länkar