Kotlin — JetBrains kompaniyasi tomonidan ishlab chiqilgan va 2011-yilda e’lon qilingan, Java Virtual Machine (JVM) bilan to’liq mos keladigan statik tiplangan dasturlash tili. Til nomi Sankt-Peterburg yaqinidagi Kotlin oroli sharafiga qo’yilgan — xuddi JetBrains’ning boshqa mahsulotlari kabi geografik nom an’anasi davom ettirilgan.
JVM bilan moslik
Kotlin kodi Java bilan bir xil bayt-kodga kompilyatsiya qilinadi, shu sababli bitta loyihada Kotlin va Java fayllari birga ishlatilishi, hatto bir-birining klasslarini to’g’ridan-to’g’ri chaqirishi mumkin. Bu moslik kompaniyalarga mavjud Java kod bazasini butunlay qayta yozmasdan, asta-sekin Kotlin’ga o’tish imkonini beradi.
Null xavfsizligi
Kotlin’ning eng ko’p muhokama qilinadigan xususiyati — tur tizimida null qiymatlarni aniq belgilash talabi. O’zgaruvchi null qiymat qabul qilishi mumkinligini ifodalash uchun tur nomi oxiriga ? belgisi qo’yiladi (masalan, String?). Bu mexanizm Java dasturlarida keng tarqalgan NullPointerException xatoligining katta qismini kompilyatsiya bosqichidayoq aniqlash imkonini beradi.
Android’dagi rasmiy maqomi
2019-yilda Google Kotlin’ni Android ilovalarini ishlab chiqish uchun tavsiya etiladigan asosiy til deb e’lon qildi, garchi Java hamon to’liq qo’llab-quvvatilsa-da. Jetpack Compose — Android uchun zamonaviy deklarativ interfeys yaratish vositasi — to’liq Kotlin asosida qurilgan, bu esa tilning platforma ekotizimidagi o’rnini yanada mustahkamlagan.
Qisqalik va zamonaviy sintaksis
Kotlin data class, kengaytma funksiyalari (extension functions) va coroutine‘lar kabi imkoniyatlar orqali Java‘ga nisbatan ancha qisqa va o’qish oson kod yozish imkonini beradi. Masalan, oddiy ma’lumot saqlovchi klass Java‘da o’nlab qatorni talab qilsa, Kotlin’da bitta qatorda data class sifatida yozilishi mumkin.
Kotlin Multiplatform
Kotlin Multiplatform texnologiyasi bir xil biznes-mantiq kodini Android, iOS, veb va desktop ilovalar orasida ulashish imkonini beradi, faqat interfeys qatlami har bir platforma uchun alohida yoziladi. Bu yondashuv to’liq kod ulashishga asoslangan Flutter‘dan farqli o’laroq, har bir platformaning tabiiy (native) interfeys elementlaridan foydalanishga imkon beradi.
Bog’liq tushunchalar
JVM, Android, Java, JetBrains, Jetpack Compose, Null xavfsizligi, Coroutine