3.2 Yozilish osonligi
Osonlik bilan yozish bu tanlangan dastur loyihasi uchun qaysi til munosib
ekanligini tanlashdir. Ko‘plab til xususiyatlari o‘qilishga va yozilishga ham ta’sir
ko‘rsatadi. Bu dasturchiga yozilgan dastur qismini qayta o‘qish imkonini beradi.
Dasturda o‘qilishi bilan birga dasturga oid muammoni yozishda til imkoniyatini
o‘ylash kerak. Ma’lum dastur uchun 2 til yozilish usullarini solishtirish oqilona ish
emas.
Quyida biz yozilish osonligiga nimalar ta’sir ko‘rsatadi bilib olamiz.
3.2.1 Ortogonallik va oddiylik
Agar tilda juda ham ko‘p qurulmalar bo‘lsa, dasturchilar u til bilan yaqin
bo‘lmaydilar. Bu vaziyat ba’zi xususiyatlarni noto‘g‘ri ishlatish va ba’zilarini
qo‘llamaslik ko‘proq nafis bo‘lishi yoki ko‘proq natijali bo‘lishi mumkin. Ba’zan esa
tasodifan bilmagan xususiyatlarimizdan foydalanish ajoyib natija olib kelishi mumkin.
Dasturchi muayyan murakkab muammo uchun o‘zining loyiha rejasini sodda
qurulmalarni o‘rgangandan keyin javob topishi mumkin. Boshqacha qilib aytganda
juda ko‘p ortogonallik dasturning yozilishiga zarar keltirishi mumkin.
3.2.2 Mavhumlikni anglash
Qisqacha qilib aytganda mavhumlik bu aniqlash qobiliyati va undan foydalanish dasturdagi murakkab
strukturalar va detallar e’tiborsiz qoldiriladi. Mavhumlik dasturlash tili
loyihasida zamonaviy qoida
kaliti hisoblanadi.
1.4. Dasturlash tillari evolyusiyasi
Susning Plankalkul tili
Psevdokod
Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr
17
IBM 704 kompyuteri va Fortran tili
Funksional dasturlash: LISP tili
ALGOL 60 tilini mukammallashtirishga birinchi qadam
SOBOL tilida savdo sotiq yozuvlarini kompyuterlashtirish
BASIC tilining dastlabki vaqtdagi bosqichlari
PL /1 tili ([1] 68-71-betlar)
Bu mavzu ostida dasturlash tillari kolleksiyasining rivojlanishi ko‘rib chiqiladi.
Bunda har bir tilning yaratilgan muhiti o‘rganiladi va tilning imkoniyatlari va
rivojlanishi uchun asoslariga e’tibor qaratiladi. Tilning umumiy ta’riflari keltirilmagan,
buning o‘rniga, har bir tilning ba’zi yangi o‘ziga hos hususiyatlarini ko‘rib chiqilgan.
Kelgusidagi dasturlash tillariga yoki kompyuter ilmiga ta’sir qilgan hususiyatlarga
alohida e’tibor qaratilgan.
Bu mavzuda hech bir dasturlash tilining hususiyatlari va konsepsiyalari chuqur
muhokama qilinmaydi; bu keyingi mavzularga qoldiriladi. Bu mavzuda hamma uchun
ham birdek tushunarli bo‘lmagan dasturlash tillari va ularning konsepsiyalarining
xilma-xilligi haqida gap boradi. Bu mavzuni toki kitobni o‘rganib bo‘lmaguncha
takroran o‘qish mumkin.
Bu yerda muhokama qilinadigan dasturlash tillari ham sub’ektiv tanlab olingan
va ayrimlar uchun sevimli bo‘lgan tillar keltirilmagan bo‘lishi ham mumkin. Bu yerda
dasturlash tillarining va kompyuter olamining rivojlanishiga katta hissa qo‘shgan deb
hisoblangan tillar tanlab olingan.
Bu mavzuning tashkillashtirilishi quyidagicha: tillarning dastlabki versiyalari
hronologik tartibda muhokama qilinadi. Biroq, keyingi versiyalar keyingi qismlarda
emas, balki, dastlabki versiyalari bilan bir vaqtda ko‘rib chiqiladi. Masalan, Fortran
2003 tili Fortran I (1956 yildagi) versiyasi bilan birgalikda ko‘rib chiqiladi. Shu bilan
birga ayrim joylarda, ikkinchi darajali deb hisoblangan tillar ham agar boshqa tilga
aloqador bo‘lsa shu mavzuda ko‘rib chiqiladi.
Bu mavzu har biri turli tillarda yozilgan 14 ta namuna dasturlar keltirilgan.
Ushbu mavzudagi dasturlar to‘liqligicha tushuntirib berilmagan, faqatgina dasturlash
tillaridagi ko‘rinishini tasvirlab berilgan. Umumiy buyruqlar sintaksisga ega bo‘lgan
tillar bilan tanish bo‘lgan dasturchilar bu dasturlarning kodlarini oson o‘qiydilar va
tushuna oladilar, faqat bundan LISP, COBOL va Smalltalk tillarida yozilgan kodlar
mustasno (LISPda keltirilgan namunaga o‘xshash sxema funksiya 15- mavzuda
muhokama qilinadi). Shu masalaning o‘zi Fortran, ALGOL 60, PL/I, BASIC, Pascal, C,
Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr
18
Perl, Ada
, Java, JavaScript va C# dasturlarida ham tuzilgan. E’tibor bering bu
mavzudagi zamonaviy dasturlash tillarining ko‘pchiligi dinamik massivlar bilan
ishlash imkoniyatiga ega, biroq namunaviy masalalarning osonligi sababli, bu yerda
dinamik massivlardan foydalanilmagan.
Quyidagi sxemada bu mavzuda muhokama qilingan yuqori darajali dasturlash
tillarining
kelib
chiqishi
ko‘rsatilgan.
Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr
19
|