JVM dilleri - Kotlin

Android üzerinde çalışanlar Android için uygulama kodlarken Java’nın bazen ne kadar sinir bozucu olduğunu bilir. JVM dillerinden Kotlin, bu konuda son yıllarda en çok dikkat çeken dil olmuş durumda. Özellikle defalarca kere bahsettiğim Google-Oracle restleşmesinden nasibini alan Android için bir çeşit vaha olmuş durumda. Ayrıca bu restleşmedeki taraflardan Google’da Android’i Java esaretinden kurtarmak için Kotlin’e destek vermiş durumda. Peki nedir bu Kotlin?

JetBrains tarafından tasarlanan Kotlin, birçok yönden Android geliştirme endüstrisi için tercih edilen dil haline geldi. Popülerliği açısından Java’yı geride bırakamasa da, birçok geliştirici Kotlin’in yakında Android geliştirme için baskın platform olacağını vurguluyor. Özellikle getirdiği araç setleri ve biraz daha gelişmiş özelliklere sahip hem derleme hem de çalışma sırasında hataları kontrol ederek, olası hataların sayısını önemli ölçüde azaltır. Ayrıca pek çok kestirme niteliğindeki özelliği ile Kotlin, kodun şişkinliğini de azaltıyor. Kotlin, Ekim 2017’de Android Studio 3.0’ın piyasaya sürülmesinden bu yana Android’de mobil geliştirme için Google tarafından resmi olarak destekleniyor.

Geliştiricilerin Java üzerinden Kotlin’i sevmelerinin ve daha sonra geçeceğini düşünmelerinin bazı nedenleri var. Bunlar şöyle sıralanabilir:

1. Daha kısa kodlar

Kotlin, okuması ve yazması çok kolay olan, statik olarak yazılmış bir dildir. Aynı problem için Java’nın kodundan çok daha basit ve daha kısa bir koda sahiptir. Bu, dili daha insan tarafından okunabilir hale getirdiğinden, hata ayıklaması kolay hale gelir. Kotlin’in kodu çok daha küçüktür ve Java ile karşılaştırıldığında programlama sürecini kolaylaştırır. Aslında programlama sürecinin kolaylaşmasının bir diğer sebebi de Android Studio’nun güzelliği de olabilir.

2. Kolay Kodlar

Kotlinde akıllı yayınlar ve dizgi şablonları bulunmakta. Bu kodun daha kısa olmasını sağlıyor ve olası hataları engelliyor. Kotlin, ayrıca farklı veri yapıları için değiştirilebilir ve değişmez veri bildirimi kullanmanın basit bir yolunu sunar.

3. Java Uyumluluğu

Sadece kütüphaneler değil, Java’nın birçok çerçevesi, bazı gelişmiş çerçeveler dahil, Kotlin ile uyumludur. Java’dan Kotlin’i, tüm bir projeyi Kotlin’e dönüştürmek gibi büyük adımlar atmadan kullanabilirsiniz. Bu, geliştiriciler için çok büyük bir avantajdır çünkü gerçekten yeni bir dil öğrenmek zorunda kalmazsınız. Java’yı bilen herkes Kotlin’e aşina olacak ve kodlama yapabilecektir. Hatta Android özelinde Java’yı Kotlin’e çevirmek kolaydır. IntelliJ veya Android Studio’da, Java’yı Kotlin’e çevirmek için bir Kotlin eklentisi olarak gerekli olan tek şeydir.

4. Null Reference Hatalarının Engellenmesi:

Kotlin’in Java’ya göre en büyük avantajlarından biri null referanslardır. İngiliz bilgisayar bilimcisi Sir Tony Hoare tarafından Milyar Dolarlık Hata olarak anılan bu boş referans hatası olmayan bir referansın bir üyesine erişimi ile olur. Bu, Java’nın NullPointerException veya NPE olarak adlandırıldığı en büyük dezavantajlarından biridir. Kotlin’in tür sistemi, koddan NullPointerException’ı ortadan kaldırmayı amaçlamaktadır.

5. Type Inference

Kotlin programlama dili tanımlanan herhangi bir değişkenin türünün tanımlanmasını esnek hale getirmiştir. Bunun en büyük dezavantajlarından birisi primitive veri tiplerini kaybetmemiz olsa da veri tiplerini daha dinamik yönetmemizi sağlar.

6. Java’nın Bazı Kusurlarının Çözümü

Düz eski Java’nın bir takım kusurları vardır. Çok meşhur boş gösterici problemini engeller. Kotlin, Java’nın yarattığı bu engelleri çözmeye çalıştı. Java’nın zorluklarının üstesinden gelmek için C# gibi bir dizi dilden ve esas olarak Scala’dan bazı şeyleri benimsemiştir. Pascal dilinden örnekler içerir ve Kotlin’in gelişiminde çok etkili olarak kabul edilir. Bir değişkeni takip eden veri türü ile parametre listeleri ve değişken bildirimleri gibi öğeler de Kotlin’de olabilir.

Kotlin, standart kodu kaldırır, olası hataları büyük ölçüde ortadan kaldırır. Delegasyonlar, geç başlatmalar gibi özelliklere sahiptir. Ayrıca, Java’da büyük bir sorun olan listelerde tür güvenliğini de ele alır. Jenerikler gelmeden önce yanlış yazılmış bir değişkeni bir listeye yazmak çok kolaydı. Bu genellikle çalışma süresi sırasında patlamaya neden olur çünkü derleyici bunu algılamaz.

Sonuç

Bu kadar. Herhangi bir ek sonucum yok maalesef. Neyse iyi okumalar.