Dasturlash tillari


Dasturlash tillari tarixi


Download 240.03 Kb.
Pdf ko'rish
bet2/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 tarixi 

Shuni  aytish  mumkinki,  dasturlash  tillari  zamonaviy  electron  hisoblash 

mashinalari  paydo  bo’lguniga  qadar  ham  mavjud  bo’lgan:  XIX  asrda  yaratilgan 

qurilmalar,  masalan,  metal  silindr  vositali  musiqali  quticha  (keyinchalik  mexanik 

pianino) va karton karta vositasida ishlovchi Jakkard tikuv stanogi (1804) kabilarni 



4

shartli  ravishda  dasturlanuvchi  deb  atash  mumkin  edi.  Ularni  boshqarish  uchun 

predmetli-yo’naltirilgan dasturlash tillari prototiplari deb hisoblash mumkin bo’lgan 

zamonaviy klassifikatsiyalar doirasidagi instruksiyalar nabori qo’llanilgan. 1842 yil 

Ada  Avgusta  grafinya  Lavleys  tomonidan  Charlz  Bebbidj  analitik  mashinalari 

uchun  Bernulli  sonlarini  hisoblovchi  dastur  yozgan  tilni  dunyodagi  birinchi  bug’ 

dvigatellli mexanik kompyuterda realizatsiya qilish mumkin bo’lgan. 

1930-1940  yillarda  algoritmlarni  rasmiylashtirish  uchun  A.Chyorch,  A. 

Tyuring,  A.  Markovlar  matematik  abstraksiya  (lyambda-hisoblash,  Tyuring 

mashinasi, normal algoritmlar)ni yaratishdi. 

Xuddi shu vaqtlar, 1940 yillarga kelib,  electron raqamli kompyuterlar paydo 

bo’ldi va EHMlar uchun birinchi yuqori darajali dasturlash tili deb atash mumkin 

bo’lgan  til  -  Plankalkül,  nemis  injeneri  K.Suzi  tomonidan  1943-1945  yillarda 

yaratildi. 

UNIVAC va IBM 701 kabi EHM dasturchilari 1950-yillar boshlarida dastur 

yaratishda  bevosita  mashina  kodalaridan  foydalanishgan,  ularda  nol  va  birlardan 

iborat dasturlar yozilgan va bu tillar birinchi avlod dasturlash tillari deb hisoblangan 

(bunda  turli  mashinalarda  turli  yaratuvchilar  turlicha  kodlarni  ishlatishganligi 

sababli  bir  EHMdan  boshqasiga  o’tkazish  uchun  bu  dasturlarni  qayta  yozishga 

to’g’ri kelgan).  

1949 yillarda birinchi amaliy tadbiq etilgan, “Qisqa kod” deb ataluvchi tilda 

amallar va o’zgaruvchilar ikki belgili birikmalar orqali kodlangan. Bu til UNIVAC 

ni  yaratgan  Tyuring  xodimlaridan  biri  Djon  Mokli  tomonidan  Eckert–Mauchly 

Computer Corporation kompaniyasida yaratilgan. Mokli o’z xodimlariga matematik 

formulalar  translyatorini  ishlab  chiqishni  topshiradi,  lekin  bu  1940-yillarda 

anchagina murakkab hisoblanar edi. Qisqa kod interpretator yordamida realizatsiya 

qilingan.  

Tez  orada  bu  usuldagi  dasturlash  ikkinchi  avlod  dasturlash  tillarining 

yaratilishi bilan o’zgardi. Ikkinchi avlod dasturlash tillari ham aniq bir mashinalar 

uchun ixtisoslashganligi bilan chegaralangan bo’lsada, mashina kodlarining belgili 

(mnemonik)  ifodalanishi  va  mashina  xotirasida  nomlarning  adreslarga 

joylashtirilish  imkoniyatidan  foydalanish  hisobiga  foydalanuvchi  uchun  ancha 

soddalashgan holatga keltirildi. Bu tillar assembler tillari va avtokodlar nomi bilan 

mashhur.  Biroq  assemblerni  qo’llashda  dasturni  mashina  tiliga  o’girish  jarayoni 

zarur bo’lgan va buning uchun maxsus dasturlar ishlab chiqilgan hamda ular ham 

assemblerlar  nomini  olgan.  Shu  bilan  birga  bir  mashnadan  boshqasiga  dasturni 

ko’chirib  o’tish  muammosi  ham  saqlanib  qolgan.  Bu  dasturchidan  masalani 

yechishda “quyi daraja” terminlari – yacheyka, adres, komandalar haqida o’ylashni 

talab qilar edi. Keyinchalik ikkinchi avlod dasturlash tillari takomillashtirildi: ularda 

makrokomandalarni qo’llash imkoniyati paydo bo’ldi. 

1950-yillar  o’rtalariga  kelib,  Fortran,  Lisp,  Kobol  kabi  uchinchi  avlod 

dasturlash tillari paydo bo’la boshladi.  Bu tipdagi dasturlash tillari (“Yuqori darajali 

dasturlash tillari”) universal bo’lib, aniq bir apparat platforma va unda ishlatiladigan 

mashina  kodlariga  bog’liq  emas  edi.  Yuqori  darajali  dasturlash  tillarida  yozilgan 

dasturlardan  ixtiyoriy  EHMlarda  foydalanish  mumkin  (nazariy  jihatdan  shunday, 

biroq  amalda  bir  qator  ixtisoslashgan  versiyalar  yoki  tilning  dialect  bo’yicha 




5

realizatsiyasini  ham  hisobga  olish  kerak),  chunki  bu  dasturlash  tillari  o’zining 

translyator  (dasturni  mashina  tiliga  o’riguvchi,  shundan  so’ngina  protsessor 

tomonidan bajariluvchi instrument)lariga ega. 

Mazkur  dasturlash  tillarining  yangilangan  versiyalari  hozirgi  kunda  ham 

dasturiy ta’minotlarni ishlab chiqishda qo’llanilib kelinmoqda va har biri dasturlash 

tillarining rivojlanishiga o’z ta’sirini o’tkazib kelmoqda. 1950-yillar oxirlariga kelib, 

bu sohada bir qator dasturlar uchun asos bo’lib xizmat qilgan Algol dasturlash tili 

paydo  bo’ldi.  Shuni  qayd  etish  kerakki,  dastlabki  dasturlash  tillari  formati  va 

qo’llanilishiga interfeys cheklanishlari sezilarli ta’sir ko’rsatgan. 

1960-1970 

yillar 


davomida 

dasturlash 

tillarining 

hozirgi 


kunda 

ishlatilayotgan asosiy paradigmasi ishlab chiqilgan.  

·  APL dasturlash tili funksional dasturlashda o’z o’rniga ega bo’lib, massivlar 

bilan ishlash imkoniyatiga ega bo’lgan birinchi dasturlash tili hisoblanadi. 

·  PL/1  dasturlash  tili  1960-yillarda  yaratilgan  bo’lib,  Fortran  va  Kobol 

dasturlash tillarining yaxshi xarakteristikalarini o’zida birlashtirgan. 

·  1960-yillar  davomida  yaratilib,  takomillashtirilgan  Snobol  dasturlash  tili 

matnlarni qayta ishlash uchun mo’ljallangan. 

·  Taxminan  shu  vaqtlarda  yaratilgan  Simula  dasturlash  tili  ob’yektga 

yo’naltirilgan  dasturlashni  qo’llash  imkoniyatiga  ega  bo’lgan  birinchi 

dasturlash tili hisoblanadi. 1970-yillar o’rtalarida mutaxassislar guruhi to’liq 

ob’yektga yo’naltirilgan dasturlash tili Smalltalk tilini taqdim etishdi. 

·  1963-1973  yillar  davomida  hozirgi  kunda  ham  mashhur  va  ko’pchilik 

ommabop  dasturlash  tillarining  (C++  va  Java  kabi)  paydo  bo’lishiga  asos 

bo’lgan  C  dasturlash  tilini  yaratish  va  takomillashtirish  ustida  ishlar  olib 

borildi.  

·  1972 yil anchagina mashhur mantiqiy dasturlash tili bo’lgan Prolog dasturlash 

tili yaratildi. 

·  1973  yilda  ML dasturlash tilida kengaytirilgan  polimorf  tipiklashgan  tizim 

realizatsiya  qilindi,  bu  tipiklashgan  funksional  dasturlash  tillarining 

boshlanishiga asos bo’ldi.  

Har bir dasturlash tili takomillashgan versiyalariga ega va ularning ko’pchiligi 

zamonaviy dasturlash tillarining yaratilishiga asos bo’lgan. 

Bundan tashqari 1960-1970 yillarda u yoki bu dasturlash tillarida strukturali 

dasturlash  zaruriyati  haqida  faol  bahslar  olib  borildi.  Xususan,  gollandiyalik 

mutaxassis  E.  Deykstra  barcha  yuqori  darajali  dasturlash  tillarida  GOTO 

instruksiyasidan  voz  kechish  zarurligi  haqida  maqolalari  bilan  chiqishlar  qilgan. 

Shuningdek,  dastur  hajmini  qisqartirish  va  dasturchi  hamda  foydalanuvchi  ish 

samaradorligini oshirish yo’nalishi bo’yicha muvaffaqiyatli ishlar olib borildi. 

1980-yillarda shartli ravishda birlashish vaqti deb ataluvchi davr boshlandi. 

C++ dasturlash tili o’zida ob’yektga yo’naltirilgan dasturlash va tizimli dasturlash 

xarakteristikalarini  birlashtirdi,  AQSH  hukumati  Paskaldan  kelib  chiqqan,  harbiy 

ob’yektlarni boshqarish tizimida foydalanish uchun  Ada dasturlash  tili standartini 

ishlab  chiqdi,  Yaponiya  va  boshqa  shu  kabi  davlatlarda  mantiqiy  dasturlash 

konstruksiyalarini o’z ichiga olgan beshinchi avlod dasturlash tillarini o’rganish va 



6

takomillashtirish  uchun  sezilarli  darajadagi  investitsiyalar  ajratildi.  Funksional 

dasturlash tillari birlashmasi standart sifatida ML va Lispni qabul qilishdi.  

Olib  borilayotgan  ishlardagi  muhim  yo’nalishlardan  biri  visual  (grafik) 

dasturlash tillarining yaratilishi bo’ldi. Bunday dasturlash tillarida dasturlarni yozish 

jarayoni EHM ekranida matnli ko’rinishdan visual (grafik) ko’rinishga almashtirildi. 

Visual  dasturlash  tillari  dasturlarning  ko’rgazmaliligini  va  inson  tomonidan 

mantiqan to’g’riroq qabul qilinishini ta’minlaydi. 

1990 yillarda Internetning faol rivojlanishiga bog’liq ravishda web-sahifalar 

ssenariylarini  yaratish  imkonini  beruvchi  dasturlash  tillari  ham  keng  tarqala 

boshladi.  Shunday  dasturlash  tillariga  Unix  tizimi  uchun  skriptlar  yozish  uchun 

imkonini beruvchi, ancha rivojlangan Perl dasturlash tili va Java tillarini misol qilish 

mumkin. Shuningdek, virtuallashgan dasturlash tillari ham ommalashdi.  

Hozirgi  kunda  dasturlash  tillarining  rivojlanish  bosqichi  xavfsizlik  va 

ishonchlilikni oshirish, kodlarni modulli tashkil qilishning yangi shakllarini yaratish 

va ma’lumotlar bazasi bilan integratsiyalash yo’nalishlarida davom etmoqda. 

Ko’pchilik keng tarqalgan dasturlash tillari uchun xalqaro standartlar ishlab 

chiqilgan.  Maxsus  tashkilotlar  mos  dasturlash  tillari  uchun  doimiy  ravishda 

standartlarni yangilab boradi va rasmiy aniqlashlarni e’lon qilib boradi.  

Zamonaviy  dasturlash  tillarida  ASCII  dan  foydalaniladi,  ya’ni  ASCIIning 

mavjud  barcha  grafik  belgilari  ixtiyoriy  til  instruksiyalarini  yozishning  yetarli  va 

zaruriy sharti hisoblanadi. ASCII boshqaruv belgilari bilan ishlash chegaralangan: 

faqatgina karetka qaytarish CR, keying satrga o’tish LF, gorizontal tabulyatsiya HT 

(ba’zan vertical tabulyatsiya VT va keying sahifaga o’tish FF). 

Dastlabki  dasturlash  tillarida  6-bitli  belgilar  to’plamidan  foydalanilgan. 

Masalan, Fortran alifbosi 49 ta belgini (probel bilan birga)  o’z ichiga olgan:

 

A B C 


D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 = + - * / () . 

, $ ' : 


APL  bundan  mustasno,  chunki  u  juda  ko’plab  maxsus  belgilardan 

foydalangan. 

ASCII  dan  tashqari  belgilar  (masalan,  KOI8  yoki  Unicode  belgilari)  dan 

foydalanish  realizatsiyaga  bog’liq  bo’lgan:  ba’zan  bunday  belgilardan  faqatgina 

izohlarda  va  belgili/satrli  konstantalarda,  ba’zida  hatto  identifikatorlarda  ham 

foydalanishga ruxsat beriladi.  

Qo’llaniladigan  belgilar  to’plamini  kengaytirishga  dasturiy  ta’minotlar 

bo’yicha  ko’pgina  loyihalarning  xalqaroligi  sababli  ruxsat  beriladi.  Bir 

o’zgaruvchisi  rus  harflari  bilan,  boshqasi  arab,  yana  biri  xitoy  iyerogliflari  bilan 

ifodalangan  kod  bilan  ishlash  juda  qiyin  bo’lar  edi.  Shu  bilan  birga  matnli 

ma’lumotlar bilan ishlay oladigan yangi avlod dasturlash tillari (Delphi 2006, C#, 

Java) Unicode belgilari bilan ham ishlash imkoniyatiga ega.   

Dasturlash  tillari  semantikasini  aniqlash  bo’yicha  bir  necha  yondashuvlar 

mavjud. Ulardan asosiylari uchta: tizimli, aksiomatik va denotatsion. 

Tizimli  yondashuv  doirasidagi  semantika  tavsifida  odatda  dasturlash  tili 

konstruksiyasi 

bajarilishida 

faraz 


qilingan 

(abstract 

EHM) 

yordamida 



interpretatsiyalanadi. 

Aksiomatik semantika oldin yoki keyin keluvchi masala shartlari va mantiq 




7

yordamida til konstruksiyasining bajarilish natijasini tavsiflaydi. 

Denotatsion  semantika  matematika  uchun  tipik  bo’lgan  tushunchalarga  – 

ko’phadlar, o’xshashlik, shuningdek, mulohaza, tasdiq va hokazolarga tayanadi. 




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