Dastur tillari tarixi
C++ 1980 yillar boshida Bjarne Stroustrup tomonidan C tiliga asoslangan tarzda tuzildi. C++ juda ko’p qo’shimchalarni o’z ichiga olgan,lekin eng asosiysi u obyektlar bilan dasturlashga imkon beradi.Dasturlarni tez va sifatli yozish hozirgi kunda katta ahamiyat kasb etmoqda. Buni ta’minlash uchun obyektli dasturlash g’oyasi ilgari surildi.Huddi 1970 yillar boshida strukturali dasturlash kabi, dasturlarni hayotdagi jismlarni modellashtiruvchi obyektlat orqali tuzish dasturlash sohasida inqilob qildi.C++ dan tashqari boshqa ko'p obyektli 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 obyektlarga asoslangan. C++ esa gibrid tildir. Unda C tiliga o’hshab strukturali dasturlash obyektlar bilan dasturlash mumkin.C++ funksiya va obyektlarning juda boy kutubhonasiga ega. Yani C++ dasturlash tilida dasturlashni o’rganish ikki qismga bo’linadi.Birinchisi bu C++ tilini o’zini o’rganish, ikkinchisi esa C++ ning standart kutubhonasidagi tayyor obyekt va funksiyalarni qo’llashni o’rganishdir. Byorn Stroustrup o'zining ehtiyojlari chun C dasturlash tiliga bir qator yangiliklar kiritmoqchi bo`ldi, ya'ni dastlab C ++ dasturlash tilini yaratish rejalashtirilmagan edi. U dastlab o`zi yaratgan dasturlash tilini “C with classes”(“C bilan sinflar”) deb nomladi. Dasturlash tilining dastlabki versiyasi 1980 yilda paydo bo'lgan. Straustrup dasturlash tiliga sinflar va ob'ektlar bilan ishlash imkoniyatini qo'shdi va shu bilan C sintaksisi asosida yangi dasturlash tili uchun zarur shart-sharoitlarni yaratdi. C++ sintaksisi C sintaksisiga asoslangan bo`lib, Byorn Stroustrup C tili bilan moslikni saqlashga intildi. 1983 yilda dasturlash tili "C ++ dasturlash tili" deb o'zgartirildi.C++ Cga ob'ektga yo'naltirilganlik xususiyatlarni qo'shdi. Oby’ektga yo`naltirilgan dasturlashning uchta xususiyatini mavjud:, meros (nasledo-vaniye), polimorfizm va inkapsulyatsiya. Usul(Metod) - bu sinf ichida e'lon qilingan va uning ob'ektlari bilan ishlashga mo'ljallangan funktsiyadir. Usullar sinf tanasida e'lon qilinadi.
Polimorfizm
Ob'ektga yo'naltirilgan dasturlashda qo'llaniladigan polimorfizmning maqsadi, sinf
uchun umumiy bo'lgan harakatlarni belgilash uchun bitta nomdan foydala-nishdir. Har bir harakatning bajarilishi ma'lumotlar turiga qarab belgilanadi. Polimorfizmning afzalligi shundaki, u bitta interfeysdan foydalanib yagona harakatlar sinfini aniqlashga imkon berish orqali dasturlarni soddalashtirishga yordam beradi.Inkapsulatsiya
C++ da ma'lumotlarni tashkil qilish klasslar orqali amalga oshiriladi. C++ klassi maydonlar, turlar va funktsiyalaridan iborat bo'ladi. C++ tilidagi inkapsulatsiya klass a'zolarining ta’sir doirasini belgilaydi: ular ommaviy, himoyalangan va xususiy bo`lishi mumkin.Standart kutubxona C ++ dasturlash tilida standart kutubxona sinflar va funktsiyalar to'plamini anglatadi. Standart kutubxona bir nechta asosiy konteynerlarni, ushbu konteynerlar bilan ishlash funktsiyalarini, ob'ektlarni, satr va oqimlarning asosiy turlarini, ba'zi til xususiyatlarini va amallarni bajarish uchun tez-tez ishlatiladigan funktsiyalarni o`z ichiga oladi. Masalan, sonning kvadrat ildizini topish. Standart kutubxonaning funktsional xususiyatlari std nomlar fazosida e'lon qilinadi.
Dasturlash tilidan dan farqli tomonlari:
• ob'ektga yo'naltirilgan dasturlashni qo'llab-
quvvatlash;
• andozalar orqali umumlashtirilgan dasturlashni
qo'llab-quvvatlash;
• qo'shimcha ma'lumotlar turlari;
• istisnolar;
• nom maydonlari;
• ichki funktsiyalar;
• operatorning yuklanishi(peregruzka);
• funktsiyalarning yuklanishi;
• a xotirani erkin boshqarish operatorlari;
• standart kutubxonaga qo'shimchalar.
Afzalliklari:
• C tili bilan yuqori muvofiqlik
• Hisoblash samaradorligi
• Turli dasturlash uslublarini qo'llab-quvvatlash: tarkibiy, ob'ektga
yo'naltirilgan, umumlashtirilgan dasturlash, funktsional dasturlash.
• Ob’yekt destruktorlarni avtomatik ravishda chaqirish xotira va boshqa
manbalarni boshqarish ishonchliligini soddalashtiradi va oshiradi.
• Ortiqcha yuklangan operatorlar
• shablonlar
• To'g'ridan-to'g'ri kompilyatorlar tomonidan qo'llab-quvvatlanmaydigan
paradigmalarni qo'llab-quvvatlash uchun tilni kengaytirish imkoniyati
mavjudligi.
• C ++ uchun turli tillarga tarjima qilingan juda ko'p o'quv adabiyotlari
mavjud Kamchiliklari:
• Noto'g'ri ishlab chiqilgan sintaksisning
mavjudligi tilning qo'llanilishini pasaytiradi
• Til ko'p muhim xususiyatlarga ega emas.
• Dasturchilar uchun unumdorligi ancha past
• Noqulay sintaksis
• Og'ir meros
• Xotirani kuzatib borish zarurati
Do'stlaringiz bilan baham: |