Kotlin, Java sanal makinesi (JVM) üzerinde çalışan ayrıca JavaScript kaynak koduna veya LLVM ile makine koduna derlenebilen, statik tipli bir programlama dilidir. İlk geliştirme Sankt-Peterburg, Rusya merkezli JetBrains programcıları tarafından yapılmıştır. İsmi Kotlin Adası'ndan gelmektedir. Java ile uyumlu sözdizimi olmasa da, Kotlin Java kodu ile birlikte çalışmak üzere tasarlanmıştır. Kotlin, Apple'ın Swift diline benzemektedir.
Paradigması | Çok paradigmalı; nesne yönelimli, fonksiyonel, declarative, emirsel (imperative), eş zamanlı (concurrent) |
---|---|
İlk çıkışı | 22 Temmuz 2011 | )
Tasarımcı | JetBrains |
Geliştirici | JetBrains ve açık kaynak katkıcıları |
Kararlı sürüm | Kotlin 1.9.22 (21 Kasım 2023 | ) )
Statik tipli, tür çıkarımlı | |
Etkilendikleri | Java, Scala, Groovy, C#, Gosu, JavaScript |
Platformu | Çıktısı Java sanal makinesi bytecode ve JavaScript kaynağı |
İşletim sistemi | Tüm JVM ya da JavaScript yorumlayıcılı platformlar |
Lisans | Apache 2 |
Olağan dosya uzantıları | .kt, .kts |
Web sitesi | kotlinlang.org |
Tarihçe
Temmuz 2011'de JetBrains, JVM için yeni bir dil olan ve bir yıldır geliştirilmekte olan Project Kotlin'i duyurdu. JetBrains lideri Dmitry Jemerov, Scala dışındaki çoğu dilin aradıkları özelliklere sahip olmadığını söylemiştir. Ancak, Scala'nın düşük derleme zamanını apaçık bir eksiklik olarak gösterdi. Kotlin'in belirtilen hedeflerinden biri, Java kadar çabuk derlemektir. Şubat 2012'de JetBrains, projeyi Apache 2 lisansı altında açık kaynak olarak yayınlamıştır.
Kotlin v1.0, 15 Şubat 2016'da yayınlanmıştır. Bu ilk stabil sürümü olarak kabul edilir ve JetBrains bu sürümden itibaren geriye dönük uyumluluk taahhüdünde bulunmuştur.
Kotlin, Google I/O 2017'de resmi bir Android geliştirme dili olarak duyurulmuştur. Java ve 'tan sonra Android için tamamen desteklenen üçüncü dil oldu.
Felsefe
Geliştirme sorumlusu Andrey Breslav, Kotlin'in nesne yönelimli endüstriyel bir dil ve Java'dan "daha iyi bir dil" olarak tasarlandığını söyledi. Ancak hala Java koduyla tamamen birlikte çalışabilir ve şirketler Java'dan Kotlin'e kademeli bir geçiş yapabilir.
Sözdizimi
Kotlin değişken bildirimleri ve parametre listelerinin veri türü, değişken adından sonra gelir. Scala ve Groovy'de olduğu gibi, noktalı virgül bir deyim sonlandırıcısı olarak isteğe bağlıdır; çoğu durumda derleyici ifadenin sona erdiğini anlaması için bir satırsonu yeterlidir.
Anlamsal
Nesnel tabanlı programlamanın sınıflarına ve metodlarına (Kotlin'de üye fonksiyonları olarak adlandrılır) ek olarak, Kotlin ayrıca fonksiyon kullanımı ile prosedürel programlamayı da destekler.C ve 'da olduğu gibi, Kotlin programının giriş noktası "main" olarak adlandırılan fonksiyondan, herhangi bir komut satırı argümanı içeren diziler geçer. Perl ve Unix/Linux shell script stili dize enterpolasyonu desteklenmektedir. Ayrıca tür çıkarımı da desteklenir.
Merhaba, Dünya! örneği
fun main(args : Array<String>) { val kapsam = "Dünya" println("Merhaba, $kapsam!") }
Kotlin, null ve null olmayan veri türleri arasında bir ayrım yapar. Tüm null nesneler tür isminin ardından "?" ile bildirilmelidir. Null nesneler üzerinde yapılan işlemler geliştiricilerin özel bakımına ihtiyaç duyar: null kontrolü, değeri kullanmadan önce gerçekleştirilmelidir. Kotlin, geliştiricilere yardımcı olmak için null-safe operatörleri sağlar:
- ?. (Null şartlı operatörü) muhtemelen boş bir nesnenin bir metoduna veya özelliğine güvenle erişmek için kullanılabilir. Nesne boş ise, metot çağrılmaz ve ifade null olarak değerlendirilir.
- ?: ((Boş birleştirici operatör)) çoğu kez Elvis operatorü olarak anılır:
fun merhabaDe(belki : String?, nullDegil : Int) { // elvis operatorünü kullan val isim : String = belki ?: "yabancı" println("Merhaba $isim") }
Güvenli navigasyon operatörünün kullanımına bir örnek:
// foo null ise, veya bar() ya da baz() null döndürürse, null döndürülür. foo ?. bar() ?. baz()
Araçlar
- IntelliJ IDEA, Kotlin için bir eklentiye sahiptir.
- JetBrains ayrıca Eclipse için eklenti desteği sunmaktadır.
- Apache Maven,Apache Ant ve Gradle dahil olmak üzere yayın Java kurulum araçları desteklenir.
Dış bağlantılar
- Resmî site (İngilizce)
- Web-demo ve örnekler 3 Aralık 2020 tarihinde Wayback Machine sitesinde . (İngilizce)
Kaynakça
- ^ Heiss, Janice (Nisan 2013). "The Advent of Kotlin: A Conversation with JetBrains' Andrey Breslav". oracle.com. Oracle Technology Network. 8 Mayıs 2017 tarihinde kaynağından . Erişim tarihi: 2 Şubat 2014.
- ^ http://nilhcem.com/swift-is-like-kotlin/ 20 Mayıs 2017 tarihinde Wayback Machine sitesinde . Swift-is-like-kotlin
- ^ a b Krill, Paul (22 Temmuz 2011). "JetBrains readies JVM language Kotlin". infoworld.com. InfoWorld. 15 Temmuz 2014 tarihinde kaynağından . Erişim tarihi: 2 Şubat 2014.
- ^ Waters, John (22 Şubat 2012). . ADTmag.com/. 1105 Enterprise Computing Group. 29 Mart 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 2 Şubat 2014.
- ^ "Kotlin 1.0 Released: Pragmatic Language for JVM and Android | Kotlin Blog". Blog.jetbrains.com. 15 Şubat 2016. 22 Ekim 2016 tarihinde kaynağından . Erişim tarihi: 11 Nisan 2017.
- ^ . Eyerys. 18 Mayıs 2017. 21 Mayıs 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 18 Mayıs 2017.
- ^ . Zeroturnaround.com. 22 Nisan 2013. 19 Ekim 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 2 Şubat 2014.
- ^ . jetbrains.com. 23 Aralık 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 8 Şubat 2014.
- ^ . jetbrains.com. 23 Kasım 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 8 Şubat 2014.
- ^ . Plugins.jetbrains.com. 31 Mart 2017. 29 Mayıs 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 11 Nisan 2017.
- ^ "Getting Started with Eclipse Neon - Kotlin Programming Language". Kotlinlang.org. 10 Kasım 2016. 23 Ekim 2016 tarihinde kaynağından . Erişim tarihi: 11 Nisan 2017.
- ^ "JetBrains/kotlin-eclipse: Kotlin Plugin for Eclipse". GitHub. 16 Şubat 2016 tarihinde kaynağından . Erişim tarihi: 11 Nisan 2017.
- ^ . kotlinlang.org. 3 Kasım 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 9 Mayıs 2017.
- ^ . kotlinlang.org. 3 Kasım 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 9 Mayıs 2017.
- ^ . kotlinlang.org. 9 Kasım 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 9 Mayıs 2017.
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Kotlin Java sanal makinesi JVM uzerinde calisan ayrica JavaScript kaynak koduna veya LLVM ile makine koduna derlenebilen statik tipli bir programlama dilidir Ilk gelistirme Sankt Peterburg Rusya merkezli JetBrains programcilari tarafindan yapilmistir Ismi Kotlin Adasi ndan gelmektedir Java ile uyumlu sozdizimi olmasa da Kotlin Java kodu ile birlikte calismak uzere tasarlanmistir Kotlin Apple in Swift diline benzemektedir KotlinParadigmasiCok paradigmali nesne yonelimli fonksiyonel declarative emirsel imperative es zamanli concurrent Ilk cikisi22 Temmuz 2011 12 yil once 2011 07 22 TasarimciJetBrainsGelistiriciJetBrains ve acik kaynak katkicilariKararli surumKotlin 1 9 22 21 Kasim 2023 7 ay once 2023 11 21 Statik tipli tur cikarimliEtkilendikleriJava Scala Groovy C Gosu JavaScriptPlatformuCiktisi Java sanal makinesi bytecode ve JavaScript kaynagiIsletim sistemiTum JVM ya da JavaScript yorumlayicili platformlarLisansApache 2Olagan dosya uzantilari kt ktsWeb sitesikotlinlang orgTarihceTemmuz 2011 de JetBrains JVM icin yeni bir dil olan ve bir yildir gelistirilmekte olan Project Kotlin i duyurdu JetBrains lideri Dmitry Jemerov Scala disindaki cogu dilin aradiklari ozelliklere sahip olmadigini soylemistir Ancak Scala nin dusuk derleme zamanini apacik bir eksiklik olarak gosterdi Kotlin in belirtilen hedeflerinden biri Java kadar cabuk derlemektir Subat 2012 de JetBrains projeyi Apache 2 lisansi altinda acik kaynak olarak yayinlamistir Kotlin v1 0 15 Subat 2016 da yayinlanmistir Bu ilk stabil surumu olarak kabul edilir ve JetBrains bu surumden itibaren geriye donuk uyumluluk taahhudunde bulunmustur Kotlin Google I O 2017 de resmi bir Android gelistirme dili olarak duyurulmustur Java ve C tan sonra Android icin tamamen desteklenen ucuncu dil oldu FelsefeGelistirme sorumlusu Andrey Breslav Kotlin in nesne yonelimli endustriyel bir dil ve Java dan daha iyi bir dil olarak tasarlandigini soyledi Ancak hala Java koduyla tamamen birlikte calisabilir ve sirketler Java dan Kotlin e kademeli bir gecis yapabilir SozdizimiKotlin degisken bildirimleri ve parametre listelerinin veri turu degisken adindan sonra gelir Scala ve Groovy de oldugu gibi noktali virgul bir deyim sonlandiricisi olarak istege baglidir cogu durumda derleyici ifadenin sona erdigini anlamasi icin bir satirsonu yeterlidir AnlamsalNesnel tabanli programlamanin siniflarina ve metodlarina Kotlin de uye fonksiyonlari olarak adlandrilir ek olarak Kotlin ayrica fonksiyon kullanimi ile prosedurel programlamayi da destekler C ve C da oldugu gibi Kotlin programinin giris noktasi main olarak adlandirilan fonksiyondan herhangi bir komut satiri argumani iceren diziler gecer Perl ve Unix Linux shell script stili dize enterpolasyonu desteklenmektedir Ayrica tur cikarimi da desteklenir Merhaba Dunya ornegi fun main args Array lt String gt val kapsam Dunya println Merhaba kapsam Kotlin null ve null olmayan veri turleri arasinda bir ayrim yapar Tum null nesneler tur isminin ardindan ile bildirilmelidir Null nesneler uzerinde yapilan islemler gelistiricilerin ozel bakimina ihtiyac duyar null kontrolu degeri kullanmadan once gerceklestirilmelidir Kotlin gelistiricilere yardimci olmak icin null safe operatorleri saglar Null sartli operatoru muhtemelen bos bir nesnenin bir metoduna veya ozelligine guvenle erismek icin kullanilabilir Nesne bos ise metot cagrilmaz ve ifade null olarak degerlendirilir Bos birlestirici operator cogu kez Elvis operatoru olarak anilir fun merhabaDe belki String nullDegil Int elvis operatorunu kullan val isim String belki yabanci println Merhaba isim Guvenli navigasyon operatorunun kullanimina bir ornek foo null ise veya bar ya da baz null dondururse null dondurulur foo bar baz AraclarIntelliJ IDEA Kotlin icin bir eklentiye sahiptir JetBrains ayrica Eclipse icin eklenti destegi sunmaktadir Apache Maven Apache Ant ve Gradle dahil olmak uzere yayin Java kurulum araclari desteklenir Dis baglantilarResmi site Ingilizce Web demo ve ornekler 3 Aralik 2020 tarihinde Wayback Machine sitesinde Ingilizce Kaynakca Heiss Janice Nisan 2013 The Advent of Kotlin A Conversation with JetBrains Andrey Breslav oracle com Oracle Technology Network 8 Mayis 2017 tarihinde kaynagindan Erisim tarihi 2 Subat 2014 http nilhcem com swift is like kotlin 20 Mayis 2017 tarihinde Wayback Machine sitesinde Swift is like kotlin a b Krill Paul 22 Temmuz 2011 JetBrains readies JVM language Kotlin infoworld com InfoWorld 15 Temmuz 2014 tarihinde kaynagindan Erisim tarihi 2 Subat 2014 Waters John 22 Subat 2012 ADTmag com 1105 Enterprise Computing Group 29 Mart 2016 tarihinde kaynagindan arsivlendi Erisim tarihi 2 Subat 2014 Kotlin 1 0 Released Pragmatic Language for JVM and Android Kotlin Blog Blog jetbrains com 15 Subat 2016 22 Ekim 2016 tarihinde kaynagindan Erisim tarihi 11 Nisan 2017 Eyerys 18 Mayis 2017 21 Mayis 2017 tarihinde kaynagindan arsivlendi Erisim tarihi 18 Mayis 2017 Zeroturnaround com 22 Nisan 2013 19 Ekim 2016 tarihinde kaynagindan arsivlendi Erisim tarihi 2 Subat 2014 jetbrains com 23 Aralik 2015 tarihinde kaynagindan arsivlendi Erisim tarihi 8 Subat 2014 jetbrains com 23 Kasim 2015 tarihinde kaynagindan arsivlendi Erisim tarihi 8 Subat 2014 Plugins jetbrains com 31 Mart 2017 29 Mayis 2016 tarihinde kaynagindan arsivlendi Erisim tarihi 11 Nisan 2017 Getting Started with Eclipse Neon Kotlin Programming Language Kotlinlang org 10 Kasim 2016 23 Ekim 2016 tarihinde kaynagindan Erisim tarihi 11 Nisan 2017 JetBrains kotlin eclipse Kotlin Plugin for Eclipse GitHub 16 Subat 2016 tarihinde kaynagindan Erisim tarihi 11 Nisan 2017 kotlinlang org 3 Kasim 2016 tarihinde kaynagindan arsivlendi Erisim tarihi 9 Mayis 2017 kotlinlang org 3 Kasim 2016 tarihinde kaynagindan arsivlendi Erisim tarihi 9 Mayis 2017 kotlinlang org 9 Kasim 2016 tarihinde kaynagindan arsivlendi Erisim tarihi 9 Mayis 2017