Nedir Bu Kotlin ?

Mahmut Hüdayi Aydın
Android Türkiye
Published in
6 min readAug 6, 2019
Kotlin image

Merhabalar,bugünkü yazımda sizlere Kotlin programlama dili hakkındaki, akılda kalan soru işaretlerini gidermeye çalışacağım.Kotlin’e gerek var mıydı?Kotlin’in Java’dan artıları, eksileri? Kotlin’in Java’nın eksiklerini giderdiği yönler? Hadi hep birlikte bu soruların cevaplarını bulalım… :)

Tanım Olarak Kotlin ?

Kotlin programlama dili,Rusya merkezli yazılım şirketi, Jetbrain tarafından desteklenen Java sanal makinesi (JVM) üzerinde çalışan ve ayrıca Javascript kaynak koduna derlenebilir statik tipli bir programlama dilidir.

Yükselen Güç Kotlin

Google’ın her yıl geleneksel olarak düzenlediği lansman ve bilgilendirme etkinliği olan I/O ‘da Google, Android platformu için programlama dili olarak Kotlin’i destekleyeceğini duyurmuştu.

Bu duyuru, yazılım çevrelerinde devrim yarattı, bunun sebebi yeni gündeme getirilen Kotlin programlama dilinin, Java programlama diliyle otomatik olarak dönüştürülebilmesiydi. Ancak temel anlamda düşünüldüğünde, Kotlin dili daha basit ve insan diline daha yakın olması sebebiyle Java geliştiriciler için büyük kolaylık sağlamış ve geliştiricilerin Kotlin’e yönelimini hızlandırmıştır.

(Kotlin ve Java kod karşılaştırması ekte ki görseldedir.)

Java ile Kotlin kod karşılaştırması

Aşağıdaki video’da Google I/O etkinliğinden bu konu hakkında daha fazla bilgi edinebilirsiniz.

Genel Kültürünüze Katkı Sağlayacak,Kısaca Kotlin Üzerine Bazı Anektotlar:

  • Kotlin, 2010 yılında Rusya merkezli JetBrains firması tarafından ilk kez gündeme getirildi.
  • Kotlin, 19 Temmuz 2011 yılında JVM Language Summit etkinliğinde duyuruldu.
  • Kotlin, statik bir programlama dilidir.
  • Kotlin, Apache 2.0 lisansı altında geliştirilen açık kaynak kodlu bir projedir.
  • Projenin kaynak kodları herkese açıktır. Projeye destek olmak adına geliştirmeler yapabilirsiniz. Projeyi incelemek ve destek olmak için Github adresini ziyaret edebilirsiniz : https://github.com/jetbrains/kotlin
  • Kotlin’in ismi ise Rusyada bulunan Kotlin adasından gelmektedir.
  • Kotlin dilini öne çıkaran en önemli etken ise : Google Şirketinin Android Developer bölümünün Kotlin diline güvenmeleri ve Android uygulamaları geliştirmek için Bu dili desteklemeleridir.
  • Kotlin, mevcut durumdaki Java kütüphanelerini kullanarak uygulama geliştirmeye olanak sağlar ve Java ile birlikte çalışmaktadır. Javadan bağımsız halde Kotlin dili düşünülemez.
  • Kotlin, nesneye yönelimli (object oriented) fonksiyonel bir dildir. Java, C# ve C++ gibi nesne yönelimli bir programlama dilidir.

(Nedir Bu Nesneye Yönelik Programlama ?)

  • Kotlin İle işletim sistemlerinin çekirdek yapılarında değiştirmeler yapılabilir.
  • Kotlin, Java’ya göre daha güvenli bir dildir. Peki bu güvenlik ne anlam ifade ediyor ? 1965 yılından beri nesne tabanlı programlarda kullanılan ve milyarlarca dolarlık zararlara yol açan null verisi Kotlin ile birlikte daha güvenli olarak ele alınıp sisteme zarar vermesi engellenmiştir. Kotlin de Null hatası almak için özel bir çaba sergilemelisiniz. Kotlin ve Java birlikte çalışmaktadır. Javanın içinde Kotlin’i , Kotlin’in içinde ise Javayı kullanabilirsiniz. Android Studio içinde yazmış olduğunuz Java kodunu kolaylıkla Kotlin diline çevirebilirsiniz.

Çoğu kişinin aklına gelen ilk soru normal olarak “Google Java’dan VAZ MI GEÇİYOR?” olmuştur. Kesinlikle böyle bir durum söz konusu değil arkadaşlar. Uydu cihazlarından akıllı telefonlara, drone’lardan akıllı televizyonlara dek Java‘nın çok geniş bir kullanım alanı bulunmaktadır ve uzun yıllar bu kullanım alanını devam ettireceği düşünülmekte.

(Dünya’da Java Olmasaydı Ne Olurdu ? )

Kotlin image

Neden Kotline Yöneldik ?

  • Birçok Kotlin özelliği sayesinde, performanstan ve güvenlikten gözardı etmeyerek Java’dan daha sade ve anlaşılabilir kodları etkinleştirebiliriz.
  • Kotlin, bytecode’a derlendiğinden, Java kadar iyi performans gösterebilir. Derleme zamanlarını ve kontrolleri(null kontrolleri gibi) kıyasladığımızda hızlarının aynı olduğu görebiliriz.En önemlisi Kotlin’in dil özellikleri ve standart kütüphane işlevleri kısaca etkili kodu etkinleştirir.
  • Kotlin’i avantajlı kılan bir diğer özellik olarak, Java’ya göre kod satırlarında gözle görülür bir oranda daha kısa kod satırlarına sahip olmasıdır.Bu konuya örnek vermek gerekirse aşağıdaki fotoğrafta Kotlin’e ait kod satırlarının Java ile olan kıyaslamasınızı görebilirsiniz.
Java ile Kotlin kod karşılaştırması
  • Kotlin’in bunlar gibi çoğu özelliği ile hem daha rahat anlaşılabilir olması hemde hızlı ve daha kısa olması Kotlin’i Java karşısında bir adım öne çıkaran konulardan bazıları olarak gösterebiliriz.
  • Android geliştiricilerin dikkatini çeken bir diğer özellik ise Kotlin’in OS’den bağımsız olarak güncellenebiliyor olmasıdır. Java özellikleri Android işletim sistemine bağlı olduğundan çoğu zaman yeni dil özeliklerini vb. özellikleri gözden kaçırabiliyoruz.
  • Kotlin’in bir diğer önemli özelliği ise, iyi bir geliştirme ortamı olmasıdır. Kotlin ilk olarak büyük geliştirici araçlar üreten firma olan JetBrains tarafından geliştirildi.Bu sayede Kotlin’i kullandığınızda geliştirme yapmak için ihtiyaç duyduğunuz tüm araçlara sahip olmanızı sağlıyorlar. Ve şimdilerde Kotlin, Google Android tarafından desteklenerek gücünü kayda değer bir şekilde arttırdı .

Kotlin Vs Java

Bu karşılaştırmayı üç ana başlık altında inceleyelim…

A)Kotlin Java’da Olan Hangi Eksikleri Giderdi ?

B) Kotlin‘in Java’dan Fazlası ?

C)Java’nın Kotlin’den Fazlası ? şeklinde ayırabiliriz.

Kotlin image

A) Kotlin Java’da Olan Hangi Eksikleri Giderdi ?

Null referansların kontrol edilmesi,

Ham veri türü olmaması,

Dizilerin değişmemesi,

Doğru işlev türlerinin var olması,

İstisnaları kontrol etmez.

Kotlin image

B) Kotlin‘in Java’dan Fazlası ?

Null-safety

Smart casts

String templates

Properties

Primary constructors

Range

Operator overloading

Data Classes

Kotlin image

C) Java’nın Kotlin’den Fazlası ?

İstisna Kontrolü

Primitive Veri Tipleri

Statik Üyeler

Joker Tipler

Ternary Operatörü

Peki Bizim Kotlin’e İhtiyacımız Var Mıydı ?

Yıllardır kullanılan ve Andorid gelişimi için Java gibi üretken bir dile sahip olduğumuz halde neden başka bir programlama diline ihtiyacımız var? Kotlin, bu kadar güçlü ve kullanışlı mı? Java’ya denk veya Java’dan daha iyi olacak mı ?

Kotlin halihazırda birçok büyük şirket(Netflix, Uber, Trello, Pinterest, Corda vb.) tarafından kullanılmaktadır. Bu kullanım ağı günlük bazda milyonlarca insan tarafından kullanılan aplikasyonlardır ve Kotlin,çok sayıda başarılı Android uygulamasını da (Pinterest,Twitter,Airbnb,Basecamp, Keepsafe App Kilit uygulaması) içerir.

Apps built with Kotlin

Kotlin’i bu tür popüler alanlarda kullanmak, kod satırında ve Yöntem sayımında büyük bir düşüş göstererek zahmeti azaltacak ve kaliteli kod yazımının yanı sıra uygulama alanında büyük bir hızlanma katkısı göstererek,biz geliştiricilere bir çok kolaylık sağlayacaktır.

Özetle Kotlin’in faydalarını sayarsak…

1. Java Uyumluluğu

Kotlin, Java ile %100 uyumlu bir şekilde çalışabilmektedir. Java dili ile yazılmış bir projeye Kotlin dil desteği ekledikten sonra artık yeni eklediğiniz sınıfları Kotlin ile yazabilirsiniz. Veya Kotlin ile geliştirilmiş olan projenize Java kütüphanelerini sorunsuz bir şekilde ekleyebilirsiniz.

2. Daha Az Kod

Google Kotlin için “Uygulama geliştiricilerinizin mutluluğunu arttıracak bir dil.” demiştir. Kotlin kısa, temiz ve anlaşılabilir kodu sayesinde geliştiricilerin de tam onayını almıştır. Kodun daha temiz olması için bir çok yeni özellik eklenmiştir. Aşağıda Kotlin’in “Data Class” özelliğini kullanarak yazılmış kodu ve aynı işi yapan Java kodunu görebilirsiniz.

Java ile Kotlin kod karşılaştırması

3. Platform Desteği

Kotlin, Android uygulamaları dışında bir çok platformda kullanılabilmektedir. Java kullanabileceğiniz platformlarda kolaylıkla Kotlin kullanabilirsiniz. Kotlin’in kullanılabileceği bazı platformlar;

4.Aracı dostu

Kotlin jetbrains, profesyoneller için geliştirme araçları oluşturmak için ünlü bir şirket tarafından geliştirilmiştir. Şaşılacak bir şey yok, araç dostu. Herhangi bir Java IDE’Yİ seçebilir veya komut satırından oluşturabilirsiniz.

5. Kolay Öğrenilebilirliği ve Swift ile Benzerliği

Herhangi bir programlama diline hakim olan kişiler için Kotlin öğrenmek çok kolay. Kotlin, kendi geliştirmiş olduğu Kotlin Koans ile uygulamalı olarak öğrenmenize ve öğrendiklerinizi deneyimlemenize olanak sağlıyor. Ayrıca Kotlin dili, iOS uygulamalarını geliştirmekte kullanılan Swift diline çok benzemektedir. Böylelikle bu iki dilden herhangi birini öğrenmeniz iki platforma da uygulama geliştirebilmenizi kolaylaştıracaktır.

Tüm gerçekleri ve rakamları gördükten sonra Kotlin, Android geliştiricileri için harika bir yenilik gibi görünüyor. 2011 yılında başlayan bu yolculuk, oldukça şaşırtıcı sonuçlara sahip olacak gibi gözüküyor.

Faydalı olması dileğiyle…

--

--