Mirzo Ulug‘bek nomidagi O‘zbekiston Milliy universiteti Jizzax filiali “Amaliy matematika” fakulteti



Download 196,02 Kb.
bet9/20
Sana31.12.2021
Hajmi196,02 Kb.
#232075
1   ...   5   6   7   8   9   10   11   12   ...   20

Ochiq rekursiya


Qo'llab-quvvatlaydigan tillarda ochiq rekursiya, ob'ekt usullari bir xil ob'ektdagi boshqa usullarni (shu jumladan o'zlarini ham) chaqirishi mumkin, odatda maxsus o'zgaruvchi yoki chaqirilgan kalit so'z yordamida bu yoki o'zini o'zi. Ushbu o'zgaruvchi kechiktirilgan; bu bir sinfda aniqlangan usulga, keyinchalik ba'zi bir subklasslarda aniqlangan boshqa usulni qo'llashga imkon beradi.

Ob'ektga yo'naltirilgan dasturlashning zamonaviy ma'nosida "ob'ektlar" va "yo'naltirilgan" so'zlarni ishlatish terminologiyasi birinchi marta paydo bo'ldi MIT 50-yillarning oxiri va 60-yillarning boshlarida. Muhitida sun'iy intellekt guruh, 1960 yildayoq, "ob'ekt" aniqlangan narsalarga murojaat qilishi mumkin (LISP atomlar) xususiyatlari (atributlari) bilan;[10][11]Alan Kay keyinchalik LISP ichki qismining batafsil tushunchasini 1966 yilda uning fikrlashiga kuchli ta'sir sifatida keltirdi.[12]

Ob'ektlar tarmoqdagi biologik hujayralar va / yoki alohida kompyuterlar kabi, faqat xabarlar bilan aloqa qila oladigan narsalar haqida o'ylar edim (shuning uchun xabarlar boshida paydo bo'ldi - dasturlash tilida xabarlarni qanday qilib samarali ravishda amalga oshirishni ko'rish uchun biroz vaqt ketdi) foydali).

Alan Kay, [12]

MITning yana bir dastlabki namunasi Sketchpad tomonidan yaratilgan Ivan Sutherland 1960–61 yillarda; Sketchpad haqidagi dissertatsiyasi asosida 1963 yil texnik hisobotining lug'atida Sutherland grafik ob'ektlar bilan ishlashga ixtisoslashgan bo'lsa ham, "ob'ekt" va "instansiya" tushunchalarini aniqladi (sinf tushunchasi "master" yoki "ta'rif" bilan qoplangan).[13]Shuningdek, MIT ALGOL versiyasi, AED-0, ma'lumotlar tuzilmalari ("plekslar", shu shevada) va protseduralar o'rtasida to'g'ridan-to'g'ri aloqani o'rnatdi, keyinchalik "xabarlar", "usullar" va "a'zo funktsiyalari" deb nomlangan narsalarning shaklini yaratdi.[14][15]

1962 yilda, Kristen Nygaard da simulyatsiya tili uchun loyihani boshladi Norvegiya hisoblash markazi, uning oldingi ishlatilishiga asoslanib Monte-Karlo simulyatsiyasi va uning real tizimlarni kontseptuallashtirish bo'yicha ishi. Ole-Yoxan Dal rasmiy ravishda loyihaga qo'shildi va Simula dasturlash tili da ishlashga mo'ljallangan edi Umumjahon avtomatik kompyuter (UNIVAC) 1107. Simula bugungi kunda ob'ektga yo'naltirilgan dasturlashning ajralmas qismi bo'lgan muhim tushunchalarni taqdim etdi sinf va ob'ekt, meros va dinamik majburiy.[16] Simula shuningdek dasturlashni hisobga olish uchun ishlab chiqilgan va ma'lumotlar xavfsizligi. Xavfsizlikni dasturlash maqsadida aniqlash jarayoni amalga oshirildi mos yozuvlar soni so'nggi chora axlat yig'uvchi ichidagi foydalanilmagan ob'ektlarni o'chirib tashladi tezkor xotira (RAM). Ma'lumotlar ob'ekti g'oyasi 1965 yilgacha paydo bo'lgan bo'lsa-da, ma'lumotlar orqali kapsulalash qamrov darajasi uchun o'zgaruvchilarxususiy (-) va public (+) singari Simulada amalga oshirilmadi, chunki u kirish protseduralarini ham yashirishni talab qiladi.[17]

Dastlabki bosqichlarda Simula dasturlash tili uchun protsedura to'plami bo'lishi kerak edi ALGOL 60. ALGOL tomonidan qo'yilgan cheklovlardan norozi bo'lgan tadqiqotchilar Simulani UNIVAC ALGOL 60 kompilyatoridan foydalangan holda to'liq dasturlash tilida ishlab chiqishga qaror qilishdi. Simula 1965 va 1966 yillarda Dahl va Nygaard tomonidan targ'ib qilinib, Shvetsiya, Germaniya va Germaniyada dasturlash tilidan tobora ko'proq foydalanishga olib keldi. Sovet Ittifoqi. 1968 yilda til orqali Burroughs B5500 kompyuterlari, va keyinchalik ham amalga oshirildi URAL-16 kompyuteri. 1966 yilda Dahl va Nygaard Simula yozdilar kompilyator. Ular amaliyotga tatbiq etish bilan ovora bo'lishdi Toni XareIngliz tiliga o'xshash umumiy maqsadli simulyatsiya tilida erkin shaklda amalga oshirilgan rekord sinf kontseptsiyasi SIMSCRIPT. Ular yozuvlar sinfining xususiyatlari va prefikslarning ikkinchi qatlami bilan umumlashtirilgan jarayon kontseptsiyasiga qaror qildilar. Prefiks yordamida jarayon avvalgisiga murojaat qilishi va qo'shimcha xususiyatlarga ega bo'lishi mumkin. Shunday qilib Simula sinf va subklass ierarxiyasini va shu sinflardan ob'ektlar yaratish imkoniyatini taqdim etdi.

Uchun Simula 67 kompilyatori ishga tushirildi Tizim / 360 va Tizim / 370 IBM asosiy kompyuterlari 1972 yilda.[16] Xuddi shu yili frantsuzlar uchun Simula 67 kompilyatori bepul ishga tushirildi KII 10070 va CII Iris 80 asosiy kompyuterlar. 1974 yilga kelib, Simula foydalanuvchilari assotsiatsiyasining 23 ta turli mamlakatlardagi a'zolari bor edi. 1975 yil boshida Simula 67 kompilyatori uchun bepul chiqarilgan DECsystem-10 asosiy oila. O'sha yilning avgustiga qadar DECsystem-10 Simula 67 kompilyatori 28 ta saytga o'rnatildi, ulardan 22 tasi Shimoliy Amerikada. Ob'ektga yo'naltirilgan Simula dasturlash tili asosan ishtirok etgan tadqiqotchilar tomonidan ishlatilgan jismoniy modellashtirish, masalan, yuk portlari orqali kemalar harakatini va ularning tarkibini o'rganish va takomillashtirish modellari.[16]

1970-yillarda, ning birinchi versiyasi Kichik munozarasi dasturlash tili da ishlab chiqilgan Xerox PARC tomonidan Alan Kay, Dan Ingalls va Adele Goldberg. Smaltalk-72 dasturiy muhitni o'z ichiga olgan va shunday bo'lgan dinamik ravishda terilganva dastlab edi talqin qilingan, emas tuzilgan. Smalltalk ob'ektiv yo'nalishni til darajasida qo'llashi va grafik rivojlanish muhiti bilan ajralib turdi. Smalltalk turli xil versiyalardan o'tdi va tilga qiziqish ortdi.[18] Smalltalk-ga Simula 67-da kiritilgan g'oyalar ta'sir qilgan bo'lsa-da, bu sinflar dinamik ravishda o'zgartirilishi va o'zgartirilishi mumkin bo'lgan to'liq dinamik tizim sifatida ishlab chiqilgan.[19]

1970-yillarda Smalltalk ta'sir ko'rsatdi Lisp jamoasi qo'shmoq ob'ektga asoslangan texnikalar orqali ishlab chiquvchilarga tanishtirildi Lisp mashinasi. Lispgacha bo'lgan turli xil kengaytmalar bilan tajriba (masalan, LOOPS va Tatlar tanishtirish ko'p meros va aralashmalar) oxir-oqibat Umumiy Lisp ob'ekti tizimi, funktsional dasturlash va ob'ektga yo'naltirilgan dasturlashni birlashtiradigan va a orqali kengaytirish imkoniyatini beruvchi Meta-ob'ekt protokoli. 1980-yillarda protsessor arxitekturalarini loyihalashtirishga bir nechta urinishlar bo'lgan, ular xotiradagi ob'ektlar uchun apparat ta'minotini o'z ichiga olgan, ammo bu muvaffaqiyatsiz tugagan. Bunga misollar Intel iAPX 432 va Linn Smart Rekursiv.

1981 yilda Goldberg 1981 yil avgust sonini tahrir qildi Bayt jurnali, Smalltalk va ob'ektga yo'naltirilgan dasturlashni kengroq auditoriyaga tanishtirish. 1986 yilda Hisoblash texnikasi assotsiatsiyasi birinchisini tashkil qildi Ob'ektga yo'naltirilgan dasturlash, tizimlar, tillar va ilovalar bo'yicha konferentsiya (OOPSLA), unda kutilmaganda 1000 kishi ishtirok etdi. 1980-yillarning o'rtalarida Maqsad-C tomonidan ishlab chiqilgan Bred Koks, Smalltalk-dan kim foydalangan ITT Inc.va Bjarne StroustrupDoktorlik dissertatsiyasi uchun Simuladan foydalangan, oxir-oqibat ob'ektga yo'naltirilgan yaratishga kirishdi C ++.[18] 1985 yilda, Bertran Meyer ning birinchi dizayni ham ishlab chiqarilgan Eyfel tili. Dasturiy ta'minot sifatiga e'tibor qaratgan Eyfel bu faqat ob'ektga yo'naltirilgan dasturlash tili va butun dasturiy ta'minotni qo'llab-quvvatlovchi belgi. Meyer dasturiy ta'minot muhandisligi va kompyuter fanining oz sonli asosiy g'oyalariga asoslangan Eyfel dasturiy ta'minotini ishlab chiqish uslubini tasvirlab berdi Ob'ektga yo'naltirilgan dasturiy ta'minotni qurish. Eyfelning diqqat markazida Meyerning ishonchliligi mexanizmi muhim ahamiyatga ega. Shartnoma bo'yicha loyihalash, bu usulning ham, tilning ham ajralmas qismi.

The TIOBE dasturlash tilining mashhurlik ko'rsatkichi 2002 yildan 2018 yilgacha bo'lgan grafik. 2000 yillarda ob'ektga yo'naltirilgan Java (ko'k) va protsessual C (qora) yuqori o'rin uchun kurashdi.

1990-yillarning boshlarida va o'rtalarida ob'ektiv yo'naltirilgan dasturlash dominant dasturlash sifatida rivojlandi paradigma texnikani qo'llab-quvvatlaydigan dasturlash tillari keng tarqalganda. Ular orasida ingl FoxPro 3.0,[20][21][22] C ++,[23] va Delphi[iqtibos kerak]. Uning ustunligi tobora ommalashib borayotganligi tufayli yanada yaxshilandi grafik foydalanuvchi interfeyslari, bu asosan ob'ektga yo'naltirilgan dasturlash texnikasiga tayanadi. Yaqindan bog'liq bo'lgan dinamik GUI kutubxonasi va OOP tilining namunasini Kakao ramkalar yoqilgan Mac OS X, yozilgan Maqsad-C, ob'ektga yo'naltirilgan, Smalltalk asosida C ga kengaytirilgan dinamik xabar almashish. OOP asboblar to'plamlari ham mashhurligini oshirdi voqealarga asoslangan dasturlash (garchi bu kontseptsiya OOP bilan cheklanmasa ham).

Da ETH Tsyurix, Niklaus Virt va uning hamkasblari kabi mavzularni o'rganib chiqishgan ma'lumotlar abstraktsiyasi va modulli dasturlash (garchi bu 1960-yillarda yoki undan oldingi yillarda keng tarqalgan bo'lsa ham). Modula-2 (1978) ikkalasini ham o'z ichiga olgan va ularning keyingi dizayni, Oberon, ob'ektga yo'naltirish, sinflar va shunga o'xshashlarga alohida yondashuvni o'z ichiga olgan.

Ob'ektga yo'naltirilgan xususiyatlar ilgari mavjud bo'lgan ko'plab tillarga qo'shilgan, shu jumladan Ada, ASOSIY, Fortran, Paskalva COBOL. Dastlab ular uchun mo'ljallanmagan tillarga ushbu xususiyatlarni qo'shish ko'pincha kodning mosligi va saqlanib qolishi bilan bog'liq muammolarga olib keldi.

Yaqinda asosan ob'ektga yo'naltirilgan, ammo protsessual metodologiyaga ham mos keladigan bir qator tillar paydo bo'ldi. Bunday ikkita til Python va Yoqut. Ehtimol, so'nggi tijorat jihatidan eng muhim ob'ektga yo'naltirilgan tillar Javatomonidan ishlab chiqilgan Quyosh mikrosistemalari, shu qatorda; shu bilan birga C # va Visual Basic.NET (VB.NET), ikkalasi ham Microsoft uchun mo'ljallangan .NET platforma. Ushbu ikkita ramkaning har biri, o'z-o'zidan, amalga oshirishdan ajralmaslikni yaratish orqali OOP-dan foydalanishning foydasini ko'rsatadi. VB.NET va C # tillararo merosni qo'llab-quvvatlaydi, bu esa bitta tilda belgilangan sinflarga boshqa tilda belgilangan subklass sinflariga imkon beradi.



Download 196,02 Kb.

Do'stlaringiz bilan baham:
1   ...   5   6   7   8   9   10   11   12   ...   20




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish