Dasturlash tillari tarixi: Versiyalar orasidagi farq

Kontent oʻchirildi Kontent qoʻshildi
kTahrir izohi yoʻq
Tahrir izohi yoʻq
Qator 1:
{{manba}}
[[Kompyuter]] texnikasining rivojlanishi dasturlash tillarida [[algoritm]]larni yozib olish uchun turli xil yangi belgilar tizimlarining paydo boʻlish jarayonini belgilab berdi. Bunday tilning paydo boʻlishining maʼnosi dastur kodini soddalashtirishdan iborat edi.
 
'''Dasturlash tillari tarixi''' — dastlabki [[kompyuter]]larni hujjatlashtirishdan tortib, dasturiy taʼminotni ishlab chiqish uchun zamonaviy vositalarni oʻz ichiga oladi. Ilk dasturlash tillari juda oʻta tor doirada qoʻllanilishga moʻljallangan boʻlib, ular matematik belgilarga va shunga oʻxshash tushunarsiz sintaksisga tayangan<ref>History of programming languages. Richard L. Wexelblat. Association for Computing Machinery New York, June 1978. 795 p. ISBN:978-0-12-745040-7.</ref>.
Dasturlash tillarini besh avlodga boʻlish qabul qilingan. Birinchi avlodga 50-yillarning boshlarida, birinchi kompyuterlar endigina paydo boʻlgan paytda tuzilgan tillar kiradi. Bu '''„bir satrda bir buyruq“''' prinsipi asosida qurilgan birinchi assembler tili edi.
 
[[Kompyuter]] texnikasining rivojlanishi dasturlash tillarida [[algoritm]]larni yozib olish uchun turli xil yangi belgilar tizimlarining paydo boʻlish jarayonini belgilab berdi. Bunday tilning paydo boʻlishining maʼnosi dastur kodini soddalashtirishdan iborat edi.
== Ibtidosi ==
 
Dasturlash tillarini besh avlodga boʻlish qabul qilingan. Birinchi avlodga oʻtgan asrning 50-yillarningyillari boshlarida, birinchi kompyuterlar endigina paydo boʻlgan paytda tuzilgan tillar kiradi. Bu '''„bir satrda bir buyruq“''' prinsipi asosida qurilgan birinchi assembler tili edi.
 
XX asr davomida [[kompilyator]]lar nazariyasi boʻyicha olib borilgan izlanishlar yuqori darajadagi dasturlash tillarini yaratishga olib keldi, ular koʻrsatmalarni uzatish uchun qulayroq sintaksisdan foydalanadilar.
 
== IbtidosiTarixi ==
 
=== Mashina kodlari va assembler ===
Kompyuterning elektron qurilmalari ishlashning fizik tamoyillari shundan iboratki, kompyuter faqat bir va noldan iborat buyruqlarni - kuchlanishning pasayishi ketma-ketligini, yaʼni mashina kodini idrok eta oladi. Kompyuterlar rivojlanishining dastlabki bosqichida odam kompyuterga tushunarli tilda, mashina kodlarida dasturlar tuzishi kerak edi. Har bir koʻrsatma birliklar va nollarning turli kombinatsiyasi sifatida ifodalangan ''opkod'' hamda ''operand'' manzillaridan iborat edi. Shunday qilib, protsessor uchun har qanday dastur oʻsha paytda birlar va nollar ketma-ketligi sifatida qaragan.
 
Keyinchalik kompyuter bilan muloqot qilish amaliyoti shuni koʻrsatdiki, bunday tilni oʻzlashtirish qiyin va noqulaydir. Uni ishlatganda 1 yoki 0 ni notoʻgʻri ketma-ketlikda yozib koʻplab xatolarga yoʻl qoʻyish ehtimoli juda yuqori edi. Dasturni boshqarish juda qiyin boʻlgan. Bundan tashqari, mashina kodlarida dasturlashda kompyuterning ichki tuzilishini, har bir blokning ishlash prinsipini yaxshi bilish kerak edi va bunday tildagi eng yomon narsa shundaki, bu tildagi dasturlar - birlar va nollarning juda uzun ketma-ketligi mashinaga bogʻliq, yaʼni har bir kompyuter uchun oʻz dasturini tuzish kerak edi va mashina kodlarida dasturlash juda koʻp narsa: vaqt, ish va dasturchining eʼtiborini oshirishni talab etardi.
 
Tez orada mashina kodini yaratish jarayonini avtomatlashtirish mumkinligi maʼlum boʻldi. 1950-yildan boshlab dasturlarni yozish uchun ''mnemonik til'' - '''[[assembler tili]]'''dan foydalanila boshlandi. AssambleyaAssembler tili mashina kodini inson uchun qulayroq shaklda koʻrsatishga imkon berdi: buyruqlar va bu buyruqlar bajariladigan obyektlarni belgilash uchun buyruqning mohiyatini aks ettiruvchi ikkilik kodlar oʻrniga harflar yoki qisqartirilgan maxsus soʻzlar qoʻllanilgan. Masalan, assembler tilida ikkita raqamni qoʻshish boʻyicha koʻrsatma ''add'' soʻzi bilan ifodalanadi, uning mashina kodi ''000010'' tarzida boʻladi.
 
Assembler quyi darajadagi dasturlash tilidir. Quyi darajadagi dasturlash tili, bu muayyan turdagi protsessorga yoʻnaltirilgan va uning xususiyatlarini hisobga oladigan dasturlash tili demakdir. Bunday holda, „quyi“ „yomon“ degani emas, balki bu shuni anglatadiki, til operatorlari mashina kodiga yaqin va maxsus protsessor koʻrsatmalariga qaratilgan boʻladi. Assemblar tilining paydo boʻlishi dasturchilarning hayotini sezilarli darajada osonlashtirdi, chunki endi ular koʻzda miltillovchi nollar va birlar oʻrniga oddiy tilga yaqin belgilardan iborat buyruqlar bilan dastur yozishlari mumkin edi. Oʻsha vaqt uchun bu til innovatsiya edi va mashhur edi, chunki u kichik dasturlarni yozishga imkon berardi, bu esa oʻsha davr mashinalari uchun muhim mezon sanalgan.
 
Ammo u orqali yirik dasturiy taʼminotlar ishlab chiqish murakkabligi boʻlganligi bois uchinchi avlod tillari hisoblanmish yuqori darajadagi tillarning paydo boʻlishiga olib keldi. Ammo assemblerdan foydalanish shu bilan tugamadi, u bugungi kungacha tor doiralarda mashhur boʻlib kelmoqda. Hozirgi vaqtda u dasturlarning alohida qismlarini yozishda yoki baʼzan dasturlarning oʻzini yozishda qoʻllaniladi. Misol tariqasida, drayverlar, oʻyinlar va operatsion tizimlar yuklagichi (''bootloader'')ni yozishda assemblerga murojaat etiladi. Shuni unutmaslik kerakki, bu til hakerlar orasida ham mashhurdir, chunki bu tilda yozilgan dasturning tezligi yuqori darajadagi dasturlash tilida yozilgan dastur tezligidan ancha yuqori boʻlishidadir. Buning sababi shundaki, assemblerda yozilgan dastur hajmi juda kichik boʻladi. Antivirus ishlab chiquvchilari oʻz dasturlarining baʼzi modullarida assemblerdan ham foydalanadilar<ref>Р.Богатырев. Природа и эволюция сценарных языков. — Мир ПК, 2001.</ref>.
 
=== Birinchi yuqori darajadagi dasturlash tillari ===
1950-yillarning oʻrtalari dasturlashning jadal rivojlanishi bilan tavsiflanadi. Mashina kodlarida dasturlashning roli pasaya boshladi, mashinalar va dasturchilar oʻrtasida vositachi boʻlgan yangi turdagi dasturlash tillari paydo boʻla boshladi. Dasturlash tillarining ikkinchi va uchinchi avlodlari davri boshlandi. XX asrning 50-yillari oʻrtalariga kelib, birinchi yuqori darajadagi dasturlash tillari (''high-level programming languages'')ni yaratishga kirishildi. Ushbu tillar kompyuterning maʼlum bir turiga (mashinadan mustaqil) bogʻlanmagan edi. Ularning har biri uchun oʻz kompilyatorlari ishlab chiqilgandi. ''Kompilyatsiya'' — yuqori darajadagi manba tilda yozilgan dasturni mashina kodiga yaqin quyi darajali tildagi ekvivalent dastur (absolyut kod, obyekt moduli, baʼzan assembler tili)ga oʻgirishni anglatadi.
 
Birinchi yuqori darajadagi dasturlash tili 1942-1945-yillarda Konrad Suze tomonidan yaratilgan [[:en:Plankalkül]] dasturlash tili edi<ref>Knuth, Donald E.; Pardo, Luis Trabb. "Early development of programming languages". Encyclopedia of Computer Science and Technology. Marcel Dekker. 7: 419–493.</ref>. Buyruqlarni kompyuterga yetkazish uchun moʻljallangan birinchi ishlaydigan dasturlash tillari 1950-yillarning boshlarida yozilgan. 1949-yilda taklif qilingan Jon Mauchlyning [[:en:Short code]] elektron kompyuter uchun yaratilgan birinchi yuqori darajadagi tillardan biri edi<ref>Sebesta, W.S. (2006). Concepts of Programming Languages. p. 44. ISBN 978-0-321-33025-3.</ref>. Mashina kodidan farqli oʻlaroq, Short code matematik ifodalarni tushunarli shaklda ifodalaydi. Biroq, dastur har safar ishga tushirilganda mashina kodiga tarjima qilinishi kerak edi, bu jarayon ekvivalent mashina kodini ishlatishdan ancha sekinroq davom etardi.
 
Oʻz Kompilyatorga ega boʻlgan birinchi yuqori darajali til 1951-yilda doktorlik dissertatsiyasi uchun Korrado Böhm tomonidan yaratilgan<ref>Corrado Böhm's PhD thesis</ref>.
 
Tijoriy maqsad uchun ishlab chiqilgan birinchi til [[:ru:Фортран|FORTRAN]] ('''''FOR'''mula '''TRAN'''slation'') boʻlib, 1956-yilda (birinchi yoʻriqnomasi 1956-yilda paydo bo'lgan, lekin birinchi bo'lib 1954-yilda ishlab chiqarila boshlangan) [[IBM]]da Jon Bekus boshchiligidagi guruh tomonidan ishlab chiqilgan. U ilmiy-texnik hisob-kitoblar uchun moʻljallangan edi.
 
== Manbalar ==
{{manbalar}}
[[Turkum:Dasturlash tillari]]