Un limbaj de programare ezoteric este un limbaj de programare conceput pentru a explora limitele dezvoltării limbajului de programare, pentru a demonstra implementarea potențială a unei idei (așa-numita „ dovadă de concept ”, dovada de concept în engleză ), ca o operă de artă software sau ca o glumă (umor de computer).
Multe limbaje ezoterice sunt inventate pentru distracție, adesea parodiază „reale” sau sunt întruchipări absurde ale conceptelor de programare „serioase”. Unele limbi ezoterice sunt limitate în mod deliberat (cum ar fi limbajul HQ9+ ), altele sunt Turing-complete , adică limbi de uz general. O proprietate comună inerentă oricărui limbaj ezoteric este că textul programului din acesta este de înțeles doar „inițiatului” sau este deloc de neînțeles, deoarece pentru a compune un program, trebuie să scrieți un program într-un limbaj de programare obișnuit. . În timp ce dezvoltatorii de limbaje de programare „reale” încearcă să facă sintaxa cât mai clară posibil, iar programarea - convenabilă, creatorii limbajelor ezoterice și-au stabilit alte obiective.
În practică, astfel de limbaje sunt de obicei inutile, dar programarea în unele dintre ele este o bună practică. Limbile ezoterice sunt adesea incluse în lista limbilor permise în competițiile de programare.
Printre limbile de tip INTERCAL , a căror idee principală este în mod deliberat diferența maximă față de limbile existente, se cunoaște limbajul FALSE .
O clasă mare sunt limbaje asemănătoare Brainfuck -ului axate pe reducerea sintaxei (Brainfuck original are 8 comenzi) menținând în același timp caracterul complet al lui Turing ), cum ar fi CaneCode , Ook! (limbaj urangutan), COW (limbaj artiodactil), Brainfork (Brainfuck multitasking), f*ckf*ck , DoubleFuck , Whitespace , Spoon , LOLCODE , HQ9+ (nu Turing complet).
Limbile care folosesc reprezentări multidimensionale ale programelor se evidențiază într-o clasă separată: Byter bidimensional , Befunge , Befunge -93 (bidimensional, nu Turing-complet ), Unefunge unidimensional , Trefunge tridimensional , patru dimensional 4DL și folosind codificarea culorilor Piet .
O altă clasă este formată din limbi bazate pe copierea propriului cod - Smetana , Smith , Muriel .
Limbile cutie neagră, cum ar fi Malbolge și Alpaca , sunt concepute pentru a face mai dificilă scrierea codului.
O serie de limbi implementează sintaxa „literară”, cum ar fi Chef (rețete), Shakespeare ( piese shakespeariane ), Haifu (poezii haiku ), ArnoldC ( frazele lui Arnold Schwarzenegger ), FiM++ (scrisori către Prințesa Celestia ).
Limba Var'aq , bazată pe logica rasei Klingon din seria Star Trek , este clasificată ca o clasă de limbi cu „logică non-umană”.
Alte limbaje create în scopuri ezoterice sunt Cool , GOTO++ , Lithp , paranoid , Sartre , Simple , Whenever , smilescript , emoticon , iot , Lazy K , Beatnik , reMorse , YoptaScript [1] .
Uneori, limbajele ezoterice includ și limbaje concepute pentru a testa concepte matematice, cum ar fi Thue și Unlambda .
Printre limbajele create în alte scopuri, denumite uneori ezoterice, se numără P′′ , QuakeC , MC++ , Autocode „Engineer” (cod mnemonic de nivel scăzut pentru computerul „ Minsk ”).
Limbaje de programare | |
---|---|
|