Android uygulamaları geliştirmek, yazılıma başlamak için harika bir adımdır fakat programlama dilleri arasında seçim yapmak oldukça kafa karıştırıcıdır.
Dünya genelinde Java’nın en iyi olduğu ve herkesin onu övdüğü net şekilde gözüküyor. Kotlin’in gelişinden sonra, Java’ya olan bu açık inanç biraz sarsıldı ve programcılar bazı soruların cevaplarını aramaya başladılar. 

Java ve Kotlin’in en belirgin farklarını inceledikten sonra Kotlin ve Java ile ilgili temel kaynaklar listesine göz atarak Android programlama öğrenmeye başlayabilirsiniz. 🚀

Her şey yolunda giderken neden Kotlin dili ortaya çıktı?
Java ve Kotlin arasında hangisini seçmeniz gerektiğine karar vermenize yardımcı olmak için iki dilin de temel özelliklerinden bazılarını karşılaştırdık.

java vs kotlin

Kotlin ve Java Arasındaki Ayırt Edilmesi Gereken Farklar 

Java, nesne yönelimli bir programlama dili iken; Kotlin modern özellikleri işleyen statik olarak yazılmış bir programlama dilidir.
Java ile geliştirilmiş uygulamalar, birden fazla platform ve sistem üzerinde çalıştırabilir bir JVM ile yürütülecektir.
Kotlin; kullanıcıların kısa, anlamlı kodlar yazmasına olanak sağlar ve sunucu tarafı uygulamaları geliştirmek için ideal seçenekler arasındadır.

👉Daha az kodla daha fazlasını yapabilirsiniz 🚀

👉NullPointerException’leri önleyebilirsiniz!

Nesne yönelimli bir dilde, null tipinde olan değerler her zaman sorun oluşturmuştur. Bu sorun, null bir değeri kullanmaya çalıştığınızda Null Pointer Exception (NPE) biçiminde gelir.

Java’da sürekli karşılaşılan null hataları giderilerek Kotlin ile NullPointerExceptions gibi bir exceptionu almak tip sistemi ile neredeyse imkansız durum haline geldi.
Kotlin dili ile Android uygulamalar geliştirirken varsayılan olarak hiçbir değişkene null değerini atayamazsınız ve bir metodu null değer döndüremezsiniz.

Kotlin

👉Kotlin, fonksiyon tipleri için SAM dönüşümüne ihtiyaç duymaz🤓

Lambda ilk olarak Java 8’de tanıtılmıştır Kotlin ise yerel Lambda desteğine sahiptir.
Java 8’de gelen SAM (Single Abstract Method) sayesinde fonksiyon tipleri oluşturulabilirken Kotlin SAM patternına ihtiyaç durmaz.

Kotlin vs Java performans karşılaştırmasında en önemli şey, Kotlin’in daha yüksek seviyeli fonksiyonlar, lambda ifadeleri, operatör aşırı yüklenmesi, tembel değerlendirme, operatör aşırı yüklenmesi ve çok daha fazlasını içeren birçok kullanışlı işlevlere sahip olmasıdır.

👉Global Değişkenlerin Tanımlanma Farkı

Java ‘da global degişkenler yoktur. Java’da bir değişkenin kapsamını belirleyen şeyin genel olarak bloklar olduğunu söyleyebiliriz.

Java dünyasında değişkenler, ya class variable ya da  instance variable olarak var olabilirler.
Kotlin’de ise global değişken tanımlamanın 2 yolu vardır. Kotlin oldukça farklı bir yaklaşımla birlikte statik anahtar kelimeyi kaldırıyor ve onu bir singleton’a oldukça benzeyen bir tamamlayıcı nesne ile değiştiriyor

👉Data Classes Yapısının Farkları

Bir class içerisinde farklı özellikler ekledikten sonra get-set metodlarını tanımlamak sizin için de uğraştırıcı oluyor değil mi?

Data classes özelliği, zamandan ve koddan tasarruf etmenizi sağlar.
Java’da her kullanacağımız özellik için get/set yöntemi belirlememiz gereklidir. Fakat Kotlin sayesinde yazacağımız sınıf ve özellikleri tek satıra indirebilirsiniz.

👉Eşzamanlı Programlamanın Önemi

Yazılım dünyasında eşzamanlılık oldukça önemli bir konu. Bazen bir programlama dilinin birkaç işi aynı anda yürütme yeteneği, tercih ettiğiniz dil olup olmayacağına karar vermenize yardımcı olabilir.

Java eşzamanlılığı desteklemek için multi-threading bir yapı kullanırken Kotlin daha hafif iş parçacığı olan coroutines kullanır.

👉Teknik olmayan fark: Topluluk Desteği

Java vs Kotlin karşılaştırmasında son olarak, teknik olmayan bir farkdan bahsedelim.
Stack Overflow anket sonuçlarına göre,  Kotlin’in popülaritesi artmaya devam ediyor olsa da, Java topluluğu hala Kotlin’den daha büyük olduğu gözüküyor.

Öyleyse bunun ne önemi var? Aslında oldukça önemli.
Java topluluğundaki insan sayısıyla, hem internette hem de gerçek dünyada ihtiyaç duyduğunuzda yardım almak çok daha kolay.

Birçok şirket de hala temel olarak Java kullanıyor ve bu durum, Kotlin’in Java ile birlikte çalışabilirliği olsa bile yakın zamanda değişmeyebilir.

Türkiye’nin büyüyen teknoloji şirketleri arasında hangi şirketlerin Kotlin hangi şirketlerin Java kullandığını merak ediyorsanız TalentGrid Teknoloji Dizini‘ne göz atabilirsiniz.