Data Vinci 23 : Kotlin

Tahmini Okuma Süresi: 5 dakika

Bu yazı serisini takip edenler farketmiş olacaktır ki birçok alanda yazılar yayınlamaktayım. Bunlardan bir diğeri olan “Kotlin” başlıklı yazı da kendi kişisel merakımdan ortaya çıktı. Kotlin web sitesindeki tanımıyla “Statically typed programming language” olarak lanse ediliyor. JetBrains firması tarafından geliştirilmiş bir programlama dilidir.  Wikipedia’da yazdığına göre kotlin kelimesi Kotlin Adasından gelmektedir. Bu da demektir ki günün birinde biz de bir programlama dili yapsak adına “Avşa” diyebiliriz.

Peki neden fakir bedenlerimize Kotlin enjekte etmeliyiz? Daha düşük seviye bir soru ise Java öldü mü? Bu sorulara verilecek cevaplardan ilki için, daha kolay ve hızlı yazılım geliştirilebilecek bir programlama dili olması diyebiliriz. Peki Java ölür mü? Dostum, sen Kotlin dersin cenazene Java gelir. Şu an için Java’nın ölmesi için gerekli semptonlar yok. Zaten pratikte Java ve Kotlin ile yazılan kodlar, aynı  çıktıyı üretiyor. O yüzden ister Java ile isterse Kotlin ile yazılım geliştirilsin, sonuç Bytecode olacağı için fazla tatava yapmaya gerek yok.

Temel kaygıları giderdikten sonra biraz daha fularlı bir soru biçimine gark edebiliriz. Kotlin abartılmış bir balon mudur? Yahut Kotlin “hype” bir kavram mıdır? Bu sorulara cevap arayalım. Öncelikle Kotlin‘i denemiş ve amansız bir şekilde savunan kişilerin dayandığı en büyük argüman Java‘nın eski bir dil olması, endüstri standartlarının gelişmesi ile de birçok modern dil yeniliğini de bir şekilde ıskalıyor olması.

Kotlin‘in özelliklerini listeleyecek olursak:

  • Staticly Typed, yani design-time’da kullanılacak değişkenin tipi belirtilmelidir.
  • Java ile uyumludur.
  • Kotlin ile yazılan kodlar, java kodlarına göre daha kısa olmaktadır. Buna izin veren özellikler ise Null-safety, Extension Functions, String templates, Singletons, Operator Overloading, Data Classes, Coroutines, Smart casts, Primary Constructors gibi maddeler ile ifade edilebilir. Detaylı kıyas için : Comparison to Java
  • Sözdiziminin daha “human friendly”, yani yazması kolay olması.

Her şey sütlimanmış gibi görünse de namespace kavramının olmaması,  static modifier kullanmanın biraz takla attırmak gerektirmesi ve dönüşüm işleminin zaman zaman @JvmField, @JvmStatic gibi işaretleyiciler ile yapılması, sentetik şeker olarak bilinen property accessor syntax kullanımının Java atomik metotlarında sıkıntı çıkarmasından dolayı suppress işlemi gereksinimi, her ne kadar “Line of Code” azalıyor olsa da “Method Count” artışı yaşanması bardağın boş tarafı olarak karşımıza gelmektedir. Az biraz cahil olanın beyni şu an yandı.:)

TL;DR

Pek uzun biraz yazı olmasa da , özetle Kotlin endüstri tarafından üretilmiş yazılımcı ihtiyaçları göz ardı edilmeden mümkün mertebe az karmaşık hedefiyle geliştirilmiş bir programlama dili. Bugünden yarına Java’nın yerini alacağını söylemek cahilliğin dibi olacakken, Android’in desteklediği diller arasına girmesi gelecekte Kotlin’i daha fazla duyacağız anlamına gelebilir. Bu bağlamda Kotlin denildiğinde en azından bir programlama dili olduğunu bilmek gerekir. Önümüzdeki süreçte mobil tarafta bir ihtiyacım olursa bizzat “sahada” kullanma fırsatı yakalayacağım. Umarım o zaman da Kotlin  misyonerliği yapmak isteyebilirim:) Herkese iyi günler, faydalı olması dileklerimle.

 

Kaynaklar:

İntihal Alarmı: Konu ile ilgili araştırma yaparken Türkçe içerikli yazılara da bir göz attım. Ne yazık ki intihal almış başını gitmiş. Üzücü bir durum. Referans verilmeden paragraf kopyalamak da intihale sebep olmaktadır. Lütfen yapmayınız. Biraz ordan çalayım biraz burdan yapıştırayım dendiğinde farkedilmiyor mu sanıyorlar acaba? Akademik hayatta yapsanız sizi selasız gömerler. İnternet camiasında ise ifşa direklerinde salladırırlar adamı. Ben kendime bu tarz bir misyon yüklemediğim için kişi isimlerini vermiyorum.

Yazı 1 :

Yazı 2 :

Bu seferlik ifşa etmiyorum site isimlerini fakat bundan sonra bu tarz intihal örneklerinde isim vermeyi düşünüyorum. Ne derler varoşlarda “Emeğe saygı”.

6 Replies to “Data Vinci 23 : Kotlin”

  1. intihal alarmı konusu için,  bu intihal i bulmanızda buyuk bir emek tebrikler. O arkadaşları arayıp buldum 🙂

    1. Dikkat edilmesi gereken bir durum diye düşünüyorum. Sonuçta içerik üretilirken bir takım kaynaklara başvuruluyor. Fakat birebir yazıları kopyalamak yazan kişiye saygısızlık yapmak. Katkınız için teşekkür ederim. Selamlar.

Leave a Reply

Your email address will not be published. Required fields are marked *