1-ma’ruza: Zamonaviy dasturlash texnologiyalari.
Reja
:
1. Zamonaviy dasturlash tillari, texnologiyalari.
2. Dasturlash
tillari va tizimlari, ularning ishlatilishi va tasnifi.
3.Dasturlash tillarining asosiy tashkil etuvchilari
Tayanch iboralar:
kommunikatsiya, dasturiy ta’minot, tashxis, teskari aloqa,
loyihalash, foydalanuvchi interfeysi, foydalanuvchi, aniqlik, Stereotip, buyurtmachi,
dasturchi, samaradorlik.
Har bir o‘qitish jarayoni kabi, dasturlashni o‘qitish tovuq va tuxum dilemmasiga borib
taqaladi. Biz ishni tezroq boshlashni istaymiz, ammo bir vaqtning o‘zida nima uchun aynan shu
mavzularni tanlaganimizni tushuntirib berishni hoxlaymiz. Biz vaqt yo‘qotishni istamaymiz,
shu bilan birga sizni shoshiltirishni ham hohlamaymiz.
Ushbu mavzu, biz dasturlashda muhim va qiziqarli deb hisoblaydigan, bizning
qarashlarimizni ifodalaydi. Unda biz bir necha o‘n yillar davomida shug‘ullanayotgan
ishimizning sabablari keltirilgan. Mavzu sizga bizning asosiy maqsadlarimizni va dasturchilar
qanday bo‘lishi haqidagi tushunchani beradi. Ushbu mavzuda ayrim savollarga javob topishga
xarakat qilamiz. Nima uchun dasturlash diqqatga sazovor mashg‘ulot hisoblanadi? Bizning
sivilizasiyamizda dasturlash qanday ahamiyatga ega? Dasturchilar kelgusida mag‘rurlanishi
mumkin bo‘lgan sohalar? Dasturiy ta’minotlarni ishlab chiqish, qo‘llash sohasida qanday
masalalar ustida bosh qotirilmagan? Dasturlash axborot texnolgiyalari, dasturiy ta’minotni
ishlab chiqishda, kompyuter ilmlari sohasida qanday o‘ringa ega? Dasturchilar nimalar
bilan shug‘ullanadi? Ular qanday mahoratga ega bo‘lmoqlari lozim?
Tinglovchilar uchun biror-bir g‘oya, uslub yoki darslikning ba’zi boblarini
o‘rganishining asosiy sabablaridan biri imtihondan yaxshi baho olish bo‘lishi mumkin, ammo
buning uchun yuqori maqsad ham bo‘lishi mumkin. Dasturiy ta’minot ishlab chiqarish
sohasida ishlayotgan shaxslar uchun biror-bir g‘oya, uslub yoki darslikning ba’zi boblarini
o‘rganishining asosiy sabablaridan biri sifatida oylik oshirishi, lavozimni ko‘tarish
imkoniyatiga ega bo‘lgan boshliqning quvvatlashi bo‘lishi mumkin, ammo buning uchun
bundan ham yuqoriroq maqsadlar ham bo‘lishi mumkin Agar bizning ishimiz olamni
yaxshiroq qilsa, boshqa insonlarga yordam bersa, biz yaxshiroq ishlaymiz. Biz yillar
davomida yechayotgan masalalarimiz uchun (professional martabasi shulardan tashkil
topadi) g‘oyalar va oliy maqsadlar hayotiy muhim hisoblanadi.
Sivilizasiyamiz hayotiy faoliyati dasturiy ta’minot bilan bog‘liqdir. Dasturiy
ta’minotni yaxshilash va uning tadbiqi uchun yangi sohalarni axtarib topish ko‘p insonlarning
hayotining yaxshilanishiga olib keladi. Bunda dasturlash muhim ahamiyatga ega.
Kompyuterlar insonlar uchun va ular tomonidan yaratilgan. Kompyuter universal
qurilma bo‘lib, undan keng ko‘lamdagi masalalarni yechish uchun foydalanish mumkin. A
yn an shuning uchun ham dasturlar foyda keltiradi.
Nomdor kompyuter ilovalari haqida o‘ylab ko‘ring. Kompyuter qurilmalari, tizimlari
dasturiy ta’minot fragmentini ishlab chiqishni o‘nlab, yuzlab, xattoki minglab insonlar
ishtirokisiz tasavvur qilib bo‘lmaydi. Bunda dasturchilar, loyihachilar, testlovchilar,
animatorlar, psixologlar, ma’murlar, loyiha menedjerlari, foydalanuvchi interfeysini
yaratuvchilar, uskuna ta’minoti interfeysini yaratuvchilar, sifat bo‘yicha injenerlar, texnik
topshiriqlarni ishlab chiquvchi mutaxassislar, dasturiy ta’minot ishlab chiqish bo‘yicha
menedjerlar, dasturlar kutubxonasini tashkil qiluvchi mutaxassislar, xavfsizlik xizmati
xodimlari kabilar qatnashadi.
Bunda yagona murakkablik shundan tashkil topgan-ki, yaxshi dasturiy ta’minot ishlab
chiqarilishiga ta’sir etuchi barcha insonlar turli ta’limga egaligi, ularning turli qiziqishlari va
odatlari mavjudligini e’tiborga olish lozim. Ushbu insonlarga bizning hayotimiz sifati, ayrim
hollarda xatto hayotimiz ham bog‘liq. Hyech bir inson yuqorida keltirilgan barcha vazifalarni
bajara olmaydi.
Biz hamma vaqt dasturchilar va dasturlash haqida so‘z yurityapmiz, ammo dasturlash
umumiy tasvirning bir qismidir. Kema yoki mobil telefonni ishlab chiqaruvchi shaxslar
o‘zlarini dasturchi deb hisoblanmaydi. Bundan tashqari, dasturlash dasturiy ta’minot ishlab
chiqishning muhim qismi bo‘lsa ham, dasturiy ta’minot ishlab chiqish—bu faqtgina
dasturlash emas..
Shunday qilib, dasturlash biz uchun nega kerak? Balki, mohir dasturchi bo‘lmagan
holda, siz uni o‘zingizning tadqiqotlaringizda asosiy uskuna sifatida qo‘llarsiz. Balki, siz
dasturlashni kasb qilib olgan holda, o‘z ishingizning bir qismiga aylantirishingiz mumkin
bo‘lar. Xattoki, siz dasturlashni kasb qilib olgan holingizda ham, dasturlashdan boshqa ilmga
ega bo‘lasiz.
Dasturlash — o‘z g‘oyalarini dastur ko‘rinishida ifodalash usulidir. Bu masalalar
yechishga yordam beradi. Agar sizning g‘oyalaringiz bo‘lmasa, yechilishi lozim bo‘lgan
masalalar bo‘lmasa, dasturlash vaqtni bekor o‘tkazish demakdir.
Dasturlash, xattoki keng miqiyosda, kattorq ilmiy fanning qismi xisoblanadi. Biz uni
dasturiy ta’minot bilan bog‘liq axborot texnologiyalari, kompyuter texnikasi,
kompyuterlashtirilgan fanlar yoki boshqa ilmiy fanning bir qismi sifatida ko‘rishimiz mumkin.
Dasturlash informatikada, texnikada, fizikada, biologiyada, medisinada, tarixda, adabiyotda
va boshqa akademik sohalarda qo‘llanadigan qo‘shimcha texnologiyadir.
Dasturlash — amalda qo‘llash, tajriba asosida tahrirlash, tekshirish imkoniyatini
yaratuvchi amaliy va fundamental masalalar yechilishini ifodalovchi asosiy uskunadir.
Dasturlash — g‘oyalar va nazariya voqyelik bilan to‘qnashuvchi fandir; unda
kompyuterlashtirilgan fanlar nazariy bo‘lmasdan eksperimental fanga aylanadi va olamga ta’sir
etishni boshlaydi. Bunda qayd etish lozimki, dasturlash — amaliy va nazariy uslublarni
amalga oshiruvchi vositalardir.
C++ dasturlash tili C tiliga asoslangan. C esa o'z navbatida B va BCPL tillaridan kelib
chiqqan. BCPL 1967 yilda Martin Richards tomonidan tuzilgan va operatsion
sistemalarni yozish
uchun mo'ljallangan edi. Ken Thompson
o'zining B tilida BCPL ning ko'p hossalarini kiritgan va B da UNIX operatsion sistemasining
birinchi versiyalarini yozgan. BCPL ham, B ham tipsiz til bo'lgan. Yani o'garuvchilarning ma'lum
bir tipi bo'lmagan - har bir o'zgaruvchi kompyuter hotirasida faqat bir bayt yer
egallagan. O'zgaruvchini qanday sifatda ishlatish esa, yani butun sonmi, kasrli sonmi yoki
harfdekmi, dasturchi vazifasi bo'lgan.
C tilini Dennis Ritchie B dan keltirib chiqardi va uni 1972 yili ilk bor Bell
Laboratoriyasida, DEC PDP-11 kompyuterida qo'lladi. C o'zidan oldingi B va BCPL tillarining
juda ko'p muhim tomonlarini o'z ichiga olish bilan bir qatorda o'zgaruvchilarni tiplashtirdi va bir
qator boshqa yangiliklarni kiritdi. Boshlanishda C asosan UNIX sistemalarida keng tarqaldi.
Hozirda operatsion sistemalarning asosiy qismi C/C++ da yozilmoqda. C mashina arhitekturasiga
bog'langan tildir. Lekin yahshi rejalashtirish orqali dasturlarni turli kompyuter platformalarida
ishlaydigan qilsa bo'ladi.
1983 yilda, C tili keng tarqalganligi sababli, uni standartlash harakati boshlandi. Buning
uchun Amerika Milliy Standartlar Komiteti (ANSI) qoshida X3J11 tehnik komitet tuzildi. Va 1989
yilda ushbu standart qabul qilindi. Standartni dunyo bo'yicha keng tarqatish maqsadida 1990 yilda
ANSI va Dunyo Standartlar Tashkiloti (ISO) hamkorlikda C ning ANSI/ISO 9899:1990
standartini qabul qilishdi. Shu sababli C da yozilgan dasturlar kam miqdordagi o'zgarishlar yoki
umuman o'zgarishlarsiz juda ko'p kompyuter platformalarida ishlaydi.
C++ 1980 yillar boshida Bjarne Stroustrup tomonidan C ga asoslangan tarzda tuzildi. C++
juda ko'p qo'shimchalarni o'z ichiga olgan, lekin eng asosiysi u ob'ektlar bilan dasturlashga imkon
beradi.
Dasturlarni tez va sifatli yozish hozirgi kunda katta ahamiyat kasb etmoda. Buni ta'minlash uchun
ob'ektli dasturlash g'oyasi ilgari surildi. Huddi 70-chi yillar boshida strukturali dasturlash kabi,
programmalarni hayotdagi jismlarni modellashtiruvchi ob'ektlat orqali tuzish dasturlash sohasida
inqilob qildi.
C++ dan tashqari boshqa ko'p ob'ektli dasturlshga yo'naltirilgan tillar paydo bo'ldi.
Shulardan eng ko'zga tashlanadigani Xerox ning Palo Altoda joylashgan
ilmiy-qidiruv markazida
(PARC) tuzilgan Smalltalk dasturlash tilidir. Smalltalk da hamma narsa ob'ektlarga asoslangan.
C++ esa gibrid tildir. Unda C ga o'hshab strukturali dasturlash yoki yangicha, ob'ektlar bilan
dasturlash mumkin. Yangicha deyishimiz ham nisbiydir. Ob'ektli dasturlash falsafasi paydo
bo'lganiga ham yigirma yildan oshayapti.
C++ funksiya va ob'ektlarning juda boy kutubhonasiga ega. Yani C++ da dasturlashni
o'rganish ikki qismga bo'linadi. Birinchisi bu C++ ni o'zini o'rganish, ikkinchisi esa C++ ning
standart kutubhonasidagi tayyor ob'ekt/funksiyalarni qo'llashni o'rganishdir.
Nazorat savollari
1.
Dasturiy ta’minot nima?
2.
Dasturiy ta’minotning muhimligi nimada?
3.
Dasturiy ta’minotning zaruriyligi nimada ko‘rinadi?
4.
Dasturiy ta’minot noto‘g‘ri ishlasa, qanday xodisa ro‘y beradi? Misollar keltiring.
5.
Dasturiy ta’minot qanday sohalarda muhim ahamiyatga ega? Misollar keltiring.