Ծրագրավորման էզոթերիկ լեզու

Ծրագրավորման էզոթերիկ լեզու, ծրագրավորման լեզու, որը մշակված է ծրագրավորման լեզուների մշակման սահմանների ուսումնասիրման համար, ապացուցելու համար ինչ֊որ գաղափարի հնարավոր իրականացումը ծրագրավորման արվեստի մեջ։ Որոշ դեպքերում ուղղակի ստեղծված է որպես կատակ (համակարգչային կատակ)։


== Հումորային էզոթերիկ ծրագրեր ==
Էզոթերիկ ծրագրավորման շատ լեզուներ ստեղծվում են զվարճանքի համար, հաճախ նրանք նմանակում են «իրական» կամ ծրագրավորման լեզուների աբսուրդ հանդիսանում են «լուրջ» ծրագրային լեզուների մարմնավորում։ Որոշ ծրագրային լեզուներ հատուկ սահմանափակված են (օրինակ HQ9+), ուրիշ ծրագրային լեզուներ նախատեսված են բոլորի համար։ Ընդհանուր հատկությունը բոլոր էզոթերիկ լեզուների այն է, որ ծրագիրը որով կազմված է լեզուն հասկանալի է միայն ստեղծողին։ Կամ բոլորովին անհասկանալի է։ Որովհետև ծրագրային լեզուն կազմելու համար անհրաժեշտ է սովորական լեզու։ Իսկ բոլոր իրական ծրագրային լեզու սարքողները աշխատում են անել այնպես, որ շարահյուսությունը լինի առավելագույնս հասկանալի, իսկ ծրագիրը` հարմարավետ։ Էզոթերիկ լեզու գրող ծրագրավորողները սովորաբար իրենց առջև դնում են հիմանականում հակադիր խնդիրներ։
Գործնականում այդ լեզուները կիրառելի չեն, սակայն այդ լեզուներով ծրագիր գրելը շատ լավ «մարզանք» է հանդիսանում։ Էզոթերիկ լեզուները շատ հաճախ ներառում են տարբեր ծրագրավորման մրցումներում, որպես թույլատրելի լեզուներ։


== Էզոթերիկ լեզուների որոշ դասեր ==
«INTERCAL»֊ի նման լեզուների թվում, որի հիմնական գաղափարն է առավելագունս տարբերվել գոյություն ունեցող լեզուներից, հայտնի է FALSE լեզուն։
Շատ մեծ դասի մեջ են Brainfuck֊անման լեզուները, որոնք հիմնված են շարահյուսության կրճատման վրա (օրիգինալ Brainfuck֊ը ունի 8 հրաման պահպանած Թյուրինգի ամբողջության համակարգը), նմանատիպ լեզուներ են CaneCode, Ook! (օրագուտանների լեզու), COW (երկկճղակավորների լեզու), Brainfork (բազմախնդիր Brainfuck), f*ckf*ck, DoubleFuck, Whitespace, Spoon, LOLCODE, HQ9+ (ամբողջական չի Թյուրինգի ֆունկցիայով)։
Առանձին դասի են պատկանում այն լեզուները, որոնք ունեն բազմաքանակ ներկայացում (միաչափ, երկչափ), երկչափներից է Byter, Befunge, Befunge-93 (երկչափ, ոչ ամբողջ Թյուրնգի ֆունկցիայով), միաչափ Unefunge, եռաչափ Trefunge, քառաչափ 4DL և գունային կոդավորում օգտագործող Piet լեզուն։
Եվս մեկ դասի մեջ մտնում են այն լեզուները, որոնք հիմնված են սեփական կոդի պատճենման վրա (օրինակ՝ Smetana, Smith, Muriel)։
«Սև արկղ» լեզուները, որոնցից են Malbolge և Alpaca լեզուները, ստեղծվում են նրա համար, որպեսզի բարդացնեն գրված կոդը։


== Էզոթերիկ այլ լեզուներ ==
Որոշ ծրագրավորման լեզուներ իրագործում են «գրական» շարահյուսություն, դրանցից են Chef (բաղադրատոմսեր), Shakespeare (Շեքսպիրյան պիեսներ), Haifu (հոքու բանաստեղծություններ), ArnoldC (Առնոլդ Շվարցենեգերի արտահայտությունները), FiM++ (արաքայադուստր Սելեստիի նամակներրը)։
Var’aq լեզուն, հիմնված Կլինգոնների ռասայի տրամաբանության վրա, վերցված է «Աստղային ճանապարհ» սերիալի հիման վրա, այդպիսի լեզուների շարքը պատկանում է «անմարդկային տրամաբանություն» շարքին։
Ուրիշ ծրագրավորման որոշ լեզուներ ստեղծված են էզոթերիկ նպատակով։ Դրանք են` Cool, GOTO++, Lithp, paranoid, Sartre, Simple, Whenever, smilescript, emoticon, iot, Lazy K, Beatnik, reMorse լեզուները։
Երբեմն էզոթերիկ կատեգորիայի մեջ են մտնում լեզուներ, որոնք ստուգում են մաթեմատիկական հայեցակարգերը, դրանցից են՝ Thue և Unlambda լեզուները։
Լեզուների մեջ, որոնք ստեղծված են ուրիշ նպատակների համար, կան նաև էզոթերիկ տեսակներ։ Դրանցից են P′′, QuakeC, MC++, Автокод «Инженер» (ցածր մակարդակի համակարգչային կոդ «Минск»)։


== Ծանոթագրություններ ==


== Հղումներ ==
Wiki- Ծրագրավորման էզոթերիկ լեղուների նախագիծ(անգլ.)
Danger Mouse: Esoteric Programming Languages(անգլ.)
Обзор ЭЯП в журнале «Компьютерра» Archived 2006-06-14 at the Wayback Machine.
Առավել ամբողջական տարբերակը «Путеводитель автостопщика по потаенным знаниям» հոդվածի
esco — универсальный интерпретатор эзотерических языков
esco - էզոտերիկ լեզուների ունիվերսալ ինտերպրետատոր