www.wikidata.id-id.nina.az
Kotlin adalah sebuah bahasa pemrograman dengan pengetikan statis yang berjalan pada Mesin Virtual Java ataupun menggunakan kompiler LLVM yang dapat pula dikompilasikan kedalam bentuk kode sumber JavaScript Pengembang utamanya berasal dari tim programer dari JetBrains yang bermarkas di Rusia 3 Meskipun sintaksisnya tidak kompatibel dengan bahasa Java Kotlin didesain untuk dapat bekerja sama dengan kode bahasa Java dan bergantung kepada kode bahasa Java dari Kelas Pustaka Java yang ada seperti berbagai framework Java yang ada Tim Pengembang memutuskan menamakannya Kotlin dengan mengambil nama dari sebuah pulau di Rusia sebagaimana Java yang mengambil nama dari pulau Jawa di Indonesia 4 Setelah Google mengumumkan bahwa Kotlin menjadi bahasa kelas satu bagi Android maka bersama Java dan C Kotlin menjadi bahasa resmi untuk pengembangan aplikasi aplikasi Android 5 KotlinParadigmaMulti paradigma berorientasi objek fungsional imperatif terstruktur blok deklaratif generik reflektif bersamaanDirancang olehJetBrainspengembangJetBrains dan kontributor sistem terbukaRilis perdana22 Juli 2011 12 tahun lalu 2011 07 22 Rilis stabil1 9 10 1 2 Februari 2023 8 bulan lalu 2023 02 02 2 Tipe SistemDisimpulkan statis kuatPlatformAndroid JVM JavaScript Kotlin JS macOS termasuk dukungan Apple silicon iOS tvOS watchOS Linux Windows WebAssembly LLVM Kotlin Native OSYang mendukung JVM atau interpreter JavaScript Lintas platformLisensiLisensi Apache 2 0Ekstensi nama berkas kt ktsWebsitekotlinlang wbr orgTerpengaruh olehC EiffelGosuGroovyJavaJavaScriptMLPythonScalakotlinlang wbr org Daftar isi 1 Riwayat 2 Desain 3 Sintaks 3 1 Gaya pemrograman prosedural 3 2 Titik masuk utama 3 3 Fungsi ekstensi 3 4 Argumen Unpack dengan operator spread 3 5 Deklarasi destructuring 3 6 Fungsi bersarang Nested 3 7 Kelas bersifat final secara bawaan 3 8 Kelas abstrak terbuka secara bawaan 3 9 Kelas bersifat publik secara bawaan 3 10 Konstruktor utama vs konstruktor sekunder 3 11 Kelas tertutup 3 12 Kelas data 3 13 Shell interaktif Kotlin 3 14 Kotlin sebagai bahasa skrip 3 15 Keamanan kosong 3 16 Lambda 3 17 Contoh kompleks hello world 4 Peralatan 5 Aplikasi 6 Adopsi 7 Pranala luar 8 Rujukan 9 Bahan bacaanRiwayat sunting nbsp Gambar 2D maskot Kotlin nbsp Gambar 3D maskot KotlinPada Juli 2011 JetBrains meluncurkan Project Kotlin bahasa baru untuk JVM yang telah dikembangkan selama satu tahun 6 Pimpinan JetBrains Dmitry Jemerov mengatakan bahwa sebagian besar bahasa tidak memiliki fitur yang mereka cari kecuali Scala Namun ia menyebut waktu kompilasi Scala yang lambat sebagai kekurangan 6 Salah satu tujuan yang dinyatakan dari Kotlin adalah untuk mengkompilasi secepat Java Pada bulan Februari 2012 JetBrains membuat proyek open source di bawah lisensi Apache 2 7 Nama itu berasal dari Pulau Kotlin dekat St Petersburg Andrey Breslav menyebutkan bahwa tim memutuskan untuk menamainya setelah sebuah pulau seperti halnya Java dinamai menurut pulau Jawa di Indonesia 8 meskipun bahasa pemrograman Java diartikan dengan nama kopi daripada pulau 9 JetBrains berharap bahasa baru ini akan mendorong penjualan IntelliJ IDEA 10 Kotlin versi 1 0 dirilis pada 15 Februari 2016 11 Versi ini secara resmi ditetapkan sebagai versi rilis stabil pertama dan JetBrains telah menetapkan dukungan versi sebelumnya untuk jangka panjangan dengan versi ini Pada Google I O 2017 Google mengumumkan dukungan kelas pertama untuk Kotlin pada Android Kotlin versi 1 2 dirilis pada 28 November 2017 12 Fitur berbagi kode antara JVM dan platform Javascript baru ditambahkan pada versi rilis ini Kotlin versi 1 3 dirilis pada 29 Oktober 2018 membawa coroutines pada pemrograman asynchronous Pada 7 Mei 2019 Google mengumumkan bahwa bahasa pemrograman Kotlin sekarang menjadi bahasa pilihan untuk pengembang aplikasi Android 13 Kotlin 1 4 dirilis pada Agustus 2020 misalnya dengan beberapa perubahan kecil pada dukungan untuk platform Apple yaitu pada interop Objective C Swift 14 15 Kotlin 1 5 dirilis pada Mei 2021 14 Kotlin 1 6 dirilis pada November 2021 14 Kotlin 1 7 dirilis pada Juni 2022 14 Kotlin 1 8 dirilis pada Desember 2022 1 8 0 dirilis pada 11 Januari 2023 16 Desain suntingPemimpin pengembangan Andrey Breslav mengatakan bahwa Kotlin dirancang untuk menjadi bahasa berorientasi objek berkekuatan industri dan bahasa yang lebih baik daripada Java tetapi masih sepenuhnya dapat dioperasikan dengan kode Java memungkinkan perusahaan untuk melakukan migrasi bertahap dari Java ke Kotlin 17 Titik koma adalah opsional sebagai terminator pernyataan dalam kebanyakan kasus baris baru sudah cukup bagi kompiler untuk menyimpulkan bahwa pernyataan telah berakhir 18 Deklarasi variabel dan daftar parameter Kotlin memiliki tipe data yang muncul setelah nama variabel dan dengan pemisah titik dua mirip dengan Ada BASIC Pascal TypeScript dan Rust Ini menurut sebuah artikel dari Roman Elizarov pemimpin proyek saat ini menghasilkan penyelarasan nama variabel dan lebih menyenangkan untuk dilihat terutama ketika ada beberapa deklarasi variabel berturut turut dan satu atau lebih tipe terlalu rumit untuk inferensi tipe atau perlu dideklarasikan secara eksplisit agar dapat dipahami oleh pembaca manusia 19 20 Variabel di Kotlin dapat dibaca saja dideklarasikan dengan val kata kunci atau bisa berubah dideklarasikan denganvar kata kunci 21 Anggota kelas bersifat publik secara default dan kelas itu sendiri adalah final secara default artinya membuat kelas turunan dinonaktifkan kecuali kelas dasar dideklarasikan dengan open kata kunci Selain kelas dan fungsi anggota yang setara dengan metode pemrograman berorientasi objek Kotlin juga mendukung pemrograman prosedural dengan penggunaan fungsi 22 Fungsi dan konstruktor Kotlin mendukung argumen default daftar argumen panjang variabel argumen bernama dan kelebihan beban dengan tanda tangan unik Fungsi anggota kelas adalah virtual yaitu dikirim berdasarkan jenis runtime dari objek yang dipanggil Kotlin 1 3 menambahkan dukungan untuk kontrak 23 yang stabil untuk deklarasi pustaka standar tetapi masih eksperimental untuk deklarasi yang ditentukan pengguna Kontrak terinspirasi oleh desain Eiffel dengan paradigma pemrograman kontrak 24 Menurut pengembang Kotlin Anda dapat memanggil kode JavaScript dari Kotlin misalnya menulis aplikasi React yang aman untuk jenis tertentu atau menulis dan memelihara aplikasi web tumpukan penuh yang berbagi logika validasi dengan frontend atau Anda dapat menghasilkan pustaka dari kode Kotlin Anda yang dapat dikonsumsi sebagai modul dari basis kode apa pun yang ditulis dalam JavaScript atau TypeScript 25 Sintaks suntingGaya pemrograman prosedural sunting Kotlin melonggarkan batasan Java yang mengizinkan metode dan variabel statis hanya ada di dalam badan kelas Objek dan fungsi statis dapat didefinisikan di tingkat atas paket tanpa memerlukan tingkat kelas yang berlebihan Untuk kompatibilitas dengan Java Kotlin menyediakan anotasi JvmName yang menentukan nama kelas yang digunakan saat paket dilihat dari proyek Java Misalnya file JvmName JavaClassName Titik masuk utama suntingSeperti pada C C C Java dan Go titik masuk ke program Kotlin adalah fungsi bernama main yang dapat dilewatkan array yang berisi argumen baris perintah apa pun Ini opsional karena Kotlin 1 3 26 Perl PHP dan interpolasi string gaya shell Unix didukung Jenis inferensi juga didukung Hello World example fun main val scope World println Hello scope fun main args Array lt String gt for arg in args println arg Fungsi ekstensi suntingMirip dengan C Kotlin memungkinkan penambahan fungsi ekstensi ke kelas mana pun tanpa formalitas membuat kelas turunan dengan fungsi baru Fungsi ekstensi memiliki akses ke semua antarmuka publik kelas yang dapat digunakan untuk membuat antarmuka fungsi baru ke kelas target Fungsi ekstensi akan muncul persis seperti fungsi kelas dan akan ditampilkan dalam pemeriksaan penyelesaian kode fungsi kelas Sebagai contoh package MyStringExtensions fun String lastChar Char get length 1 gt gt gt println Kotlin lastChar Dengan menempatkan kode sebelumnya di tingkat atas sebuah paket kelas String diperluas untuk menyertakan fungsi lastChar yang tidak termasuk dalam definisi asli kelas String Overloading operator using an extension function operator fun Point plus other Point Point return Point x other x y other y gt gt gt val p1 Point 10 20 gt gt gt val p2 Point 30 40 gt gt gt println p1 p2 Point x 40 y 60 Argumen Unpack dengan operator spread suntingSama halnya dengan sintaks program Python operator spread asterisk membongkar unpack konten array sebagai argumen yang dipisahkan koma ke suatu fungsi fun main args Array lt String gt val list listOf args args println list Deklarasi destructuring sunting Deklarasi destructuring menguraikan objek menjadi beberapa variabel sekaligus misalnya objek koordinat 2D mungkin didestruktur menjadi dua bilangan bulat x dan y Misalnya Map Entry Objek Entry mendukung destrukturisasi untuk menyederhanakan akses ke bidang kunci dan nilainya for key value in map println key value Fungsi bersarang Nested suntingKotlin memungkinkan fungsi lokal dideklarasikan di dalam fungsi atau metode lain class User val id Int val name String val address String fun saveUserToDb user User fun validate user User value String fieldName String require value isNotEmpty Can t save user user id empty fieldName validate user user name Name validate user user address Address Save user to the database Kelas bersifat final secara bawaan sunting Di Kotlin untuk mendapatkan kelas baru dari tipe kelas dasar kelas dasar harus secara eksplisit ditandai sebagai terbuka Ini berbeda dengan kebanyakan bahasa berorientasi objek seperti Java di mana kelas terbuka secara bawaan Contoh kelas dasar yang terbuka untuk menurunkan subkelas baru darinya open on the class means this class will allow derived classes open class MegaButton no open on a function means that polymorphic behavior disabled if function overridden in derived class fun disable open on a function means that polymorphic behavior allowed if function is overridden in derived class open fun animate class GigaButton MegaButton Explicit use of override keyword required to override a function in derived class override fun animate println Giga Click Kelas abstrak terbuka secara bawaan suntingKelas abstrak mendefinisikan fungsi placeholder abstrak atau virtual murni yang akan didefinisikan dalam kelas turunan Kelas abstrak terbuka secara bawaan No need for the open keyword here it s already open by default abstract class Animated This virtual function is already open by default as well abstract fun animate open fun stopAnimating fun animateTwice Kelas bersifat publik secara bawaan sunting Kotlin menyediakan kata kunci berikut untuk membatasi visibilitas deklarasi tingkat atas seperti kelas dan untuk anggota kelas public internal protected dan private Penerapan kedalam anggota kelas Kata kunci Visibilitaspublic bawaan Di mana puninternal Dalam modulprotected Di dalam subkelasprivate Dalam satu kelasKetika diterapkan ke deklarasi tingkat atas Kata kunci Visibilitaspublic bawaan Di mana puninternal Dalam modulprivate Dalam sebuah fileContoh Class is visible only to current module internal open class TalkativeButton method is only visible to current class private fun yell println Hey method is visible to current class and derived classes protected fun whisper println Let s talk internal class MyTalkativeButton TalkativeButton fun utter super whisper MyTalkativeButton utter Konstruktor utama vs konstruktor sekunder suntingKotlin mendukung spesifikasi konstruktor utama sebagai bagian dari definisi kelas itu sendiri yang terdiri dari daftar argumen yang mengikuti nama kelas Daftar argumen ini mendukung sintaks yang diperluas pada daftar argumen fungsi standar Kotlin yang memungkinkan deklarasi properti kelas di konstruktor utama termasuk atribut visibilitas ekstensibilitas dan mutabilitas Selain itu saat mendefinisikan subkelas properti di antarmuka super dan kelas super dapat diganti di konstruktor utama Example of class using primary constructor syntax Only one constructor required for this class open class BaseUser open var isSubscribed Boolean open class PowerUser protected val nickname String final override var isSubscribed Boolean true BaseUser isSubscribed Namun dalam kasus di mana lebih dari satu konstruktor diperlukan untuk sebuah kelas konstruktor yang lebih umum dapat digunakan disebut sintaks konstruktor sekunder yang sangat mirip dengan sintaks konstruktor yang digunakan di sebagian besar bahasa berorientasi objek seperti C C dan Java Example of class using secondary constructor syntax more than one constructor required for this class class Context class AttributeSet open class View ctx Context constructor ctx Context attr AttributeSet this ctx class MyButton View Constructor 1 constructor ctx Context super ctx Constructor 2 constructor ctx Context attr AttributeSet super ctx attr Kelas tertutup sunting Kelas dan antarmuka yang disegel membatasi hierarki subkelas yang berarti lebih banyak kontrol atas hierarki pewarisan Deklarasi antarmuka dan kelas yang disegel sealed interface Expr sealed class JobSemua subclass dari kelas yang disegel didefinisikan pada waktu kompilasi Tidak ada subkelas baru yang dapat ditambahkan ke dalamnya setelah kompilasi modul yang memiliki kelas tersegel Misalnya kelas yang disegel dalam file jar yang dikompilasi tidak dapat disubklasifikasikan sealed class Vehicle data class Car val brandName String val owner String val color String Vehicle class Bike val brandName String val owner String val color String Vehicle class Tractor val brandName String val owner String val color String Vehicle val kiaCar Car KIA John Blue val hyundaiCar Car Hyundai Britto Green Kelas data suntingKonstruksi data class Kotlin mendefinisikan kelas yang tujuan utamanya adalah menyimpan data Konstruksi ini mirip dengan kelas normal kecuali bahwa fungsi kunci equals toString dan kode hashCode secara otomatis dihasilkan dari properti kelas Di Jawa kelas seperti itu diharapkan menyediakan berbagai macam fungsi standar seperti itu Kelas data tidak diharuskan untuk mendeklarasikan metode apa pun meskipun masing masing harus memiliki setidaknya satu properti Kelas data sering ditulis tanpa badan meskipun dimungkinkan untuk memberikan kelas data metode apa pun atau konstruktor sekunder yang valid untuk kelas lain mana pun Kata kunci data digunakan sebelum kata kunci class untuk mendefinisikan kelas data 27 data class with parameters and their optional default values data class Book val name String val price Int 0 fun main args Array lt String gt create a data class object like any other class object var book1 Book Kotlin Programming 250 println book1 output Book name Kotlin Programming price 250 Shell interaktif Kotlin sunting kotlinc jvm type help for help quit for quit gt gt gt 2 2 4 gt gt gt println Hello World Hello World Kotlin sebagai bahasa skrip suntingKotlin juga dapat digunakan sebagai bahasa scripting Skrip adalah file sumber Kotlin kts dengan kode yang dapat dieksekusi tingkat atas list folders kts import java io File val folders File args 0 listFiles file gt file isDirectory folders forEach println Skrip dapat dijalankan dengan meneruskan opsi script dan file skrip yang sesuai ke kompiler kotlinc script list folders kts path to folder to inspect Keamanan kosong sunting Kotlin membedakan antara tipe data nullable dan non nullable Semua objek nullable harus dideklarasikan dengan tanda postfix setelah nama tipe Operasi pada objek yang dapat dibatalkan memerlukan perhatian khusus dari pengembang pemeriksaan nol harus dilakukan sebelum menggunakan nilai Kotlin menyediakan operator null safe untuk membantu developer operator navigasi aman dapat digunakan untuk mengakses metode atau properti objek yang mungkin null dengan aman Jika objeknya nol metode tidak akan dipanggil dan ekspresi dievaluasi menjadi nol operator penggabungan kosong sering disebut sebagai operator Elvis fun sayHello maybe String neverNull Int use of elvis operator val name String maybe stranger println Hello name Contoh penggunaan operator navigasi aman returns null if foo returns null or if foo is non null but bar returns null or if foo and bar are non null but baz returns null vice versa return value is non null if and only if foo bar and baz are non null foo bar baz Lambda suntingKotlin menyediakan dukungan untuk fungsi tingkat tinggi dan fungsi anonim atau lambda 28 the following function takes a lambda f and executes f passing it the string lambda note that String gt Unit indicates a lambda with a String parameter and Unit return type fun executeLambda f String gt Unit f lambda Lambdas dideklarasikan menggunakan kurung kurawal Jika lambda mengambil parameter mereka dideklarasikan dalam kurung kurawal dan diikuti oleh gt operator the following statement defines a lambda that takes a single parameter and passes it to the println function val l c Any gt println c lambdas with no parameters may simply be defined using val l2 print no parameters Contoh kompleks hello world sunting fun main args Array lt String gt greet to place print Inline higher order functions inline fun greet s gt String String greeting andAnother s Infix functions extensions type inference nullable types lambda expressions labeled this Elvis operator infix fun String andAnother other Any buildString append this andAnother append append other Immutable types delegated properties lazy initialization string templates val greeting by lazy val doubleEl String ll he doubleEl o Sealed classes companion objects sealed class to companion object val place world Extensions Unit fun String print println this Peralatan suntingIntelliJ IDEA memiliki dukungan plug in untuk Kotlin 29 IntelliJ IDEA 15 adalah versi pertama yang menggabungkan plugin Kotlin di IntelliJ Installer dan memberikan dukungan Kotlin secara langsung 30 JetBrains juga menyediakan plugin untuk Eclipse 31 32 Integrasi dengan alat build Java umum didukung termasuk Apache Maven 33 Apache Ant 34 dan Gradle 35 Android Studio berdasarkan IntelliJ IDEA memiliki dukungan resmi untuk Kotlin mulai dari Android Studio 3 36 Emacs memiliki Mode Kotlin di repositori paket Melpa nya Vim memiliki plugin yang dikelola di GitHub 37 Json2Kotlin menghasilkan kode Kotlin asli gaya POJO untuk pemetaan respons layanan web Aplikasi suntingSaat Kotlin diumumkan sebagai bahasa pengembangan Android resmi di Google I O pada Mei 2017 Kotlin menjadi bahasa ketiga yang didukung penuh untuk Android selain Java dan C 38 Pada tahun 2020 Kotlin masih paling banyak digunakan di Android dengan Google memperkirakan bahwa 70 dari 1000 aplikasi teratas di Play Store ditulis dalam Kotlin Google sendiri memiliki 60 aplikasi yang ditulis dalam Kotlin termasuk Maps dan Drive Banyak aplikasi Android seperti Google s Home sedang dalam proses migrasi ke Kotlin jadi gunakan Kotlin dan Java Kotlin di Android dipandang bermanfaat karena keamanan penunjuk nolnya serta fitur fiturnya yang membuat kode lebih pendek dan lebih mudah dibaca 39 Selain penggunaannya yang menonjol di Android Kotlin mendapatkan daya tarik dalam pengembangan sisi server Spring Framework secara resmi menambahkan dukungan Kotlin dengan versi 5 pada 4 Januari 2017 40 Untuk lebih mendukung Kotlin Spring telah menerjemahkan semua dokumentasinya ke Kotlin dan menambahkan dukungan bawaan untuk banyak fitur khusus Kotlin seperti coroutine 41 Selain Spring JetBrains telah menghasilkan kerangka kerja pertama Kotlin yang disebut Ktor untuk membangun aplikasi web 42 Pada tahun 2020 JetBrains menemukan dalam survei pengembang yang menggunakan Kotlin bahwa 56 menggunakan Kotlin untuk aplikasi seluler sementara 47 menggunakannya untuk back end web Lebih dari sepertiga pengembang Kotlin mengatakan bahwa mereka bermigrasi ke Kotlin dari bahasa lain Sebagian besar pengguna Kotlin menargetkan Android atau sebaliknya di JVM dengan hanya 6 yang menggunakan Kotlin Native 43 Adopsi suntingPada tahun 2018 Kotlin adalah bahasa dengan pertumbuhan tercepat di GitHub dengan 2 6 kali lebih banyak pengembang dibandingkan tahun 2017 44 Ini adalah bahasa pemrograman keempat yang paling dicintai menurut Survei Pengembang Stack Overflow 2020 45 Kotlin juga dianugerahi O Reilly Open Source Software Conference Breakout Award untuk 2019 46 Banyak perusahaan organisasi telah menggunakan Kotlin untuk pengembangan backend Google 47 Norwegian Tax Administration 48 Gradle 49 Amazon 50 Cash App 51 JetBrains 52 Flux 53 Allegro 54 OLX 55 Shazam 56 Pivotal 57 Rocket Travel 58 Meshcloud 59 Zalando 60 Beberapa perusahaan organisasi telah menggunakan Kotlin untuk pengembangan web JetBrains 61 Data2viz 62 Fritz2 63 Barclay s Bank 64 Sejumlah perusahaan secara terbuka menyatakan bahwa mereka menggunakan Kotlin DripStat 65 Basecamp 66 Pinterest 67 Coursera 68 Netflix 69 Uber 70 Cash App 71 Trello 72 Duolingo 73 Corda buku besar terdistribusi yang dikembangkan oleh konsorsium bank terkenal seperti Goldman Sachs Wells Fargo JP Morgan Deutsche Bank UBS HSBC BNP Paribas Societe Generale memiliki lebih dari 90 kode Kotlin dalam basis kodenya 74 Pranala luar suntingPerbandingan bahasa pemrograman Situs web resmi Sampel kodeRujukan sunting https github com JetBrains kotlin releases tag v1 9 10 Alina Grebenkina 2021 02 04 1 4 30 Is Released With a New JVM Backend and Language and Multiplatform Features The Kotlin Blog Diakses tanggal 2021 03 15 Heiss Janice April 2013 The Advent of Kotlin A Conversation with JetBrains Andrey Breslav oracle com Oracle Technology Network Diakses tanggal February 2 2014 Mobius 2015 01 08 Andrej Breslav Kotlin dlya Android korotko i yasno diakses tanggal 2017 05 28 Kotlin dan Android Android Developers Diakses tanggal 2019 03 22 a b Krill Paul 22 July 2011 JetBrains readies JVM language Kotlin InfoWorld Diarsipkan dari versi asli tanggal 7 September 2019 Diakses tanggal 2 February 2014 Parameter url status yang tidak diketahui akan diabaikan bantuan Waters John 22 February 2012 Kotlin Goes Open Source ADTmag com 1105 Enterprise Computing Group Diarsipkan dari versi asli tanggal 18 February 2014 Diakses tanggal 2 February 2014 Parameter url status yang tidak diketahui akan diabaikan bantuan Mobius 8 January 2015 Andrej Breslav Kotlin dlya Android korotko i yasno diakses tanggal 28 May 2017 Kieron Murphy 4 October 1996 So why did they decide to call it Java JavaWorld Diarsipkan dari versi asli tanggal 15 March 2019 Diakses tanggal 14 October 2017 Parameter url status yang tidak diketahui akan diabaikan bantuan Why JetBrains needs Kotlin we expect Kotlin to drive the sales of IntelliJ IDEA Kotlin 1 0 Released Pragmatic Language for JVM and Android Kotlin Blog Blog jetbrains com 2016 02 15 Diakses tanggal 2017 04 11 Kotlin 1 2 Released Sharing Code between Platforms Kotlin Blog Blog jetbrains com 2017 11 28 Kotlin is now Google s preferred language for Android app development TechCrunch dalam bahasa Inggris Diakses tanggal 8 May 2019 a b c d Kotlin releases kotlinlang org 10 Juni 2022 Diakses tanggal 19 Juni 2022 What s New in Kotlin 1 4 Kotlin Programming Language Kotlin dalam bahasa Inggris Diakses tanggal 2020 08 20 In 1 4 0 we slightly change the Swift API generated from Kotlin with respect to the way exceptions are translated Krill Paul 2023 01 12 Kotlin 1 8 0 adds recursive copy delete for directories InfoWorld dalam bahasa Inggris Diakses tanggal 2023 05 08 JVM Languages Report extended interview with Kotlin creator Andrey Breslav Zeroturnaround com 22 April 2013 Diakses tanggal 2 February 2014 Semicolons jetbrains com Diakses tanggal 8 February 2014 Types are moving to the right Medium Medium 16 July 2020 Diakses tanggal 6 November 2021 Roman Elizarov is the new Project Lead for Kotlin The Kotlin Blog JetBrains Diakses tanggal 7 November 2021 Basic Syntax Kotlin Jetbrains Diakses tanggal 19 January 2018 functions jetbrains com Diakses tanggal 8 February 2014 What s New in Kotlin 1 3 Kotlin Programming Language Kotlin Diakses tanggal 4 April 2020 Design by Contract DbC design considerations Kotlin Discussions dalam bahasa Inggris 16 August 2012 Diakses tanggal 4 April 2020 Implement the full semantics of Eiffel DbC and improve upon it Kotlin for JavaScript Kotlin Kotlin Help dalam bahasa Inggris 21 January 2021 Diakses tanggal 2021 03 19 Kotlin Examples Learn Kotlin Programming By Example Diarsipkan dari versi asli tanggal 2021 11 18 Diakses tanggal 2022 06 19 Introduction to Data Classes in Kotlin Higher Order Functions and Lambdas Kotlin Jetbrains Diakses tanggal 19 January 2018 Kotlin JetBrains Plugin Repository Plugins jetbrains com 31 March 2017 Diakses tanggal 11 April 2017 What s New in IntelliJ IDEA 2017 1 Jetbrains com Diakses tanggal 11 April 2017 Getting Started with Eclipse Neon Kotlin Programming Language Kotlinlang org 10 November 2016 Diakses tanggal 11 April 2017 JetBrains kotlin eclipse Kotlin Plugin for Eclipse GitHub Diakses tanggal 11 April 2017 Using Maven Kotlin Programming Language kotlinlang org Diakses tanggal 9 May 2017 Using Ant Kotlin Programming Language kotlinlang org Diakses tanggal 9 May 2017 Using Gradle Kotlin Programming Language kotlinlang org Diakses tanggal 9 May 2017 Kotlin and Android Android Developers udalov kotlin vim Kotlin plugin for Vim Featuring syntax highlighting basic indentation Syntastic support GitHub Diakses tanggal 30 August 2019 Lardinois Frederic 17 May 2017 Google makes Kotlin a first class language for writing Android apps techcrunch com dalam bahasa Inggris Diakses tanggal 28 June 2018 Kotlin programming language How Google is using it to squash the code bugs that cause most crashes ZDNet Introducing Kotlin support in Spring Framework 5 0 Spring Pivotal 4 January 2017 Diakses tanggal 29 September 2020 The State of Kotlin Support in Spring JetBrains dalam bahasa Inggris Diakses tanggal 6 December 2020 Review of Microservices Frameworks A Look at Spring Boot Alternatives DZone Kotlin Programming The State of Developer Ecosystem 2020 JetBrains dalam bahasa Inggris Diakses tanggal 29 September 2020 The state of the Octoverse Diarsipkan dari versi asli tanggal 22 March 2019 Diakses tanggal 24 July 2019 Parameter url status yang tidak diketahui akan diabaikan bantuan Stack Overflow Developer Survey 2020 Diakses tanggal 28 May 2020 Kotlin wins Breakout Project of the Year award at OSCON 19 Diakses tanggal 24 July 2019 State of Kotlin on Android YouTube Diakses tanggal 29 September 2020 KotlinConf 2019 Kotlin Runs Taxes in Norway by Jarle Hansen amp Anders Mikkelsen YouTube Diakses tanggal 29 September 2020 Gradle Kotlin DSL Primer docs gradle org Diakses tanggal 29 September 2020 QLDB at Amazon Talking Kotlin Diakses tanggal 29 September 2020 Going Full Kotlin Multiplatform Talking Kotlin dalam bahasa Inggris Diakses tanggal 29 September 2020 Kotless Talking Kotlin dalam bahasa Inggris Diakses tanggal 29 September 2020 Using Kotlin for backend development at Flux Talking Kotlin dalam bahasa Inggris Diakses tanggal 29 September 2020 Kotlin at Allegro Talking Kotlin dalam bahasa Inggris Diakses tanggal 29 September 2020 Greenfield Kotlin at OLX Talking Kotlin dalam bahasa Inggris Diakses tanggal 29 September 2020 Kotlin at Shazam Talking Kotlin dalam bahasa Inggris Diakses tanggal 29 September 2020 Application Monitoring with Micrometer Talking Kotlin dalam bahasa Inggris Diakses tanggal 29 September 2020 Groovy and Kotlin Interop at Rocket Travel Talking Kotlin dalam bahasa Inggris Diakses tanggal 29 September 2020 Kotlin on the backend at Meshcloud Talking Kotlin dalam bahasa Inggris Diakses tanggal 29 September 2020 Zally An API Linter Talking Kotlin dalam bahasa Inggris Diakses tanggal 29 September 2020 KotlinConf 2019 Kotlin in Space by Maxim Mazin YouTube Diakses tanggal 29 September 2020 KotlinConf 2017 Frontend Kotlin from the Trenches by Gaetan Zoritchak YouTube Diakses tanggal 29 September 2020 Fritz2 Talking Kotlin dalam bahasa Inggris Diakses tanggal 29 September 2020 Java Kotlin Developer Barclays Prague Wizbii Wizbii com dalam bahasa Inggris Diakses tanggal 29 September 2020 Kotlin in Production What works Whats broken Blog dripstat com 24 September 2016 Diarsipkan dari versi asli tanggal 2019 07 01 Diakses tanggal 11 April 2017 How we made Basecamp 3 s Android app 100 Kotlin Signal v Noise Signal v Noise 29 April 2017 Diakses tanggal 1 May 2017 pranala nonaktif permanen Droidcon NYC 2016 Kotlin in Production YouTube Diakses tanggal 24 July 2019 Becoming bilingual coursera 26 April 2018 Diakses tanggal 24 July 2019 Rob Spieldenner on twitter Diakses tanggal 24 July 2019 2017 Who s using Kotlin 7 February 2017 Diakses tanggal 24 July 2019 square sqldelight GitHub Diakses tanggal 24 July 2019 Dan Lew on Twitter Diakses tanggal 24 July 2019 Duolingo on Twitter Diakses tanggal 13 April 2020 Kotlin 1 1 Released with JavaScript Support Coroutines and more Diakses tanggal 1 May 2017 Bahan bacaan suntingHardiansah Suryono Sigit 2021 Panduan Praktis Membuat Aplikasi ANDROID Dengan Android Studio Kotlin edisi ke 4 Daerah Istimewa Yogyakarta Sleman PT Lauwba Techno Indonesia Parameter url status yang tidak diketahui akan diabaikan bantuan Diperoleh dari https id wikipedia org w index php title Kotlin bahasa pemrograman amp oldid 23419361