Stackoverflow so’rovnomasiga ko’ra 45.3% foydalanuvchilar Java tilini eng mashhur deb atashdi, Kotlinga esa jami bo’lib 4.5% ovoz berildi. 2019-yil may oyida esa Google Kotlin tilini eng ustuvor til deb e’lon qildi. Korporatsiya C++ va Javadan voz kechishga chaqirmadi, ammo dasturchilar o'rtasidagi tortishuvlar yanada qizib ketdi.

Quyida dasturchilardan qaysi dasturlash tilidan foydalanishlarini va Java va Kotlin kelajagini qanday ko'rishlari haqida fikrlari bilan tanishishingiz mumkin.

 

«Asosiy ishlar Javada qoladi va Kotlin tezroq rivojlanish uchun ishlatiladi.»

Dmitriy Kachalov, yetakchi dasturchi, Kelly IT Solutions

U qaysi tillarni biladi. Dastlab men veb-ishlab chiqish tillarini o'rgangan edim, ammo qaysidir vaqtda men mobil dasturlashni ham xohlardim. Men Android uchun dasturlashni o'rganishni boshladim va birinchi ilovalarni yoza olishim, telefonda ishlata olishim, bozorga chiqara olishim uchun Java tilini eng minimum darajada o'zlashtirdim. Bu narsa Kotlin bunday mashhur bo’lmagandagi voqealar edi.

Qaysi foydalanadi. Hozir korxona dasturlarini ishlab chiqishda men Javadan foydalanaman. Uning uchun ko'plab kutubxonalar mavjud, tayyor modullar mavjud. Bundan tashqari, Android Studio uni shunchalik qo'llab-quvvatlaydiki, siz tom ma'noda bitta xat yoza olasiz va kod siz uchun yoziladi. Bu juda qulay.

Mening amaliyotimda boshqa tilni bilishni talab qiladigan narsa yo'q edi. Odatda Java yetarli, chunki u ko'p kutubxonalarga ega va har qanday vazifani prinsipial ravishda bajarish mumkin. Ko'rib chiqilishi kerak bo'lgan yagona narsa - bu Android platformasining o'zining cheklanganligidir. Qaysi tilda bo'lishidan qat'i nazar, barcha cheklovlar ertami-kechmi platformaning cheklanishiga qarshi turadi. Menimcha, topshiriqni qaysi tilda amalga oshirishda katta farq yo'q, asosiysi aniq platformada ishlaydigan yaxshi yechim topishdir.

Nima uchun Java yaxshiroq? Unda siz bepul xizmatlar, o'zingizning API metodlaringiz, saytlar, serverlar, mobil ilovalar yozishingiz mumkin. Bu aslida universal til bo'lib, unda siz ko'p sonli operatsiyalarni bajarishingiz va turli xil dasturlarni ishlab chiqishingiz mumkin. Uning uchun ko'plab ishlanmalar va kutubxonalar mavjud. Va shuningdek - har doim savollarga javob berishga va yordam berishga tayyor bo'lgan internetda katta bir jamoa mavjud.

Tillarning qarama-qarshiligi va kelajagi to'g'risida. Kotlin, albatta, oldinga qadam tashlashga qiziqarli, ammo mening fikrimcha, u hech qanday yangi yondashuvlar va paradigmalarga olib kelmaydi. Bu shunchaki qisqa konstruksiyalar yordamida kod yozish vaqtini qisqartiradi. Shu bilan birga, u hali ham xuddi shu Javaga asoslangan.

Yaqin kelajakda Java hali ham eng mashhur bo'ladi. Asosiy ishlar Javada qoladi va Kotlin oddiy dasturlarni tezkor prototiplash yoki prototiplash sharoitida tez rivojlanish uchun ishlatiladi. Garchi bu juda provokatsion nuqtai nazardan bo’lsa ham. Kotlin Javaga mos keladi, shuning uchun Kotlinni biror narsa tubdan o'zgartiradi deb ayta olmaysiz.

 

«Agar siz yangi o’rganuvchi bo'lsangiz va Android bilan ishlashni xohlasangiz, Kotlinni o'rganing. Qolgan barcha hollarda men Javani tanlagan bo'lardim»

Artem Pervushov, litsenziyalangan Android ATC mutaxassisi, Netologiyada Android dasturlari kursi muallifi

Nima uchun Javani afzal ko'radi? Avvalo, siz Kotlin nimani anglatishini tushunishingiz kerak. Kotlin ko'proq sintaktik shirinlikka o’xshaydi. Menga juda ko'p shirinlik kerakmi? Ehtimol yo'q, men allaqachon Java kodini o'qishga va xato qilmaslikka odatlanganman (deyarli). Dasturlashda yangi kelganlar yanada murakkab Javani tanlashi kerakmi? Ehtimol, bunday emasdir.

Vaqtingizni investitsiyalashning afzalliklari haqida o'ylashingiz kerak. Java nafaqat Android va ish stoli haqidadir, balki uning ustida juda ko'p sonli boshqa loyihalar mavjud. Va agar siz Androiddan boshqa joyga bormoqchi bo'lsangiz, Java tilini bilish sizga yordam beradi.

Tillarning kelajagi haqida. Ehtimol, kelajakda Kotlin dunyoni egallab oladi yoki unday emasdir. Shuning uchun, mening maslahatim quyidagicha: agar siz yangi o’rganuvchi bo'lsangiz va o'z taqdiringizni Android bilan bog'lashga qat'iy qaror qilsangiz, Kotlinni o'rganing, bu qulay va trendda. Boshqa hollarda men Javadan foydalangan bo’lardim.

 

«Kotlinni umuman Javadan yaxshiroq deb bo’lmaydi, lekin Android uchun yaxshiroq»

Ilnaz Gilyazov, AIMS asoschilaridan biri, Netologiyada Kotlin Dasturchilar kursi muallifi

U qaysi tillarni biladi? Dastlab men kerak bo'lganda bir nechta tillarni o'rgangan edim: Assembler, C / C ++, keyin Java, JS, PHP, Python. Axborot xavfsizligi sohasida ishlaganim va ishlaganim sababli, bitta tilda to'xtay olmayman.

Qaysi tillarda ishlaydi?. Hozir men instrumentlarni mijozning vazifalari va xohishlariga qarab tanlayman. Bekend uchun - Java / Kotlin, ko'p narsalarga ega bo'lmagan yengil ishlar uchun - Go / NodeJS, frontend uchun - JS / TypeScript + Frameworks, tizim uchun - C ++ / Go. Ya'ni, men shaxsiy imtiyozlarni hisobga olmayman, lekin til va uning ekotizimining vazifalari va imkoniyatlaridan kelib chiqaman.

Nega Kotlinni afzal ko'radi? Kotlin tilining afzalliklariga yangicha qarashda, ishlab chiquvchilarga ko'p kod talab qilmaydigan sodda va qulay vositalarni taqdim etish istagidaligidir. Bular sintaktik soddalikdir. Kotlin sizga kamroq kod yozishga imkon beradi - bu juda yoqadi, albatta.

Androidda Javaning o'rniga Kotlinni tanlash kerak. Bekend dunyosida Kotlinning mavqei ancha past, garchi u yerda ishlasa ham. Spring Framework (ko'pchilik uchun standart hisoblanadi) Kotlinda Java uchun mavjud bo'lmagan imkoniyatlarni o'z ichiga oladi. Buning o’zi ko'p narsani anglatadi. Katta va murakkab fonda biz hali ham Javada ishlamoqdamiz, garchi ba'zi joylarda Kotlindan foydalansak ham. Muayyan mikroservis ko'p miqdordagi integratsiyani talab qilmaydigan mikroservis arxitekturasida, Kotlin o'zini juda yaxshi his qiladi.

Kotlin umuman olganda Javadan yaxshiroq emas, balki Android dunyosida yaxshiroqdir. Garchi bu haqda bahslashish mumkin bo'lsa ham, barchasi biz baholaydigan parametrlarga bog'liq.

Tillarning qarama-qarshiligi va kelajagi to'g'risida. Ishlab chiquvchilarning Kotlin va Java-dagi qarama-qarshiligi ba'zan umumiy kelishuv bo'lmagan va ikkala tilni ishlatadigan loyihalarda kuzatiladi. Va faqat bitta to'g'ri tilga ishonadigan fanatiklar bor. Aks holda, hamma narsa ko'proq yoki ozgina silliq bo'ladi, garchi integratsiya masalalarida silliq bo’ladi. Agar siz Androidning professori bo'lishni istasangiz, ikkala tilni ham bilishingiz kerak bo'ladi. Qanday bo'lmasin, siz doimo yangi tillar, kutubxonalar, frameworklar, g'oyalar va yondashuvlarni o'rganishga odatlanib qolishingiz kerak.

Hozir Androidda Javaning kelajagi noaniq. Biz Androidning barcha loyihalarini Kotlinga o'tkazganimizda, Androiddagi Java sakkizinchi versiyadan bir nechta fishkalari bilan yettinchi darajaga tushib qoldi. Va Google Oracle bilan nizolarini hal qilish va yangi versiyalarni qo'llab-quvvatlashni taklif qiladimi yoki hozirgi pozitsiyalari haqida to'xtaydimi yoki yo'qmi hali ham noma'lum. Shu sababli, Androidda Javani o'rganish, undan foydalanish va qo'llab-quvvatlashga sarmoya kiritish o'rta muddatli rivojlanish rejasida, hech bo'lmaganda, xavfliroq bo'lib tuyuladi.

O'z navbatida, Kotlin aniqroq ravishda ko'proq rivojlanadi va tilning barcha zamonaviy xususiyatlaridan foydalanishga imkon taqdim etadi, Androidga ishlab chiqish uchun bir qator qulaylik va imkoniyatlarni qo'shadi. Bu dasturchining qoniqishiga ta'sir qiluvchi muhim omil hisoblanadi.

Yaqin kelajakda Kotlin Javani almashtiradi deb o'ylamayman. Aksincha, u dastlab Javaga yo'naltirilganligi sababli Java bilan birga yashay oladi. Ko'pgina Java kutubxonalari Kotlinda qayta yoziladi deb umid qilishning hojati yo'q. Ammo siz Kotlinda yozishingiz mumkin va Javada yozilgan kutubxonalardan foydalanishingiz mumkin.

 

«Hozir hech kim faqat Java yoki faqat Kotlinni biladigan dasturchini qidirmayapti. Siz universal mutaxassis bo'lishingiz kerak»

Dmitriy Gordin, RoadAR-ning Android-ishlab chiqaruvchisi

Qarama-qarshilik haqida. Shaxsiy his-tuyg'ularga berilib fikr bildirmaslik uchun keling, bozorning asosiy o'yinchilarini ko'rib chiqaylik. Birinchidan, Google Kotlinni Android uchun asosiy rivojlanish tili sifatida tan oladi. Ikkinchidan, HH.ru, shuningdek O’zbekistonda ham ish beruvchilar saytidagi eng yaxshi kompaniyalarning bo'sh ish o'rinlarida Kotlin uchun talab katta.

Tilni tanlash haqida. Ikkala tilni ham bilishingiz kerak. Kotlinni bilish va Javani bilmaslik mumkin emas. Shuning uchun, Kotlinda dastur ishlab chiqaruvchisini qidirayotganlarini yozgan barcha ish beruvchilar aslida ikkala tilni ham qidirmoqdalar.

Menimcha, eng yaxshi usul - Javaga qulaylik berish va keyin Kotlinga muammosiz o'tishni boshlash. Kotlin Javadan bilgan barcha narsalaringizni ostin-ustun qilib qo'ymaydi. Siz ozgina o'zgarishlar bilan yangi tilga o'tishingiz va asta-sekin kodingizni o'zgartirib, unga jilo va Kotlinga xos funksiyalarni qo'shib "Java-method"da yozishingiz mumkin.

 

Shaxsiy fikrlarim

Androidga dastur tuzish uchun Java tilidan foydalanish, yaxshi albatta. Chunki Java tili nafaqat Android uchun, balki boshqa platformalarga dastur tuzishingizda ham kerak bo’ladi. Umuman olganda Java dasturlash tilini bilish yaxshi. Lekin siz faqat Android Studioda mobil ilovalar tuzishga qiziqsangiz, karyerangizni endi boshlagan bo’lsangiz, marhamat Kotlinni tanlang. Shunda sizni o’rganishingiz osonroq bo’ladi. Kotlin aslida Android ilovalarini ishlab chiqishda kodlarni soddalashtirishga mo’ljallangan.

 

Telegram-kanal: millionuzbekcoders

Bizning asosiy telegram guruhimiz: @uzbekcoderslive

Bizning telegram guruhimiz: Android OMUC