Geleceğin Yazılım Dilleri Arasında Gösterilen Kotlin'e Yatırım Yapacaklara Tavsiyeler
Öncelikle Kotlin nedir?
jetbrains tarafından 2011 yılında geliştirilen programlama dili kotlin. jetbrains in st. petersburg taki ofisinde yazılmış ve adını ordaki bir adadan almıştır. android ve java ile interoperable olan bu dil bundan sonra 2017 i/o etkinliğinde belirtildiği üzere android in first class bir dili olacaktır. yani artık bu dil ile android uygulama geliştirebilirsiniz.
peki google neden böyle bir adım atmaya karar verdi diye soranlarınız olabilir. kendi görüşüm şu yönde;
bildiğiniz gibi google ile oracle su an java yüzünden mahkemelik gerçi sonunda google davayı kazandı gibi ama oracle işin peşini bırakmaya niyetli değil. burda google ın java ve oracle darbe vurmak amaçlı bu dili desteklediğini düşünebiliriz
bir diğer konu ise (bkz: jetbrains) ve (bkz: google) ın android studio ile gelen bir ortaklık var ve bunu daha da ileriye götürmeyi planlıyorlar, özellikle android studio 3.0 ile yeni maceralara yelken acacaklar.
bu dile yatırım yapmak isteyenler için hem kaynak hem de yöntem açısından tavsiyelerim var
en önemli tavsiyem: hemen öğrenmeye başlayın, kullanmayacak olsanız bile çünkü çoğu kaynak dilin halihazırda en güncel versiyonunu ile oluşturulmuş, ileride yeni sürümler çıkar, öğrendiğiniz falan değişir, hiç gerek yok. en azından yeni versiyon değişikliklerine bakar, neyi neden yaptıkları hakkında bir fikir sahibi olursunuz. öğrenme süreci uzun değil android'çiler için; hafta sonu projesi olarak görün, çok zamanınızı almayacaktır temelleri kavramak. ok, neler yapmalı?
adım 1. google i/o 2017 konuşmalarını izleyin, alkışlarla falan biraz gaz alın
introduction to kotlin
dilin üreticisi jetbrains'ten kotlin'i her fırsatta tanıtan hadi hariri'nin konuşması. keyifli, demolu, giriş seviyesinde ve yüzeysel ama izleyin.
life is great and everything will be ok, kotlin is here
android camiasının çok yakından tanıdığı, projesinde kendisi tarafından üretilen library kullanmayanların işe alınmadığı, efendimis jake wharton reyiz ile pinterest'ten christina lee'nin konuşması. jake hızlıca android developer'ların işine yarayacak örnekler veriyor hadi'nin konuşmasına göre daha advanced ve pratik örneklerle. asıl bomba ise google i/o'da hiç görmeyeceğiniz tarzda bir konuşma ile christina şirketinizde böyle büyük değişikliklerin nasıl sağlanacağına dair rant ile karışık tavsiyelerde bulunuyor. en az teknik detaylar kadar ilginç bir olay, mutlaka izlenmeli. bu konuşma ile ilgili dikkatinizi çekmek istediğim bir başka şey ise bu konuşmayı yapan kişiler hadi gibi google'dan değil, community'den gelen kişiler. kotlin'e resmi destek verilmesinde community'nin etkisinin simgesi gibi.
ok, bu konuşmaları izlediniz, hadi'nin clap yerine crap demesine güldünüz, gözlerinizi kapatıp null pointer exception'ların olmadığı bir dünya hayali kurdunuz, jake reyizin örnekleri ile karmaşık ve boilerplate kodla yapılan şeylerin ne kadar elegant bir şekilde yapılabildiğini gördünüz(jake kadar iyi olmadığınızı, jake'in 10x performansla çalıştığını hesaplarınıza katmayı unutmadınız ) ve artık öğrenmeye hazırsınız.
adım 2 tamamen kendinizi verimli hissettiğiniz öğrenme şekline göre şekilleniyor
dökümanyasyon okurum, bana yeter diyorsanız kotlin'in resmi sitesindeki referans bölümü güncel ve pratik https://kotlinlang.org/docs/reference/
daha sonra kotlin koans'a geçerek, teker teker unit testleri geçerek dilin temellerini kavrayabilirsiniz. takıldınız yerde referanslar yine en büyük dostunuz.
bir diğer alternatif ise video ile daha iyi öğrenirim, daha çok senaryoyu gözlemlerim diyenler için
google i/o konuşmasını keyifle dinlediğiniz, kotlin'i sevdikten sonra talking kotlin podcastiyle düzenli olarak kulağınıza erişecek olan hadi hariri yine karşınıza çıkıyor. hadi'ni o'reilly üzerinde ekim 2016'da şu anki güncel versiyon v1.1 de hesaba katılarak yayınlanmış iki video serisi var:
- ıntroduction to kotlin programming (5 saat)
- advanced kotlin programming (3 saat)
bu yolu seçenler için tavsiyem ise önce introduction videolarını izleyin. game of thrones'un 11. sezonunu izler gibi izlemeyin ama, videoyu durdurup "bi dakka lan, şu şöyle olsa ne olur" diyerek arkada bir şeyleri kırıp dökün, temelleri kavrayın. bunlar bittikten sonra kotlin koans'a saldırın, syntax'a alışın, takıldığınız yerde referanslara bakın, sonra advanced videolarını izleyin.
bu adımlardan sonra az çok kotlin öğrendim, artık uygulamaya başlayayım diyorsanız
advent of code olur, project euler olur, bir şekilde gerçek problemler üzerinde çözümler için dili kullanmaya başlayabilir ve en önemlisi derin bir nefes alıp yeni yeni kotlin class'larını projelerinize ekleyip dönüşümün fitilini ateşleyebilirsiniz. unutmayın, google tarafından resmen destekleniyor bu dil. örneğin şurada android o örneklerinin tümünde kotlin alternatifi var. google nasıl yapıyor, nasıl yapmıyor falan biraz merak edin, clone edin, açın, değiştirin falan, yapın bir şeyler.