JavaRush /Kurslar /All lectures for UZ purposes /Компилятор ва байт-код

Компилятор ва байт-код

All lectures for UZ purposes
Daraja, Dars
Mavjud

1. Java – eng mashhur dasturlash tili

Siz bilardingizmi, Java — dunyodagi eng mashhur dasturlash tili ekanligini?

TIOBE reytingiga ko'ra, Java dasturlash tilidan dunyodagi barcha dasturchilarning 17% foydalangan. Ikkinchi o'rinda C bilan 16%. 20 yil avval esa, Java tili endigina paydo bo'lganda, C++ shubhasiz yetakchi edi, va hozir uning ulushi 7% dan kamroq.

Java tili 20-asrning 90-yillarida paydo bo'lgan va juda tez ommalashgan. Dasturchilar minglab C++ dan Java ga o'tishar edi. Bu faqat yana bir bor Java juda zo'r dasturlash tili ekanligini tasdiqlaydi.

Xo'sh, nimasi bilan u shunchalik zo'r? Yaratuvchilariga qanday qiziqarli narsalarni qo'shishgan?

Java va C++ tilini solishtirsangiz juda hayron qolasiz: Java juda kesilgan C++ ga o'xshaydi!

Ha, Java tili qisman juda qisqartirilgan C++. Va agar C++ da biror narsa 20 xil usulda bajarilishi mumkin bo'lsa, Java da bu faqat bitta usulda bajarilishi mumkin. Va siz savol berasiz, bu yerdagi afzallik nimada?

Gap shundaki, zamonaviy dasturlar juda katta, va dasturchilar ko'pincha o'z vaqtining 90% ni boshqa dasturlarning kodini tushunishga sarflaydi. Va faqat 10% yangi kod yozishga ketadi. Shunday qilib, ha, soddalik — bu afzallikdir.


2. Java-компилятор

Aytgancha, siz hali ham ko'p eshitasiz, Java ning boshqa tillar bilan solishtirganda inkor etilmas ustunligi — bu multiplatformalikdir. Bu nima va uni qanday yeyaylik? Uzoqdan boshlaylik.

Gap shundaki, kompyuter faqat eng oddiy buyruqlarni bajarishni biladi.

Itlar uchun "Yonimda", "Paw" va boshqa buyruqlar mavjud, ularni eshitib itlar muhim ish qiladilar. Kompyuterlarda bu buyruqlarning rolini raqamlar bajaradi: har bir buyruq ba'zi bir raqam bilan kodlanadi (bu raqam hali ham mashina kodi deb ataladi).

Dasturlarni raqamlar shaklida yozish juda qiyin, shuning uchun odamlar dasturlash tillarini va компиляторlarni ixtiro qilishgan. Bunday til, bir tomondan, inson uchun tushunarli, ikkinchi tomondan — компилятор uchun. Компилятор — bu maxsus dastur bo'lib, dasturlash tilida yozilgan dastur matnini mashina kodlar to'plamiga aylantiradi.

Odatda dasturchi dasturlash tilida dastur yozadi, so'ngra компиляторni ishga tushiradi, u dasturchi tomonidan yozilgan kod fayllariga asoslanib mashina kodi bilan bitta fayl yaratadi — yakuniy (компиляция qilingan) dastur.

  • C++ tilida dastur
  • Компилятор
  • Mashina kodlaridan iborat dastur
C++ tili uchun компиляция bosqichlari

Olingan dastur darhol kompyuterda bajarilishi mumkin. Bunday yondashuvning kamchiligi, olingan dastur kodi protsessor va operatsion tizimga juda bog'liq. Windows uchun компиляция qilingan dastur Android telefonida ishlamaydi.

Agar siz Android uchun dastur yozgan bo'lsangiz, u Windows operatsion tizimida ishlamaydi!

Lekin Java juda innovatsion yondashuvga ega.

  • Java tilida dastur
  • Java‑компилятор
  • Maxsus mustaqil kodlardan iborat dastur (байт-код)
  • Java VM
  • Mashina kodlaridan iborat dastur
Java tili uchun компиляция bosqichlari

Java компилятор hamma klasslarni bitta mashina kodlari dasturiga компиляция qilmaydi. O'rniga har bir klassni alohida компиляция qiladi, va bu mashina kodlari emas, balki maxsus oraliq kod (байт-код). Машина kodlariga компиляция dastur ishga tushirilganda amalga oshiriladi.

Xo'sh, dasturni ishga tushirilganda mashina kodiga kim компиляция qiladi?

Buning uchun Java Virtual Machine (Java VM) — Java Virtual Mashinasi deb nomlangan maxsus dastur mavjud. Avval u ishga tushiriladi, keyin esa байт-кодdan iborat dastur. Va Java VM kerakli dastur bajarilishi oldidan uni mashina kodga компиляция qiladi.

Bu juda kuchli yondashuv va Java ning to'liq ustunligining sabablaridan biridir.


3. Java ustunlik sohalari

Yuqorida keltirilgan afzalliklar tufayli, Java da yozilgan dasturlar deyarli har qanday qurilmalarda — kompyuter, telefon, bankomat, tosterni, bank kartalari ishlashi mumkin.

Bunday yondashuvning afzalliklari ko'p. Aynan shu sababli, Android da ham dasturlar Java da yoziladi. Ayni paytda mobil sektor rivoji tufayli, Java quyidagi dasturlash sohalarida ustunlik qiladi:

  1. Enterprise: banklar, korporatsiyalar, investitsiya fondlar uchun og'ir server dasturlar.
  2. Mobile: mobil ilovalar (telefonlar, planshetlar), Android tufayli.
  3. Web: PHP yetakchilik qiladi, lekin Java ham bir qator qismini egallaydi.
  4. Big Data: minglab serverlar klasterlarida taqsimlangan hisoblashlar.
  5. Smart Devices: aqlli uy, elektronika, internetga ulangan sovutgichlar uchun dasturiy ta`minot.

Java — bu nafaqat til, balki butun bir ekotizim: dasturingizda foydalanishingiz mumkin bo'lgan millionlab tayyor modullar. Internetda yordam yoki maslahat so'rash mumkin bo'lgan minglab jamoalar va forumlar mavjud.

Java da ko'proq dasturlash qilganingiz sari, "Nega aynan Java?" degan savolga ko'proq javob topasiz.

Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION