«Ծրագրավորման լեզու»–ի խմբագրումների տարբերություն

Content deleted Content added
No edit summary
չ clean up, փոխարինվեց: , → , (24) oգտվելով ԱՎԲ
Տող 1.
'''Ծրագրավորման լեզուն''' [[նշանների համակարգ]] է, որը նախատեսված է [[Համակարգչային ծրագիր|համակարգչային ծրագրեր]] գրելու համար։ Ծրագրավորման լեզուն մեզ տալիս է որոշակի [[բառապաշար]] և [[քերականություն|քերականական]] կանոններ, որոնցից ելնելով ծրագրավորողը գրում է իր ծրագիրը։
 
Առաջին [[ԷՀՄ]]-ների ստեղծումից ի վեր ստեղծվել է ավելի քան 2500 տարբեր ծրագրավորման լեզուներ<ref>{{cite web|url=http://people.ku.edu/~nkinners/LangList/Extras/langlist.htm|title=Ծրագրավորման լեզուների ցանկը|publisher=???|date=???|accessdate=???|lang=en|archiveurl=http://www.webcitation.org/6171oHmhT|archivedate=2011-08-22}}</ref>, և ամեն տարի դրանց թիվն ավելի է մեծանում։ Որոշ լեզուներից օգտվել կարողանում են միայն դրանք ստեղծողները, իսկ մյուսները հանրահայտ են դառնում միլիոնավոր մարդկանց։ Պրոֆեսիոնալ ծրագրավորողները իրենց աշխատանքում օգտագործում են նույնիսկ 10-ից ավելի ծրագրավորման լեզուներ։<br />
Ծրագրավորման լեզվի նկարագրությունը սովորաբար կազմված է լինում երկու բաղկացուցիչներից՝ շարահյուսություն և իմաստաբանություն։ Որոշ ծրագրեր բացատրվում են մասնագրային փաստաթղթերով, օրինակ՝ C ծրագրավորման լեզուն մասնագիտացված է ISO ստանդարտով։ [[Perl]] 5-ը և այլ վաղ լեզուներ դոմինանտ իրականացում, ինչի շնորհիվ կիրառվում են որպես տեղեկագրություն։
 
Ծրագրավորման լեզուն կարող է ներկայացվել մասնագրերի մի այնպիսի համակարգի տեսքով, որոնցով բութագրվում են նրա շարահյուսությունն ու իմաստաբանությունը։<br />
 
=== Տվյալների տիպերը ===
Ժամանակակից թվային համակարգիչներն աշխատում են [[երկուական համակարգ]]ով և տվյալները պահպանում են երկնշան կոդերի մեջ։ Այդ տվյալները ցուցադրում են իրական աշխարհին պատկանող տեղեկություններ՝ անուններ, բանկային հաշիվներ, չափեր և այլն։<br />
Ծրագրավորման լեզուն օժտված է լինում «տիպերի համակարգով», որով կազմակերպվում են տվյալները։ Լեզուները լինում են «ստատիկ տիպականացումով» և «դինամիկ տիպականացումով», ինչպես նաև լինում են «տիպ չունեցող լեզուներ», որոնցից է, օրինակ՝ ծրագրավորման Forth լեզուն։<br />
 
 
=== Տվյալների կառուցվածքները ===
Բարձրամակարդակ լեզուների տիպերի համակարգնեը թույլ են տալիս որոշել բաղադրյալ տիպերը, այսպես կոչված՝ տվյալների կառուցվածքները։ Տվյալների կառուցվածքային տիպերը ձևավորվում են որպես բազային (ատոմաչափային) բաղադրյալ տիպերի դեկարտային ստեղծագործություն։<br />
Բարձրամակարդակ լեզուներում տվյալների (ցանկեր, հերթեր, աղյուսակներ, երկնշանային ծառեր և զույգեր) հիմնական կառուցվածքները հաճախ ներկայացվում են հատուկ շարահյուսական կոնստրուկցիաների միջոցով։ Այդպիսի տվյալները ձևավորվում են ինքնաբերաբար։<br />
== Ծրագրավորման լեզուների իմաստաբանությունը ==
Տարածված են ծրագրավորման լեզվի իմաստաբանությունը բնութագրող տարատեսակների երեք խումբ՝ օպերացիոն, դերիվացիոն (աքսիոմատիկ) և դենոտացիոն (մաթեմատիկական)։<br />
* «օպերացիոն» մոտեցման շրջանակներում իմաստաբանությունը նկարագրելու ժամանակ սովորաբար ծրագրավորման լեզվի կառուցվածքների կատարումը մեկնաբանվում է ինչ-որ մի երևակայական ԷՀՄ-ի օգնությամբ։
* «դերիվացիոն» իմաստաբանությունը նկարագրում է տրամաբանության լեզվի ու նախա- և ետպայմաններ առաջադրելու օգնությամբ լեզվի կառուցվածքների կատարման հետևանքները։<br />
* «դենոտացիոն» իմաստաբանությունը կատարում է այնպիսի պատկերացումներով գործողություններ, որոնք բնորոշ են մաթեմատիկային՝ բազմություններ, համապատասխանություններ, նաև՝ դատողություններ, պնդումներ և այլն։
 
== Տես նաև ==
Տող 32.
* [http://www.ntecs.de/old-hp/uu9r/lang/html/lang.en.html Examples] {{ref-en}}  - ծրագրավորման օրինակներ 162 լեզուներով
* [http://www.dedasys.com/articles/language_popularity.html Programming Language Popularity]{{ref-en}}  - ծրագրավորման լեզուների հանրահայտության ուսումնասիրությունները 2004-ի համար։
*[http://www.realcoding.net/articles/10-yazykov-programmirovanie-kotorye-stoit-izuchat.html 10 языков программирования, которые стоит изучать]{{ref-ru}} ― 10 ծրագրավորման լեզուներ, որոնք արժե ուսումնասիրել, [[2006]] թ․
* [http://www.tiobe.com/tpci.htm Programming Community Index]{{ref-en}}  - ծրագրավորման լեզուների հանրահայտության հաճախակի թարմացվող վարկանիշ
* [http://shootout.alioth.debian.org/ Computer Language Shootout Benchmarks]{{ref-en}}  - ծրագրավորման լեզուների արդյունավետության համեմատումը