Kotlin Programlama Dili : Nedir ?
Kotlin Android, JVM(Java Sanal Makinesi) ve tarayıcı üzerinde çalışabilen hem nesneye yönelimli (OOP) hem de fonksiyonel programlama(FP) paradigmalarını destekleyen statik tipli bir programlama dilidir. Kotlin’in geliştirilme sürecine JetBrains ekibi tarafından 2010 yılında başlanmıştır. Kotlin çok amaçlı , çapraz platform desteği olan modern bir programlama dilidir. 2019 yılı Stack Overflow anketine göre Kotlin 4’üncü en çok sevilen programlama dili ve profesyonel yazılımcılar arasında en popüler 15’inci Programlama dili olmuştur ve günümüzde 2 milyondan fazla yazılımcı tarafından kullanılmaktadır.

Kotlin’in 2016 yılında yayımlanan 1.0 versiyonu ile beraber günümüze kadar ulaştığı dönemde büyüme verilerini gösteren grafik.
Ayrıca 14 Eylül 2019 AppBrain verilerine göre :
Markette toplam uygulamaların %6.8 i Kotlin ile yapılmıştır.
Google Playstore Amerika Top 500 listesindeki her 100 uygulamadan neredeyse 36sı Kotlin ile geliştirilmiştir.
Pinterest , Evernote , Postmates, Coursera , Uber , Basecamp 3 , Kickstarter gibi popüler uygulamalar ise Javadan Kotline geçmişlerdir.
Peki Kotlin’in bu kadar hızlı yükselişindeki ana faktörler nelerdir sorusuna yanıt vermek istersek Google’ın desteğini ön plana koyabiliriz. Ama tabiki bu destek Kotlin iyi bir gelecek vadeden programlama dili olmasında dolayı olduğu detayını da kaçırmamalıyız. 2017 yılının Mayıs ayına kadar Google tarafından desteklenen Android geliştirme dilleri yalnızca Java ve C++’dı. Ta ki Google I/O 2017‘ye kadar. Bu tarihte Kotlin de bu listeye dahil edildi. Ayrıca Android Studio‘nun Java kodlarını Kotlin koduna çeviren bir dönüştürücüde sunması Kotlin’in gelişiminde bir pay sahibi olduğu kesin. Kotlin’in en önemli özelliklerinden biri ise “NullPointerException”lardan kurtulmak yani null hatası almak bir hayli zorlaşıyor. Aynı zamanda Kotlin Java ile uyumlu çalışıyor bu demek oluyor ki aynı proje içinde Kotlin ve Java ile farklı bölümleri kodlayabilirsiniz.
Genel görüşe göre Kotlin Android programcılığına yeni başlayacaklar için en ideal dil çünkü kodlama stili açık , derli toplu ve net. En büyük avantajlarından biriyse daha az kod satırıyla daha çok iş yapabilmek zaten neden bu kadar kullanışlı olduğunun düşünülmesinin temel nedenlerinden biride bu, iş yükünü azaltıyor olması yazılımcılar için. Uygulama çökme ihtimalini azaltmasıda (fail-fast compiler) Kotlini bir hayli öne çıkaran özelliklerinden biri.
Kotlin’in zayıf olduğu özellik ise kaynaklarda ve örneklerde olan yetersizlik ancak bunun doğal bir süreç olduğunu belirtmekte fayda var. Birkaç yıllık bir programlama dilinden beklenecek örnek sayısıda bellidir ama zaman ilerledikçe zaten her geçen gün artan ilgide örnek ve kaynak sayılarında artışı hızlandıracaktır. Açık kaynak kodludur . Apache 2.0 lisansı altındadır. Şu hususuda belirtmekte fayda var Kotlin/Native ile iOS , Linux gibi Android dışındaki platformlarda da yazılım geliştirebilirsiniz. iOS için uygulama geliştirme kılavuzuna şu linkten ulaşabilirsiniz.
Kotlin’in Geleceği
Gelecekte Kotlin’i neler bekliyor olabilir sorusunu ise klişeler ile cevaplandırmak istemiyorum. O yüzden biraz daha analiz yaparak ilerleyelim öncelikle yurtdışındaki birçok forum sitesinde Kotlin’in Yapay Zeka veya Deep Learning (Derin Öğrenme) , Machine Learning (Makine Öğrenimi) konularında ileride bir figür olup olamayacağı konusunda tartışmalar sürüyor. Burada en doğru analiz ise bence Derin Öğrenme konusunda öğrenme aşamasını yani Training kısımlarını kaldırabilecek bir formatta programlama dili olduğunu düşünmüyorum zaten bu konuda Python artık öncü konumundan tekel konumuna dönüşmüş durumda ama bu aşamadan sonraki , Derin Öğrenmenin kullanıldığı yani Yapay Zeka aşamalarında ise gayet kullanılabilecek (ki günümüzde de birkaç örnek gözüme çarptı) bir dil olduğunu düşünüyorum. Kullanım formatı ise yazılımlarda değerlendirme kısmında olabilir. Yani kullanıcıdan gelen veriyi bir veriseti(dataset) ile önceden eğitilmiş bir yapay zekanın o verileri değerlendirerek tepki vermesi. Derin Öğrenme işin içine kesin olarak girebilir ya da giremez demek zor bu aslında tamamen geliştirilmek istenen yazılıma bağlı ama Python’ın dominantlığını kırabileceğini kısa vadede düşünmüyorum ama uzun vadede yapılabilecek geliştirmeler ve hatta direkt bu yöne eğilim gösteren güncellemeler yani Büyük Veri (Big Data) , Derin Öğrenme ve Yapay Zeka kullanımını mümkün kılacak , kolaylaştıracak şekilde ilerlerse en azından mobil alanda hem Android hem iOS’te iyi bir fırsat yakalayabilir.
Faydalı Gördüğüm Linkler:
https://discuss.kotlinlang.org
https://blog.jetbrains.com/kotlin/
https://kotlinlang.org/docs/reference/
https://developer.android.com/kotlin/resources
https://developer.android.com/kotlin/get-started.html
https://hackr.io/tutorials/learn-kotlin
NOT: İlerleyen zamanlarda paylaşacağım diğer Geleceğin Programlama Dilleri ile ilgili yazılarımı ve Kotlin ile ilgili olacak eğitim yazılarımdan haberdar olmak için beni Twitter‘dan takip edebilirsiniz.
Kaynakça: 1 2 3 4 5 6 7
Stok Fotolar : pexels.comOkuduğunuz yazının tüm hakları yazar Bilal Onur Eskili’ye aittir. Bu sayfayı kaynak göstermeden yapılan tüm alıntılar ve kopyalamalar suç teşkil eder.Kopyalama ve alıntıları kaynak göstermeden yapan tüm kişiler bütün cezai yaptırımları kabul eder.