Забони барномасозӣ

Ба дигарон равон намоед

Забони барномасозӣ барои навиштани барномаҳои компютерӣ пешбинӣ шуда, аз маҷмӯи қоидаҳое иборат аст, ки онҳо компютерро ба иҷро кардани ин ё он раванди ҳисоббарорӣ водор месозанд ё онро ба идора кардани объектҳои гуногуни муҳити системавӣ ҳидоят менамоянд. Агар забонҳои табиӣ барои гуфтугӯ ва табодули андешаҳои байни одамон хизмат намоянд, пас, забонҳои барномасозӣ асосан барои идоракунии компютер пешбинӣ шудаанд.

Бояд қайд кард, ки забони барномасозӣ, пеш аз ҳама, забони расмӣ (рамзӣ, формалӣ) мебошад. Вай маҷмӯи қоидаҳои лексикӣ, синтаксисӣ ва семантикиеро муайян мекунад, ки бо ёрии ин қоидаҳо намуди зоҳирии барнома мушаххас гардонида шуда, дастурҳои барномавии бақайдгирифташуда аз тарафи компютер иҷро карда мешаванд.

Эзоҳ: Лексика — таркиби луғавии забон.

Синтаксис — маҷмӯи қоидаҳои сохторсозии забон.

Семантика — системаи қоидаҳои сохтормаънидодқунии забон.

Аз замони пайдоиши аввалин мошинҳои дар асоси барномаҳо коркунанда то ба имрӯз инсоният зиёда аз 8000 забонҳои барномасозӣ офаридааст. Ҳар сол ин адад афзоиш меёбад. Агар бо баъзеи ин забонҳо теъдоди хеле ками истифодабарандагон кор карда тавонанд, он гоҳ қисми дигари онҳо ба объекти дастрас ва афзори кории садҳо миллион одамон табдил ёфтаанд. Барномасозони касбӣ бо дахҳо забонҳои барномасозии гуногунсатҳ кор карда метавонанд.

Забони барномасозӣ — системаи мушаххаси ишораҳо барои тасвиркунии алгоритмҳо ва сохтори додаҳо мебошад. Ба воситаи забонҳои барномасозии гуногун, мувофиқан, бо сабкҳои гуногун барнома сохтан мумкин аст. Дар чунин мавридҳо фарҳанги барномасозӣ тақозо менамояд, ки барои сохтани барнома ончунон забони барномасозиеро бояд интихоб кард, ки он барои ҳалли масъалаи додашуда нисбат ба дигар забонҳо бештар ҷавобгӯ бошад.

Барои амалигардонии алгоритми мавҷуда ҳар як забон аз барномасоз фарогирии ҷузъиёти алгоритмиро дар сатҳҳои гуногун талаб менамояд. Дар ин гуна мавридҳо интихоби забони барномасозӣ ё аз рӯйи содагии дастурҳояш ва ё аз рӯйи маҳсулнокиаш ба роҳ монда мешавад.

Ягона забони барномасозие, ки бидуни восита аз тарафи компютер иҷро карда мешавад, ин забони мошинӣ мебошад, ки он аз пайдарпайии рамзҳои дуӣ иборат аст. Дар ибтидо, тамоми барномаҳо маҳз бо ёрии забони мошинӣ навишта мешуданд. Ҳоло барномасозон аз ин забон амалан истифода намебаранд. Онҳо матни барномаро ба воситаи ин ё он забони барномасозӣ тайёр намуда, баъд бо истифода аз компилятор (талфифгар) онро дар як ё якчанд марҳала ба забони мошинӣ тарҷума мекунанд. Барномаи тарҷумашударо протсессори компютер бе ягон душворӣ иҷро менамояд.

Чунин тарзи барномасозӣ ва тарҷумаи барнома хоси забонҳои барномасозии сатҳи баланд мебошад. Ба забонҳои барномасозии сатҳи баланд — забонҳои ҳамакори Паскал, Бейсик, Си, забонҳои махсусгардонидашудаи веббарнома- созӣ — HTML, JavaScript ва ғайраро шомил гардонидан мумкин аст.

Аммо, агар назорати системаро дар сатҳи дастурҳои мошинӣ ва катакҳои алоҳидаи хотираи компютер ба роҳ мондан зарур бошад, он гоҳ барномасозон барномаҳои худро бо ёрии забонҳои барномасозии сатҳи пасти ассемблер номидашаванда тахдя менамоянд. Дастурҳои ассемблерӣ аз тарафи тарҷумонҳояшон ба дастурҳои забони мошинӣ айнан табдил дода мешаванд.

Баъзе забонҳои барномасозӣ ба ҷойи рамзҳои мошинӣ якбора рамзҳои дуии «мошини маҷозӣ»-ро тавлид месозанд, ки онҳо аз тарафи протсессори компютер фавран тафсир (интерпретатсия) ва иҷро карда мешаванд. Мисоли ин гуна забонҳои барномасозиро забонҳои Forth, Lisp, Java, Perl, Python ва ғайра ташкил медиҳанд.

Оид ба таърихи забонҳои барномасозӣ. Гуфтан мумкин аст, ки аввалин забонҳои барномасозӣ ҳанӯз то пайдоиши компютер сохта шудаанд. Дар асри XIX механизмҳое ихтироъ шудаанд, онҳоро шартан таҷҳизоти барномавӣ

ҳисоб кардан мумкин аст: мусиқиқуттӣ, пианинои механикӣ, дастгоҳи бофандагии Жаккард (1804) ва ҳоказо. Барои идоракунии ин таҷҳизотҳо маҷмӯи дастурҳое истифода шудаанд, ки онҳоро тибқи таснифоти муосир ба гурӯҳи забонҳои барномасозии мавзӯъгаро шомил гардонидан мумкин аст.

Августа Ада Лавлейс (1815-1852) Чарлз Бэббиҷ (1791-1871)

Духтари шоири тавонои англис Ҷорҷ Байрон — Августа Ада Лавлейс аввалин барномасози ҷаҳон ба ҳисоб меравад. Ӯ бо мақсади ҳисобкунии ададҳои Бернулли соли 1842 бо ёрии забони ихтироъкардааш як барнома рӯйи кор овард ва ҳадаф дошт, ки онро дар мошини таҳлилии Чарлз Бэббиҷ санҷад. Аммо, мутаассифона, барномаи сохтаи Ада Лавлейс ба мисли мошини офаридаи Чарлз Беббиҷ бо сабаби қафомониҳои техникии асри XIX то ба охир амалӣ шуда натавонист.

Солҳои 1930-1940 А. Чёрч, А. Тюринг ва А. Марков барои рамзигардонии алгоритмҳо абстраксияҳои (мавҳумҳои) математикиро кор карда баромаданд. Дар ҳамон давра, соли 1940, аввалин компютерҳои рақамии барқӣ низ пайдо шуда, барои онҳо забони барномасозие сохта шуд, ки онро нахустин забони барномасозии сатҳи баланд хдсоб кардан мумкин аст.

Барномасозони ибтидои солҳои 50-уми асри гузашта, махсусан барномасозони мошинҳои UNIVAC ва ШМ 701, барномаҳои худро бевосита бо ёрии рамзҳои мошинӣ (рамзҳои дуӣ) менавиштанд. Рамзҳои мошиниро забонҳои барномасозии насли якум ҳисобидан одат шудааст. Барномаҳои бо ёрии забонҳои барномасозии насли якум навишташударо танҳо барои як навъи компютерҳо истифода бурдан мумкин буд. Барои дар компютери навъи дигар татбиқ намудани рамзҳои барномавии айнан як барнома, ҳатман онро аз нав таҳия намудан лозим буд.

Бар ивази ин тарзи барномасозӣ ба зуддӣ забонҳои барномасозии насли дуюм омаданд, ки онҳо низ асосан махсусиятҳои мошинҳои мушаххасро ба инобат

мегирифтанд. Вале, азбаски матни барномаҳои ба воситаи онҳо сохташуда, истифодаи мнемониҳо (ишораҳои аломатии дастурҳои мошинӣ)-ро амалӣ мегардониданд, бинобар он, барои истифодаи инсон онҳо нисбатан сода вонамуд мегаштанд. Ва тавре пештар ишора рафта буд, ин гуна забонҳои барномасозиро ассемблерҳо ном мебурданд.

Шурӯъ аз мобайнҳои солҳои 50-уми асри гузашта ба майдони барномасозӣ забонҳои насли сеюм (Фортран, Лисп ва Кобол) қадам гузоштанд. Ин насли забонҳо — забонҳои барномасозии сатҳи баланд ба ҳисоб мерафтанд. Хусусияти забонҳои мазкур аз он иборат буд, ки онҳо абстрактӣ ва ҳамакор буда, аз сахтафзори компютерӣ ва фармонҳои мошинии дар онҳо татбиқшаванда вобастагӣ надоштанд.

Дар охири солҳои 50-уми асри гузашта забони барномасозии Алгол рӯйи кор омад, ки он дар коркард ва рушди минбаъдаи забонҳои барномасозӣ сахдои босазо гузоштааст. Ҳамаи забонҳои барномасозии номбурдаи насли сеюм то ба имрӯз аз тарафи барномасозони касбӣ мавриди истифода қарор доранд.

Солҳои 1960-1970 фарҳанги таҳияи забонҳои барномасозӣ мукаммал гардонида шуда, забонҳоеро рӯйи кор овардааст, ки онҳо имрӯз асоси барномасозиро ташкил додаанд. Ба ин гурӯҳи забонҳои барномасозӣ забонҳои APL, ПЛ/1, Snobol, Симула, Smalltalk, Си, C++, Java, Пролог, ML ва ғайраро дохил кардан мумкин аст.

Солҳои 80-уми асри гузашта — солҳои муттаҳидсозандаи забонҳои барномасозӣ ном баровардаанд. Масалан, забони C++ дар худ тарҳҳои забонҳои барномасозии ҳам объектгаро ва ҳам системавиро муттаҳид сохтааст. Самти муҳими таҳияи забонҳои барномасозии ин солҳоро забонҳои визуалӣ (графикӣ) ташкил додаанд. Дар забонҳои визуалӣ раванди таҳияи матнии барнома ба раванди «расмкашӣ», дар экрани компютер, иваз карда мешавад.

Бо рушди Интернет, дар солҳои 90-уми асри гузашта, забонҳои барномасозие рӯйи кор омадаанд, ки онҳо асосан барои таҳияи вебсафҳаҳо (масалан, Perl) пешбинӣ шудаанд.

Давраи муосири таҳияи забонҳои барномасозӣ бошад, бештар ба самти таъмини амният ва устувории забонҳо нигаронида шудааст.

Саволҳо:

1.3абони барномасозӣ гуфта, чӣ гуна забон дар назар дошта шудааст? Вай аз забонҳои табиӣ чӣ фарқ дорад?

2. Забони мошинӣ чӣ гуна забон аст? Вай аз забони алгоритмӣ чӣ фарқ дорад?

З.Забонҳои барномасозии сатхд баланд кадомҳоянд? Барои чӣ онҳоро чунин номгузорӣ кардаанд? Магар забонҳои сатҳи паст ҳам вуҷуд доранд?

  • Аввалин забонҳои барномасозӣ кай пайдо шудаанд?
  • Ада Августа Лавлейс кӣ буд? Чарлз Бэббиҷ чй?

б.Забонҳои барномасозиро ба чанд насл ҷудо мекунанд?

Наслҳои забонҳои барномасозӣ аз ҳамдигар чӣ фарқ доранд? Мисолҳо биёред.

7.Кадом забонҳои барномасозии таҳияи вебсафҳаҳоро медонед?

Супориш:

Алгоритми масъалаи «Мактабравӣ»-ро бо ёрии дастурҳои матнӣ нависед.

Маводҳои ҳамсон