Dasturlash texnologiyasi


Muhitni standartlashtirish


Download 42.27 Kb.
bet4/7
Sana23.04.2023
Hajmi42.27 Kb.
#1383289
1   2   3   4   5   6   7
Bog'liq
ormatik

Muhitni standartlashtirish


Java-da kirish-chiqish, grafik, geometriya, dialog, ma'lumotlar bazasiga kirish va boshqa odatiy ilovalar uchun aniq belgilangan standartlar mavjud. C ++ bu borada ancha erkinroq. Agar dasturchi o'z standartini belgilamoqchi bo'lsa, grafik standartlari, ma'lumotlar bazasiga kirish va boshqalar kamchilik hisoblanadi.
    1. Ko’rsatkichlar


C ++ past darajali ko'rsatgichlar bilan ishlash qobiliyatini saqlab qoladi. Java -da ko'rsatgichlar yo'q. Ko'rsatkichlardan foydalanish ko'pincha topish qiyin bo'lgan xatolarga sabab bo'ladi, lekin past darajali dasturlash uchun juda zarur. Asosan, C ++ - da qo'lda xotira ajratish va ajratish va xavfli ko'rsatgich operatsiyalarini deyarli butunlay yo'q qilishga imkon beradigan vositalar (konstruktorlar va destruktorlar, standart shablonlar, havolalar) mavjud. Biroq, bunday istisno ma'lum dasturlash madaniyatini talab qiladi, Java tilida esa u avtomatik ravishda amalga oshiriladi.
    1. Dasturlash paradigmasi


C ++ dan farqli o'laroq, Java-bu faqat ob'ektga yo'naltirilgan til, protsessual dasturlash imkoniyati yo'q. Java -da erkin funktsiyalarni yoki global o'zgaruvchilarni e'lon qilish uchun faqat statik a'zolarni o'z ichiga olgan qo'g'irchoqli sinflar yaratish kerak. Hatto eng oddiy Java dasturining asosiy funktsiyasini aniqlash uchun uni sinfga qo'yish kerak.
    1. Turlar xaqida dinamik ma’lumotlar


C ++ da RTTI ob'ekt turlarini bir -biri bilan va turlarning harfiy qiymatlari bilan solishtirish imkoniyati bilan cheklangan. Java tizimida turlar haqida batafsil ma'lumot mavjud. Bu imkoniyat CTTI kompilyatsiya vaqtida to'liq turdagi ma'lumotlar bilan C ++ da qo'llanilishi mumkin.
    1. Protsessor


C ++ funktsiya va sinf ta'riflarini o'z ichiga oladigan, manba kodiga to'liq kiritilgan kutubxonalarni o'z ichiga oladigan, shuningdek, yuqori darajali kodni takrorlashning murakkab muammolarini hal qiladigan, oldingi protsessor yordamida metaprogramlashtirishga imkon beradigan oldingi protsessordan foydalanadi.
Bu mexanizm xavfli deb hisoblanadi, chunki protsessor makroslarining nomlari globaldir va makrolarning o'zi til tuzilishiga deyarli aloqasi yo'q. Bu murakkab nomlar to'qnashuviga olib kelishi mumkin. Boshqa nuqtai nazardan qaraganda, C ++ oldingi protsessordan foydalanishni deyarli butunlay yo'q qilish uchun etarli imkoniyatlarni (konstantalar, shablonlar, o'rnatilgan funksiyalar) ta'minlaydi. Java oldingi protsessorni butunlay yo'q qildi, uni ishlatish bilan bog'liq barcha muammolardan birdaniga xalos bo'ldi, shu bilan birga tilda kod yordamida oldingi protsessorni va matnni almashtirishni metaprogramma qilish imkoniyatini yo'qotdi.
Tillar orasidagi tafovutlar ikki til tarafdorlari o'rtasida qaysi til yaxshiroq ekanligi haqida qattiq tortishuvlarga olib keladi. Munozara asosan ma'nosiz, chunki Java tarafdorlari farqlar Java foydasiga, C ++ tarafdorlari esa buning aksiga ishonishadi. Vaqt o'tishi bilan ba'zi tortishuvlar eskirgan, masalan, 1990-yillarning birinchi yarmida ish vaqti muhiti borligi sababli Java-ning samarasizligi haqidagi ayblovlar, kompyuter ishining ko'chki kabi kuchayishi natijasida. yanada samarali ijro etish texnikasining (JIT) paydo bo'lishi, o'z ahamiyatini yo'qotdi. C ++, o'z navbatida, rivojlandi va standartning so'nggi versiyalarida uning bir qator kamchiliklari yo'q qilindi (masalan, shablonlarni qisman ko'rsatish mexanizmi paydo bo'ldi).
Hamma dasturchilar ham tillardan birining tarafdorlari emas. Ko'pchilik dasturchilarning fikriga ko'ra, Java va C ++ raqobatchilar emas, chunki ular har xil.
Boshqalar, ko'p vazifalar uchun til tanlash shaxsiy did bilan bog'liq, deb hisoblaydilar.



    1. Download 42.27 Kb.

      Do'stlaringiz bilan baham:
1   2   3   4   5   6   7




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