Kotlin Vs Java

Halil Özel
Kotlin Vs Java

Merhabalar Arkadaşlar, bugün sizlerle son zamanlarda tartışılan bir konu üzerinde bir blog yazısı yazacağım. Kotlin mi Java mı? Hazırsanız vakit kaybetmeden yazımıza başlayalım.


Google, Android uygulama geliştirmelerde kullandığı bir dil olan Java’dan Mayıs 2017'de düzenlediği bir konferansta Kotlin dilini desteklediğini duyurarak ufaktan ufağa başka bir dile kayış sinyallerini vermiş oldu.

Peki her şey yolunda giderken neden bir anda bu Kotlin dili ortaya çıktı? Haydi gelin bu soruya cevap arayıp nedenlerini öğrenelim.


KOTLİN NEDİR?

Kotlin Language

Kotlin, Java Virtual Machine (JVM) üzerinde çalışabilen, JavaScript kaynak koduna compile edilebilen statik bir programlama dilidir.

Statik Programlama Dilleri : Değişkenlerin tipleri önceden belirtilir ve kodu derleme sırasında denetimi yapılır. Statik diller sıklıkla kullanılır. Java, C# gibi dillerde statik programlama dilleri arasındadır.

Kotlin, Android uygulamaları geliştirilmek 2017’nin Mayıs ayında gerçekleştirilen Google etkinliğiyle birlikte tanıtıldı. Geçen 2 senede Kotlin dili büyük bir ivme kazandı. Kotlin, Google’ın yeni gözbebeği konumundadır.

Kotlin, JVM ve Android programlama için nesne tabanlı ve fonksiyonel programlama özelliklerini birleştiren, genel amaçlı, açık kaynaklı, statik olarak yazılan pragmatik bir programlama dilidir. Kotlin programlama dili birlikte çalışabilirlik, güvenlik, netlik ve takım desteği üzerine odaklanmıştır. Bu sayılan özelliklerle kısa zamanda büyük bir destek alan Kotlin dili her geçen gün daha fazla uygulamada kendisine yer bulmaktadır. Kotlin dili sadece Android uygulamalar için değil web tarafında da JavaScript için (ECMAScript 5.1) ve yerel kod (LLVM kullanarak) sürümlerinde çeşitli çalışmalara yer vermektedir.

Kotlin, 2010 yılında IntelliJ IDEA’nın arkasında yer alan JetBrains şirketi tarafından kurulmuştur ve 2012'den beri açık kaynaklıdır. Kodlarına aşağıdaki adresten ulaşabilir. Komüniteye destek verebilirsiniz.

Kotlin programlama dili 1.3 sürümünde stabil bir şekilde geliştirmeler yapılabiliyor.

Kotlin programlama diliyle ilgili daha detaylı bilgiye aşağıda bulunan içerikten okuyabilirsiniz :


Kotlin programlama dilini tanıdıktan sonra bu seferde Oracle firmasının güçlü dili Java diline bakalım.

JAVA NEDİR?

Java Programming Language

Java, Sun Microsystems tarafından 1995 yılında piyasaya sürülen güçlü bir programlama dili ve bilgi işlem platformudur. Java yüklemediğinizde çalıştıramayacağınız birçok uygulama ve web sitesi mevcuttur. Java, hayatımızda büyük bir yer sahip olan bir dildir. Her geçen gün Java ile çalışan cihazların, platformların sayıları artıyor. Java programlama dili hızlı, güvenli ve güvenilirdir. Dizüstü bilgisayarlardan veri depolama merkezlerine, oyun konsollarından bilimsel bilgisayarlara, cep telefonlarından Internet’e kadar Java her yerde her zaman bizlerle beraberdir.

Java, Android uygulama geliştirmelerde de sıklıkla kullanılan bir dildir. Google’ın Oracle ile olan davalarından dolayı Javaya alternatif bir dil olan Kotlin’i desteklediğini duyurdu. Java dilide open-source bir dildir. Oracle satın aldıktan sonra bazı yerlerde hak talep edince Google-Oracle arasında çeşitli davalar olmuştur. Google, Java’nın bulunmaz bir hint kumaşı olmadığını ifade edercesine bu yeni dili desteklediğini duyurarak bir bakıma Oracle’da gözdağı vermiş oldu.


Kotlin ve Java dillerini kısaca tanıdıktan sonra asıl konumuz olan bu iki dilin karşılaştırmasına geçebiliriz.

Kotlin Vs Java

Kotlin-Java
  • Null Safety : Kotlin programlama dilinde NullPointerException hatasını almak neredeyse imkansız hale geldi. Bu hatayı alabilmeniz için ekstra bir çaba göstermelisiniz. Kotlin’in getirdiği yenilik ile varsayılan olarak hiçbir değişkene null değeri atanamaz ve fonksiyon null değer döndüremez.

null cannot be cast to non-null type” hatası vererek bunların null şeklinde atanmalarına ve geriye değer döndürmelerine izin verilmediğini kanıtladık.

  • Data Classes : Bir sınıfta çeşitli özellikler ekleyip sonrada onların get-set metodlarını tanımlarken onlarca kod satırı sizlerinde canını sıkıyor değil mi? Kotlin ile gelen Data Classes ile bu işlemi tek bir satırda bildirerek yapabiliyoruz. Bu özellikle ile zamanda ve koddan tasarruf yapılır.
Java Get-Set Methods
Kotlin Data Classes
  • Type Inference : Kotlin programlama dili tanımlanan herhangi bir değişkenin türünün tanımlanmasını esnek hale getirmiştir. Arka planda tanımlanmayan değişken türü anlaşılmaktadır.
Kotlin Type Inference

Değişken türünü verince ide bizlere bu işlemin gereksiz olduğunu belirten bir uyarı vermektedir.

Kotlin Type Inference
  • Range : Başlangıç değeri ve bitiş değeri olan sayı veya karakter aralıkları oluşturmayı sağlayan kavramlardır. Range tanımlamak için iki nokta (..) ifadesi kullanılır. İki noktanın sol tarafı başlangıç değeri, sağındaki değer ise bitiş değeridir.
Kotlin Range

Kotlin ile gelen yeniliklere göz atmış olduk. Daha detaylı bilgi için Kotlin’in sitesindeki dökümanı incelemenizi öneririm.


Kotlin programlama dilini sıklıkla projelerimde kullanıyorum. Türkiye’nin İlleri adlı Android uygulamasında hem Java hem de Kotlin programlama dilleriyle geliştiriyorum. Uygulamayı aşağıdaki linkten bulabilirsiniz :

Github hesabımda yaptığım projeleri paylaşıyorum. Aşağıdaki linkten ilgili projelere ulaşabilirsiniz :



Evet arkadaşlar, Kotlin ve Java dillerini inceleyip, karşılaştırmalar yaptık. Java yılların sağlamlığıyla yoluna devam ederken, Kotlin ise yeni ve sağlam adımlarla yoluna ilerliyor. Kotlin’in geleceği daha parlak diye düşünüyorum. Kesinlikle Kotlin diline bakmanızı öğrenmenizi tavsiye ederim. Gelecek yazılarda görüşmek üzere herkese kolay gelsin :)

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade