Dasturlash tillari


Dasturlash tillari klassifikatsiyasi


Download 240.03 Kb.
Pdf ko'rish
bet3/10
Sana05.01.2022
Hajmi240.03 Kb.
#211888
1   2   3   4   5   6   7   8   9   10
Bog'liq
5-maruza-2

Dasturlash tillari klassifikatsiyasi 

Dasturlash  tillarining  umumiy  qabul qilingan  tizimli  taksonomiyasi  mavjud 

emas.  Lekin  dasturlash  tillari  klassifikatsiyasini  tuzish  mumkin  bo’lgan  umumiy 

xarakteristikalar  mavjud:  masalan,  texnik  xarakteristikalar,  ustunlik  jihatlari, 

amaliyotda  keng  tarqalganligi  kabi.  Hozirgi  kunda  ommalashgan  zamonaviy 

dasturlash  tillari  o’zining  kamida  bitta  ajdodiga  ega.  Ko’pchilik  dasturlash  tillari 

turli dasturlash tillarining bir necha elementlari birikmasidan tashkil topadi. Ba’zi 

bir  hollarda  bunday  birikmalar  matematik  tahlil  bo’yicha  tuzilsa,  boshqa  hollarda 

amaliyotdagi talabdan kelib chiqib tashkil etiladi.  

Dasturlash tillari rasman “daraja” kriteriyasiga ega emas. Shartli ravishda bu 

atama tilning semantikasi va maqsadli protsessor arxitekturasining mashina kodlari 

o'rtasidagi farq darajasini bildiradi, lekin tarixda shunday holatlar ham bo’lganki, bir 

platformada “quyi darajali” hisoblangan dasturlash tilida yozilgan dastur boshqa bir 

platformada  “yuqori  darajali”  singari  kompilyatsiyalangan,  yoki  “yuqori  darajali” 

hisoblangan dasturlash tillari apparatli realizatsiya qilingan.  

Eng quyi darajali dasturlash tillariga mashina tillari kiradi. Bularga birinchi 

avlod  dasturlash  tillarini  misol  qilish  mumkin.  Ulardan  keyin  “assembler  tillari” 

yoki “avtokodlar” deb ataluvchi ikkinchi avlod dasturlash tillari paydo bo’lgan. Ular 

mashina  tillari  ustida  mnemonic  mexanizmni  tasvirlaydi,  boshqacha  aytganda 

raqamlardan  iborat  bo’lgan  inson  uchun  noqulay  va  uzun  komanda  kodlari  eslab 

qolish uchun oson harflar birikmalariga almashtirildi, masalan, “STOP” yoki “ADD 

#1,  R1”  kabi.  Assembler  tillarining  yana  bir  muhim  jihati  uzun  sonlar  bilan 

ifodalanadigan  xotira  yacheykalari,  yacheyka  nomlari  o’rniga  yuqori  darajali 

dasturlash tillaridagi kabi o’zgaruvchilarning ishlatilish imkoniyati bo’ldi. Shu bilan 

birga  mashina  tillaridan  farqli  ravishda  assemblerdagi  matnni  mashina  tiliga 

o’tkazuvchi  maxsus  dasturlarni  EHM  xotirasiga  yuklash  va  protsessor  tomonidan 

bajarilishini ta’minlash zarur edi. Mazkur dasturning o’zi ham “assembler” nomini 

oldi  (bunda  “teskari  loyihalash”  dasturlari  ham  mavjud  bo’lib,  ular  mashina 

kodidagi  dasturlarni  assembler  tiliga  o’girib  beradi,  bu  dasturlar  dizassmbler  deb 

nomlandi).  Ko’pchilik  assemblerlar  takomillashgan  makrotillarga  ham  ega,  shu 

sababli bu dasturlash tillari ba’zan makroassemblerlar deb ham atalgan.  

1970-yillarga  kelib  dasturlar  murakkabligi  shu  darajada  oshdiki,  bu 

dasturchilarning ularni boshqarish imkoniyatlarini oshirdi, axborot texnologiyalari 

rivoji  orqada  qola  boshladi.  Bu  muammolar  yechimi  sifatida  murakkabliklarni 

boshqarishning turli usullarini taqdim etuvchi yuqori darajali dasturlash tillari paydo 

bo’la boshladi. "Yuqori darajali til" iborasi, bir tomondan, tilning semantik modeli 

insonning fikrlash xususiyatlarini mashinalarga qaraganda ko'proq hisobga olishini 

anglatadi  (inson  o'zini  "yuqori"  darajaga,  mashinani  esa  "past"  darajaga  kiritadi). 

Ushbu atamaning boshqa tushunchasi dastur dizaynlarining ajralmas qismi (batafsil 

ma'lumot)  bilan  bog'liq.  Quyi  darajali  dasturlash  tilida  yozilgan  dastur  EHM 




8

protsessoriga  tushunarli  soda  komandalardan  foydalanadi  (masalan,  ikkita 

registrning  mazmunini  qo'shish  yoki  olib  tashlash),  shu  bilan  birga  xuddi  yuqori 

darajali  dasturlash  tillaridagi  singari  matematik  formulalar  analogi  bo’lgan 

ifodalarni ham qo’llash mumkin bo’lgan (bu holat birinchi yuqori darajali dasturlash 

tili  nomlanishiga  ham  o’z  ta’sirini  o’tkazgan  –  Fortran,  “Formula  translyatori”). 

Yuqori  darajali  dasturlash  tillarida  tuzilgan  dastur  quyi  darajali  dasturlash 

tillaridagidan  qisqa  va  inson  uchun  tushunarli  bo’lib,  dasturchilar  mehnat 

samaradorligining  oshishiga  va  dasturlardagi  xatoliklar  soni  kamayishiga  olib 

kelgan.  Lekin  aniq  bir  EHMda  yuqori  darajali  dasturlash  tillaridan  foydalanish 

uchun unda  maxsus dastur –  mashina tiliga o’tkazuvchi translyator  bo’lishi shart. 

Dasturlash tili standartlari va translyator realizatsiyasidan aniq foydalanilgan holda 

bir  dastur,  masalan,  Fortranda  yozilgan  dastur  turli  kompyuterlarda  bir  xil  natija 

bilan  qo’llanilishi  mumkin.  O’z  navbatida  dasturlar  bir kompyuterdan  boshqasiga 

qo’llanilayotgan arxitekturasi va mashina tilidan qat’iy nazar oson ko’chiriladi va 

modifikatsiyalanadi.  Ko’pchilik  holatlarda  yuqori  darajali  dasturlash  tillari  katta 

hajmli  mashina  kodlarini  hosil  qiladi  va  ularning  ishlashi  sekinroq  bo’ladi.  Biroq 

ba’zi  yuqori  darajali  dasturlash  tillari  algoritmik  va  tuzilishi  jihatidan  murakkab 

dasturlarda samaradorligi bo’yicha ustunlikka ega, quyi darajali dasturlash tillariga 

faqat sodda va kichik dasturlardagina “yutqazishi” mumkin.      

Hozirgi  kunda  quyi  darajali  dasturlash  tillari  faqat  tizimli  dasturlash 

masalalarini  hal  qilishdagina  qo’llanilmoqda.  “Quyi  darajali  dasturlash  tillari” 

atamasi ko’pchlik tomonidan “tizimli dasturlash masalalarini hal qilish imkoniyatini 

berish”  kabi  tushuniladi.    Aslida  dastur  matni  mashina  kodiga  o’tkazish  talab 

qilinadigan bir  nechta  dasturlash tillari ham  bu  tavsifga  javob bera oladi.  Bundan 

tashqari  xatoliklarga  bardoshliligi  yuqori  bo’lgan  C#  va  Limbo  tillari  operatsion 

tizimlarda tizimli dasturlash rolida qo’llanadi.  

Shuni qayd etish mumkinki, dasturlash tillari “darajasi”ning oshishi ularning 

inson uchun qulaylik darajasi oshishiga, dasturlardagi xatoliklar sonining kamayishi 

va  murakkabroq  dasturiy  tizimlarni  qo’llay  olishiga  mos  keladi.  Murakkablik 

muammolarini muvaffaqiyatli hal qilish imkonini beruvchi dasturlashga ob’yektga 

yo’naltirilgan yondashuv, uning tarafdorlari fikricha “3,5 avlod” tillariga tegishli. 

Keyingi (to’rtinchi va keyingi) avlod dasturlash tillariga turli tadqiqotchilar 

turli dasturlash tillarini kiritishadi.   




Download 240.03 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling