Ma`lumotlar : 1092
Xabarlar soni: 314
Bugun: 18.4.2024
Soat: 1:42
Dasturlash tillari
Muallif: Mengliyev SH.
Qo`shilgan sana: 2014-07-15
Dasturlash tillari
Programmalash tillari sun’iy tillar hisoblanadi, ularda sintaksis va semantik qoidalar qat’iy aniqlangan bo‘ladi. SHu sababli Programmalash tillari tabiiy tillardan farqli ravishda jumlalarni ko‘pmazmunli va erkin talqin etishga yo‘l qo‘ymaydi. Buning asosiy sababi tildagi xar bir ko‘rsatma mashina tilidagi aniq bir buyruqqa o‘tadi.
Sintaksis-bu qoidalar to‘plami bo‘lib, Programmalash tilida ruxsat etilgan belgilarning ketma-ketligi va asosiy ichki tuzilishni aniqlaydi.
Semantika-til birliklariga (so‘z, so‘z birikmalari, jumlalariga) beriladigan qiymatlardir.
EHMlar endi yuzaga kelgan paytda programma tuzishda, faqat mashina tillarida, ya’ni sonlar yordamida EHM bajarishi kerak bo‘lgan amallarning kodlarida kiritilgan. Bu holda mashina uchun tushinarli sanoq, sistemasi sifatida 2 lik, 6 lik, 8 lik sanoq sistemalari bo‘lgan. Programma mazkur sanoq sistemasidagi sonlar vositasida kiritilgan.
YUqori bosqichli programmalashda, mashina tillariga qaraganda mashinaga moslashgan (yo‘naltirilgan) belgili kodlardagi tillar hisoblanadi. Belgilar kodlashtirilgan tillarning asosiy tamoyillari shundaki, unda mashina kodlari ularga mos belgilar bilan belgilanadi, hamda xotirani avtomatik taqsimlash va xatolarni tashhis qilish kiritilgan. Bunday mashina moslashgan til - ASSEMBLER tili nomini oldi.
EHM faqat mashina tilini-buyruqlar, operand va sonlarning ikkilik sanok, sistemasidagi ko‘rinishini «tushinadi». SHu sababli, Assembler tilida yozilgan programmalar uchun ularni mashina tiliga o‘tkazuvchi «tarjimon» kerak bo‘ladi.
Assembler tilidagi programmani mashina tiliga o‘tkazuvchi maxsus programma translyator deyiladi, ayrim hollarda uni assembler deb ham atashadi.
Mashinaga moslashgan tillarning asosiy kamchiligi bir turdagi mashina uchun tuzilgan programma boshqa mashinalarda bajarilmaydi, ya’ni bunday tillar mashinaning apparat tuzilishiga bog‘liq qilib yaratiladi. Masalan, Pravets mashinasi uchun tuzilgan programma IBM yoki YAMANA turidagi mashinalar uchun o‘tmaydi va aksincha.
Programmalash tillarining keyingi bosqichida protsedurali tillar joylashadi. Bu tillaring asosiy xususiyati shundaki, ularning sintaksis va semantikasi konkret EHM (protsessor) buyruqlari tarkibiga bog‘liq, emas. Tuzilgan programmani konkret EHM ga bog‘lashni translyator amalga oshiradi.
Programmaning boshlang‘ich matni Operativ xotiraga kiritilgandan keyin u translyasiya qilinadi. Natijada, aynan shu mashina «tushinadigan» buyruqlar ketma-ketligi hosil bo‘ladi va ularni bajarish asosida EHM masalani echadi.
Programmani tarjimasi va uni bajarish jarayoni ikki usulda amalga oshirilishi mumkin:
Birinchi usul-komplilyator deb nomlanuvchi usulda programmani EHMda bajarilishi-tarjima jaryoni to‘liq, tugagandan keyin amalga oshiriladi. Bunda tarjima programmasini operativ xotirada saqlab turishga hojat yuq, shu sababli xotirani tejashga erishiladi.
Ikkinchi usul – interpretatsiya - programmadagi ayrim operatorlar ular tarjima qilingan zahoti bajariladi, shundan keyin navbatdagi operator tarjima qilinadi, bajariladi va xokazo. Bu rejimda xotirada interpretator programmasi ham bo‘lishi kerak, natijada qo‘shimcha xotira ishlatiladi va programmaning ishlashi kompilyasiya qilinganga nisbatan sekin ishlaydi. Interpretatorning afzallik tomonlari programmalarni sozlash paytida ko‘rinadi, ya’ni yo‘l qo‘yilgan xatolar tuzatilishi mumkin. Kompilyatorda bunday imkoniyat yuk.
Protsedurali tillarning umumiy xususiyatlarini ko‘raylik. Bu tillarda programmadagi yozuvlar umumiy qabul qilingan matematik yozuvlarga juda yaqin va tushunish uchun engildir. Masalan, 7 va 5 sonlaring yig‘indisini hisoblash amalini programmalash tillarida yozilishini ko‘raylik:
Buyruq |
Operand adresi |
0011 1111 |
1101 0001 |
0000 0101 |
1101 0010 |
0000 0110 |
1101 00111 |
0000 0111 |
1101 0100 |
1000 0000 |
1101 0101 |
2) mashinaga moslashgan tilda
MOV A, 7
MOV V, 5
ADD V
Ko‘rinib turibdiki, protsedurali tillardagi yozuv tabiiy yozuvga yaqin.
Birinchilar qatorida yuzaga kelgan protsedurali tillar ichida FORTRAN (FORmula TRANslation - formulalarni boshqa ko‘rinishga aylantirish). O‘zining sodda tuzilishi, samarali translyasiyalanishi bu tilni nafaqat shu kungacha saqlanib qolishiga sabab bo‘ldi, balki uning ilmiy tadkdqot, injener-texnik masalalarini echishda eng samarali til sifatida rivojlanib, keng tarqalishiga sabab bo‘ldi.
Fortran tili Beysik tilining asosiga qo‘yildi. Beysik so‘zi inglizcha «VASIC-Veginners All-purpose Symbolic Instruction Sode» ma’noni anglatadi. Bu jumla quyidagicha tarjima kilinadi: boshlovchilar uchun ko‘pmaqsadli belgili buyruqlar tili.
Beysik tili mutaxassis bo‘lmagan odamlarni programmalash texnologiyalariga jalb qilish imkoniyatini berdi. Beysik tilida programma operatorlarining kamligi, tuzilishining soddaligi uni programmalashga o‘rgatish tili sifatida keng tarqalishiga sabab bo‘ldi. Bu til asosan maktablarda o‘rgatiladi.
Algol-60 tili Fortranga nisbatan takomillashgan til, unda tuzilgan programmalar moslashuvchanlik va yuqori ishonchlilik xususiyatlari bilan xarakterlanadi.
Prolog va Lisp tillari sun’iy tafakkur sohasidagi masalalarni echishga moslashgan. Bu tillar belgili berilganlarni qayta-ishlash orqali matematika va mantiqiy masalalarni echishga eng qulay tillardir.
1971 yilda paydo bo‘lgan Paskal tili programmalash texnologiyalariga strukturali programmalash g‘oyasini olib kirdi. Natijada bitta masala bir nechta bo‘laklarga bo‘lingan holda alohida echilishi va oxirida bitta programmaga jamlanish imkoniyati yuzaga keldi.
Ci tili zamonaviy kompьyuterlar xususiyatlarini o‘zida aks ettirgan va samarali programmalar yaratishda Assemblerga murojaat qilmaydigan til sifatida namoyon bo‘ldi. Bu til UNIX operatsion sistemasida yozilgan.
Ayni paytda programmalash texnologiyasining istiqbolli yo‘nalishlaridan biri ob’ektga yo‘naltirilgan programmalash tillaridir (ob’ektno-orientirovannoe programmirovanie).
Ob’ektlar ko‘p ishlatiladigan programma modullaridir. O‘z navbatida ob’ektlar ikkita qismdan tashkil topadi: metodlar va o‘zgaruvchilar. Metodlar protsedura va funksiyalar to‘plami bo‘lib, ob’ekt ishlash algoritmini aniqlaydi. O‘zgaruvchilar turli xil qiymatlarni qabul qiladi.
Ob’ektga moslashgan programmalashning asosiy mohiyati shundaki, sodda ob’ektlardan vorislik orqali murakkab ob’ektlar shajarasini yaratish mumkin. Bunda biror masalani echish deganda masala algoritmiga mos ob’ektlar shajarasini qurish tushiniladi.
Ob’ektaga yo‘naltirilgan tillarning yaqqol namunasi - bu Delphi vizual programmalash muhitidir. Bu muhit Turbo Paskal tili asosida yaratilgan bo‘lib, unda programma yaratish muhitidagi mavjud komponentalarni loyihalash asosida bo‘ladi. SHuning uchun ham bosh programma Rgoject deyiladi. Delphining yana bir muhim xususiyati vizual programmalashdir, ya’ni programma yaratilayotgan paytda tuzuvchi hosil bo‘ladigan programma shaklini ko‘rib turadi va grafik interfeys yordamida komponentalar shaklini o‘zi ma’qul topgan joyiga qo‘yishi mumkin.
Visual Basic tili ham ob’ektga moslashgan til hisobalanadi va Windowsning ofis programmalarida makroslar yozish uchun til sifatida ishlatiladi.
Internet uchun programmalar yaratish uchun NTML (Nureg Text Markur Language) 1989 yilda yaratilgan bo‘lib, WWW sahifalarini yaratish uchun asosiy til bo‘lib qolmoqda. Bu til yordamida sahifa poligrafik usulda yaratishilishi mumkin, unda matn, audio, video, animatsiya va boshqa ma’lumotlar joylashishi mumkin.
Java tili kompьyuter tarmoqlarida amal qiladigan programmalarni yaratishga mo‘ljallangan, ya’ni Java tilida yozilgan programmalar global tarmoqlarda dinamik reklamalarni (animatsiya, teletayp lentalari) global tarmoqda joylashtirish uchun ishlatiladi, Java tilining afzalligi shundaki, u turli operatsion sistemalarda ham birdek amal qilaveradi. Java programmasi bir paytda Windows, UNIX va Macintosh operatsion sistemalarida ishlashi mumkin.
Quyidagi jadvalda programmalash tillari xaqida ma’lumotlar keltirilgan.
Til |
YAratilgan yili |
Mualliflar |
Tashkilot, firma |
Ada, Ada |
1979-80 |
Jean Ichbian |
Cii-Honeywell (Fransiya) |
Algol, Algol |
1960 |
|
International Commitee |
ARL, APL |
1961-1962 |
Kenneth Iverson, Adin Falkoff |
IBM |
DELPHI, DELЬFI |
1995 |
|
Borland |
VASIS, Beysik |
1964-1965 |
JohnKemeny, Thomas Kurtz |
Dartmouth Colleje |
S, Si |
1972-1973 |
Dennis Ritchie |
Bell Laboratories |
S++, Si |
1980 |
Bjarne Strostrup |
Bell Laboratories |
SOVOL, Kobol |
1959-1961 |
Grace Murray Hopper |
|
Fort |
1971 |
Charles H.Moore |
|
FORTRAN, FORTRAN |
1950-1958 |
John Backus |
IBM |
HTML |
1989 |
Tim Berners-Li |
CERN, Jeneva |
LISP, LISP |
1956-1960 |
John MCCarthy |
|
LOGO, LOGO |
1968-70 |
Seymour Papert |
Massachusetts Institute of Techn. |
Pascal, Paskalь |
1967-1971 |
Niklaus Wirth |
Federal Institute of Technology (SHveysariya) |
PL1, PL1 |
1964-1966 |
|
|
PROLOG, PROLOG |
1978 |
Alan Kalmeroe |
|
SIMULA, SIMULA |
1967 |
Ole-Yoxan |
Norvegiya XM |
Java, Djava |
1995 |
Djeyms Gosling |
Sun Microsystems |
8094 marta o`qildi.