Kotlin - 1 - Giriş
Kotlin Nedir ?
“JetBrain” (InteliJ, Android Studio ve benzeri Çok kullanılan
IDE’lere imza atan ekip) tarafından geliştirilen
ve kabaca Java syntax’ının evrimleştirilmiş hali olarak niteleyebileceğimiz bir
programlama Dilidir. Kotlin Kodları JVM bytecode ‘a dönüştürülebilir ve Java
ile %100 iç içe çalışabilme uyumluluğu vardır. Ayrıca Google tarafından,
Android Platformu için kabul edilen resmi diller arasına eklenmiştir. Kotlin kodunu Javascript'e derleme yeteneği ile
Kullanım alanı ve rekabet gücü açısından ilerdedir.
Kotlin dilinin farkları:
1
1-) Temiz Kod
yapısı: Kotlin, Java dilinin törpülenmiş ve evrimleştirilmiş hali gibi
düşünürsek, aşağıdaki örnektede görülebileceği gibi Syntax olarak daha temiz ve
Anlaşılır bir yapıya sahip.
Kotlin:
fun main(args: Array<String>)
{
println("Hello, World!")
}
public class HelloWorld {
public static void main(String[] args) {
//Prints
"Hello, World" to the terminal window.System.out.println("Hello,
World");
}
}
2 2-) Null Güvenliği: Java
Dilinde sıklıkla yaşanabilecek, “Null Pointer Exception” hatasından dolayı
sıkıntı yaşamayan yoktur, sanırım. Kotlin Null değerleri gerek çalışma anında
gerekse Derleme sırasında Tüm Null kontrollerini gerçekleştirir, bu nedenle
oldukça rahatsız eden bir hatadan bizleri kurtarmış oluyor.
Örnek olarak, aşağıdaki şekilde bir kod
JAVA ortamında derlenecek ancak Çalışma esnasında hata fırlatacaktır.
String a = null;
System.out.println(a.length());
val a:String = null
val a: String? = null
println(a?.length)
3 3-) Fonksiyonel programlama: Kotlin üst
düzey fonksiyonel programlama özelliklerine sahip, input olarak ya da output
olarak fonksiyon kullanan fonksiyonlar yazılabilir.
Örnek olarak, Şu şekilde bir Filter
fonksiyonun kodunuza implement edildiğini düşünelim;
fun <T> filter(items: Collection<T>, f: (T) -> Boolean): List<T> {
val newItems = arrayListOf<T>()
for (item in items) if (f(item)) newItems.add(item)
return newItems
}
bir dataset filtrelenerek Fonksiyona
verilmek isteniyorsa, lambda ifade ile aşağıdaki şekilde ifade edilebilir,
filter(numbers, { value -> value >= 5 })
Bir adım ileriye taşırsak, ön tanımlı keyword “it” ile dahada kısaltılıp sadeleştirilebilir,
filter(numbers) { it >= 5 }
Böylece ifade
oldukça basit bir hale gelmiş oluyor.
4-) Uyumluluk:
Kotlin JDK 6 uyumludur, Böylece eski Android cihazlarda desteklenir ve Android
Studio ile tam uyumlu çalışır. Java Kodu ile %100 uyumlu olarak beraber
çalışabilir.
5-) Performans:
benzer bytcode yapısı sayesinde Java one kadar hızlı çalışabilir, lamda ifadeli
tek satıra indirgenmiş fonksiyonlar, Java da yazılan aynı koddan bile hızlı çalıştığı
ifade ediliyor. Kotlin runtime kütüphaneleri çok küçük boyutludur, sadece
birkaç yüz method ekler ve derleme sonrası yaklaşık 50-100K bir boyut artışına
neden olur. İlave bouta rağmen derleme metodunun etkili yapısı sayesinde çoğu
zaman Java yad denk hatta bazen daha kısa derleme zamanı sağlar.
Ağırlıklı olarak Android amaçlı Kotlin değerlendirilmiştir
ancak, sunucu ve javascript tarafı içinde Kotlin olduğunu unutmamak lazım,
Ayrıca Sunucu için Kotlin Java Web uygulaması destekleyren tüm sunucularda
Kullanılabilir.
Yorumlar
Yorum Gönder