6.2. Dasturiy vositalarning taraqqiyoti
Sizda Windows yoki Office kabi ulkan dasturlarning qanday qilib yaratilgan, - degan savol paydo bo'lishi tabiiy, albatta. Birinchi elektron hisoblash mashinalari yaratilganida ularda hisoblash ishlarining ketma-ketligini mashinaga ma'lum qilish uchun uning maxsus registrlari bir-biri bilan q?lda ulab chiqilgan. So'ngra esa, sim bilan ulash o'rniga maxsus relelar ishlatilgan va ularni o'chirish yoki yoqish bilan hisoblash ishlarining ketma-ketligi mashinaga ma'lum qilingan.
Mashinaning xotirasida berilmalar bilan birga hisoblash algoritmi, ya'ni dasturni ham saqlash EHM lar taraqqiyotida tub burilish yasadi. Dastlabki dasturlar EHM prosessorining farmoishlari ketma-ketligi bo'lib, bu farmoishlar ikkilik sanoq sistemasidagi sonlardan iborat edi. Shuning uchun ham bunday dasturlash mashina tilida dasturlash deb atalgan.
Yuzlab farmoishlarni va minglab xotira kataklari manzillarini eslab qolish juda qiyin bo'lib, bunday dasturlash paytida ko'plab xatolarga yo'l qo'yilar edi. Bu muammoni hal qilish uchun prosessorning har bir farmoishiga maxsus qisqa nom berilgan va xotira kataklariga manzil bo'yicha murojaat qilish o'rniga kataklar nomlangan. Masalan, ikkita baytni qo'shish uchun ADD, ayirish uchun STR (Subtract), mantiqiy "yoki" amali uchun OR, shartsiz o'tish amali sifatida GT (Go To) kabi nomlar qabul qilingan. Bunday qisqa nomlar yordamida dasturlash Assemblerda dasturlash deb atalgan. Assembler yordamida dasturlash juda osonlashgan va ko'plab dasturlar yaratila boshlangan. Shuning uchun uning nomi assembler deb atalgan.
Dastlabki vaqtlarda kompyuterlarning yetarli darajada tezkor xotiraga ega emasligi dasturlash vositalarining rivojlanishi uchun katta to'siq bo'lib kelgan. Yetarlicha xotira bilan ta'minlangan kompyuterlar ishlab chiqila boshlagach, dasturiy vositalar yaratishda yana bir keskin burilish yasaldi. Qisqa vaqt ichida minglab algoritmik tillar yaratildi. Ularning deyarli barchasining yagona foydalanuvchisi uning muallifining o'zi edi, lekin ular orasidan bir nechtasi keng tarqalib ketdi. Dasturlarni kompyuterga kiritish va saqlash ham ancha osonlashdi. Dastlab dasturlarni kompyuterga kiritish uchun ularni qattiq qog’ozdan yasalgan lenta yoki kartalarga teshik ochish orqali yozib borilgan.
Ularni perfolenta va perfokarta deb atashgan. Perfolenta va perfokartaga teshik ochish uchun perforatorlardan foydalanilgan. Bu usulning o'ziga yarasha kamchiliklari bo'lib, perfokartalar noto'g’ri tushganda, teshiklar noto'g’ri ochilgan yoki dastur noto'g’ri o'qilgan; perfokartalar aralashib ketavergan; erfolentalar shunchalar ko'p uzilar ediki, dastur ishlaguncha perfolentaning yarmisidan ko'pi qaytadan yozilar edi. Buni ko'z oldingizga keltirish uchun bir necha kunlar yordamida kiritilgan dasturlar bor-yo'g’i bir necha minut ishlashini aytish kifoya.
Bundan tashqari, dastur tuzuvchilar bevosita kompyuter bilan ishlashdan mahrum edilar. Kompyuterni ishlatish uchun maxsus tayyorgarlik ko'rgan operatorlargagina ruxsat berilgan. Dasturchilar esa o'z dasturlarini perforatorlar xonasiga eltib bergach, bir necha kun mobaynida natijani kutishgan. Dasturni maromlash uchun bu jarayon bir necha oy davom etgan. Doimo pand bergan mexanik qurilmalar - perforatorlar o'rnini konsollar egallashi bilan kompyuterlardan foydalanish ancha qulay ko'rinishga keldi. Konsol bu klaviatura va monitordan iborat qurilma bo'lib, klaviatura yordamida dastur kompyuterga kiritilgan, monitor esa kompyuterdan olingan natijalarni ekranga chiqarish uchun xizmat qilgan. Konsollar dasturchilarga bevosita kompyuter bilan ishlash imkonini bergan.
90-yillarga kelib, dasturlash vositalarida navbatdagi inqilob bo'lib o'tdi. Bu inqilob natijasida sun'iy tafakkur yaratish sari yana bir dadil qadam tashlandi. An'anaviy dasturlashda biron-bir ob'ektning xossalari alohida-alohida sonli yoki boshqa ko'rinishdagi kattalik orqali ifodalangan bo'lsa, ob'ektlarga tayangan dasturlashda ob'ektlarning xossalari emas, balki uning yaxlit o'zi tavsiflanadi. Misol sifatida televizorni oladigan bo'lsak, u to'g’risida to'g’ri tasavvurga ega bo'lish va undan to'g’ri foydalana bilish uchun uning narxi, o'lchamlari, ishlab chiqargan firmaning nomi, elektr tarmog’idan oladigan quvvati kabi xossalari bilan bir qatorda uni yoqish, o'chirish, boshqa kanalga o'tkazish, ovozini rostlash kabi hodisalarni ham bilish kerak. Bu xossa va hodisalarning ko'pchiligi, masalan, elektr tarmog’idan oladigan quvvati yoki ularni o'chirish-yoqish barcha elektron qurilmalar uchun taalluqli.
Ob'ektlarga tayangan dasturlashda ham ob'ektlar ularning xossalari va ular bilan bo'ladigan hodisalar to'plami sifatida o'rganiladi. Bundan tashqari, o'rganilayotgan barcha ob'ektlar avlodlarga ajratilgan bo'lib, ona ob'ektning xossalari va hodisalari bola avlod uchun o'rinli bo'ladi. Bu bilan misolda tanishib chiqamiz. Birinchi avlod ob'ekti sifatida nuqtani olamiz. Uning xossalari sifatida rangini, joylashgan o'rnini olamiz. Nuqta ustida ro'y beradigan hodisalar sifatida uni chizish va o'chirishni olamiz. Nuqtaga avlod ob'ekt sifatida kesmani olsak, nuqtaning barcha xossalari va hodisalari kesma uchun ham o'rinli: kesmaning ham rangi, joylashgan o'rni kabi xossalari; chizish, o'chirish kabi hodisalari bor. Kesmani chizish nuqtani chizishdan farq qiladi, shuning uchun bu hodisa kesma uchun qaytadan aniqlaniladi. Kesmaning nuqtanikidan boshqa xossalari ham bor, masalan, kesmaning yo'nalishi.
Demak, avlod ob'ektlar ajdod ob'ektlarida bo'lmagan xossa va hodisalarga ega bo'la oladi. O'z navbatida uchburchak, to'rtburchaklar ob'ekt sifatida kesmaning avlodi bo'ladi va ularning har biri geometrik figuralarning yangi avlodlarini vujudga keltiradi. Dasturlashda ob'ektlardan foydalanishning qulay tomoni shundaki, bir marta yangi ob'ekt kiritilsa, uning xossa va hodisalaridan butun dastur davomida foydalanish mumkin. Masalan, chizish hodisasini bajarish orqali har qanday geometrik figurani chizish mumkin yoki bir marta menyu ob'ektini yaratib qo'ysak, undan dasturning nechta joyida kerak bo'lsa, shuncha marta foydalana olamiz. Eng asosiysi, bunda boshqalar tomonidan yaratilgan ob'ektlardan ham foydalana olamiz. Hozirgi paytda tayyor ob'ektlar kutubxonasidagi minglab ob'ektlardan foydalanish mumkin. Ular orasida tayyor hatto matn va rasm muharrirlari, ma'lumotlar omborini boshqarish tizimlari, elektron jadvallar mavjud. Bu ob'ektlarning xossalarini o'zingiz uchun moslab, hodisalaridan keraklilarini olib, o'zingiz uchun qulay bo'lgan dasturiy vositani yarata olasiz. Shunday qilib, hozirgi paytda dasturlarni yaratish to'g’risida emas, balki dasturlarni yig’ish to'g’risida gapirish mumkin.
Bundan an'anaviy dasturlashni o'rganish kerak emas, - degan xulosa kelib chiqmaydi, chunki ko'pincha dasturchining o'ziga kerakli bo'lgan yangi ob'ektlarni yaratish, uning xossalari va hodisalarini kiritishga to'g’ri keladi. Ob'ektning xossalari an'anaviy dasturlashdagi o'zgaruvchilarning o'zidir. Xossalarning qiymatlarini bilish uchun qism-funksiyalardan foydalaniladi. Ob'ektning hodisalari esa bu qism-dasturdan boshqa narsa emas. Ob'ektlarga suyangan dasturlash dasturchini asosiy bo'lmagan, masalan, menyu tuzish, dasturning tashqi ko'rinishini maromiga keltirish kabi ishlardan holi qilib, yuqori sifatli dasturlarni tez suratlarda yaratish imkonini beradi.
Kezi kelganda, shuni ham aytib o'tish lozimki, ob'ektlar nafaqat dasturlashda, balki hujjatlarda ham juda keng qo'llanilmoqda va ko'p sohalardan dasturlashni keng ma'nodagi hujjatlar tomonidan siqib chiqarishiga olib kelmoqda. Misol sifatida ilgari faqat dasturlash yordamida yaratilgan o'qitishning texnik vositalarini hozir hech bir dasturlashsiz tayyor dasturiy vositalar yordamida grafik muharrrirda rasm chizish kabi yaratilayotganini keltirish mumkin.
Do'stlaringiz bilan baham: |