Java – qat'iy tiplangan obyektga yo'naltirilgan dasturlash tili. Uni 1995-yilda yaratishdi va o'shandan beri ko'p yaxshilanishlar oldi. Barqaror ravishda reytinglarda dasturlash tillari va ish haqi dasturchilar reytinglarida yetakchi o'rinlarni egallaydi.
Eng muhimi, Java'ning reytingi yildan-yilga o'zgarib turmaydi, doimo yuqori darajada. Keling, Java'ning mashhurligini nima ta'minlayotganini ko'rib chiqaylik.
1. Cross-platforma - yozilgan kod bayt-kodga o'girilib JVMda ishlaydi. JVMning turli platformalar uchun ishlanmalari mavjud, demak, bir marta yozilgan kod Windows, Linux, macOS va hatto Arduino, aqlli muzlatgich, changyutgich kabi turli ekzotiklarda ham ishlaydi... Ya'ni, kod turli platformalarda va operatsion tizimlarda ishlaydi va uni har biriga moslashtirish shart emas.
2. Avtomatik xotira boshqaruvi - dasturchiga operativ xotirada o'zgaruvchilarni qayerda saqlash haqida o'ylash shart emas, ularni qo'lda o'qish/yozishni va ma'lumotlarning yaxlitligini ta'minlashni talab etmaydi. Buyurtmachining biznes masalasini hal qilayotganda, masala haqida o'ylash kerak, qanday baytlarni qayta ishlash kerak emas.
3. Ishlash tezligi (just-in-time kompilyator) - statik kompilyatsiyaga qo'shimcha ravishda, "avvaldan" dinamik kompilyatsiya ishlaydi. Bu server kodlari uchun dolzarb, u oylar yoki hatto yillar davomida ishlashi mumkin. Ko'p ishlatiladigan kod turli variantlarda kompilyatsiya qilinadi va uning bajarilish vaqti o'lchanadi. Shunday qilib, dastur qancha uzoq ishlasa, shuncha tezroq ishlaydi. Bu faol ishlaydigan serverda. Zo'r, to'g'rimi?
4. Orqaga moslik - eski Java versiyalarida yozilgan kod yangi versiyalarda ham ishlaydi. Bu qulay: yangilanishdan keyin loyiha yarmini "yangilanish uchun" qayta yozish talab qilinmaydi va shu bilan birga, so'nggi xavfsizlik yamalaridan foydalanish mumkin.
5. Obyektga yo'naltirilganlik - odam obyektlar bilan fikrlaydi: stol, trolleybus, smartfon. Dasturchiga ish paytida g'ayrioddiy paradigmalar bilan fikrlash shart emas va bu bizning kodimizni ortiqcha xatolardan himoya qiladi. Masalan, ichki dizayner nuqtai nazaridan stol hajmi va uning joylashuvi muhim. Uning ishlab chiqarish sanasi, uni yarata olgan ishchining familiyasi, yetkazib beruvchi telefon raqami muhim emas. Bundan tashqari, kodda ma'lumotlar va ular bilan ishlash metodlari birga saqlanadi.
6. Statik tipizatsiya (fail-fast) - kompilyatsiya bosqichida o'zgaruvchilarni tegishli tiplarga tekshirish. Kompilyatsiyani barcha dasturchilar ishga tushirishadi, shuning uchun kompilyatsiya xatolari darhol aniqlanadi. Qanchalik kech kashf etilsa, xatoni tuzatish shunchalik qimmatga tushadi.
7. Sode as documentation - Java ingliz tilidagi gaplar kabi o'qiladi. Shuning uchun deyarli barcha hollarda hujjatlashga vaqt ajratishga hojat yo'q, chunki har qanday dasturchi kodga qarab, metod nima qilayotganini yoki interfeys qanday xatti-harakatlar uchun javobgar ekanligini tushunadi. Bundan tashqari, kodda barcha ob'ektlar to'g'ri nomlanadi. Ko'pincha metod nomidan uning nima qilayotganini tushunish mumkin.
Masalan, getContext() metodi kontekstni qaytaradi, age maydoni esa yoshni saqlash uchun javobgar. Java'da nom uzunligi tizim resurslariga ta'sir qilmaydi, bu esa kod bilan ishlashni osonlashtiradi. C'da esa yangi loyiha kelgan dasturchi, kod logikasini tushunish o'rniga, uni tahlil qilish bilan shug'ullanadi.
8. Ko'p open source kutubxonalar va ramkalar - dasturchilar kundalik amaliyotda duch keladigan vazifalarning 99% allaqachon kimdir tomonidan hal qilinib bo'lgan. Agar bunday yechimlar muvaffaqiyatli bo'lsa, vaqt o'tib, ular kutubxonalar va hatto ramkalarga aylanadi. 5 daqiqa google'da izlash yaxshimi yoki kvadrat g'ildirakdagi o'z velosipedini ixtiro qilishmi?
9. Katta jamoa - mashhur tilda ko'p dasturchilar bor, ular internetda ko'p savollar beradi, ko'p javoblar beradi, ko'p kod yozadi, ko'plab muammolarga duch keladi va ularni yechadi. Va qanchalik ko'p dasturchilar bo'lsa, til shunchalik mashhur bo'ladi va u shunchalik tezroq rivojlanadi. Bu yopiq doira, lekin.
Java'ning ko'plab ijobiy "xususiyatlari" aytildi, lekin yana bir nechta jihatni qo'shmoqchiman:
JVM (Java Virtual Machine) o'zi jarayon xotirasini boshqaradi: bu tufayli u xavfsiz va moliyaviy vositalar uchun #1 til hisoblanadi.
Java'da back-end serverlar (server logikasi) yozish juda qulay.
So'nggi vaqtgacha Java Android ilovalarining asosiy tili edi.
Hozirda esa Kotlin, bu JVM tili, va Java'dan bir necha funksiyalar va "syntactic sugar" bilan farqlanadi. Java'dan Kotlin'ga yoki aksincha o'tish bir necha kun davom etadi. Va Java yangilanish sikli hozirda yarim yillik bo'lgani uchun, uning keyingi versiyasida Kotlin uchun yozilgan barcha mavzular mavjud bo'lishi ehtimoldan xoli emas.
Ko'p taniqli kompaniyalar Java'dan foydalanadi: Google, Facebook, Twitter, Amazon, LinkedIn, eBay, JavaRush va boshqalar.
GO TO FULL VERSION