Kotlin is a programming language backed by JetBrains, the company that develops IntelliJ IDEA, which is the backend of Android Studio. After five years of development, version 1.0 was released in February, 2016. Kotlin compiles to JVM bytecode that is fully compatible with the Android platform. The developers even pay special attention to it by providing libraries (for example Anko), tooling and more.
It is a language designed for interoperability with Java code, which allows for a gradual migration from Java to Kotlin. The tooling is great and aids usability much. Additionally, picking up the language is very easy if you already know Java, since the syntax and concepts are similar, while still providing a lot of value for developers held back by the bad Java support on Android. Most developers are currently limited to Java 7 or even Java 6 and it will take a long time before we'll be able to properly use features like lambda expressions to make code more readable and concise.
Development lead Andrey Breslav has said that Kotlin is designed to be an industrial-strength object-oriented language, and to be a better language than Java but still be fully interoperable with Java code, allowing companies to make a gradual migration from Java to Kotlin.
Some more facts:
- it promotes functional style of programming (while being a multi-paradigm language)
- it is statically compiled, and introduces no runtime overhead compared to Java
- it’s bundled with IntelliJ IDEA 15 (both Ultimate and the OSS Community Edition) and available out-of-the-box
- Virtually any Java or Android framework or library works smoothly with Kotlin
- About 20 developers are working full-time on the language (https://www.reddit.com/r/androiddev/comments/3r7scd/the_kotlin_language_10_beta_is_here/cwlrln3)
- The development lead, Andrey Breslav, was a member of the Expert Group that was responsible for overseeing the language changes for lambda expression support in Java 8. (https://books.google.de/books?id=1DaDAwAAQBAJ&pg=PR21&lpg=PR21&dq=andrey+breslav+java+language+design&source=bl&ots=hxqfMDPFeC&sig=uDeuBTBUmGF2mXZ8BtTMTuAF0DM&hl=de&sa=X&ved=0ahUKEwiV-db3gKjNAhVLVhQKHc7BBKEQ6AEITTAG#v=onepage&q=andrey%20breslav%20&f=false)
- JetBrains has listed Kotlin's benefits for server-side and Android development: https://twitter.com/intelliyole/status/862652938057023488
- Expedia, Prezi.com and many more (https://blog.jetbrains.com/kotlin/2015/11/the-kotlin-language-1-0-beta-is-here/)
- JetBrains, Telegram, Level Money, Busradas / Busliniensuche [Popular app in Germany], ... (https://kotlinlang.org/)
- Netflix (https://twitter.com/robspieldenner/status/708355228832178176)
- Capital One (https://imgur.com/mpd0okq)
- Trello (https://twitter.com/danlew42/status/809065097339564032)
- Pinterest (https://www.reddit.com/r/programming/comments/5ba964/what_are_five_things_you_hate_about_your_favorite/d9mz7ro/, https://www.youtube.com/watch?v=mDpnc45WwlI)
- Google is/was using Kotlin inside the Data Binding compiler for Android
- Uber, Chalk, Foursquare and more: https://www.reddit.com/r/androiddev/comments/5sihp0/2017_whos_using_kotlin/
- Amazon AWS
- Coursera
- Square
- Basecamp
- Corda, developed by Goldman Sachs, Wells Fargo, J.P. Morgan, Deutsche Band, UBS, HSBC, BNP Paribas, etc.
- Gradle
- Pivotal supports Kotlin in various Spring projects. See also.
- From my experience, Kotlin is loved by the androiddev subreddit (http://reddit.com/r/androiddev)
JetBrains held back version 1.0 for a long time, since they really wanted to make sure the API and the compiler are stable. Additionally, they guarantee binary compatibility of old code with future releases.
- Tim Messerschmidt, ex developer at Braintree (PayPal) and now a Googler: https://twitter.com/SeraAndroid/status/660079813198290944
- Jake Wharton, an often invited speaker at Android conferences and developer at Square Inc, a company leading the Android open source community
- https://www.reddit.com/r/androiddev/comments/3r7scd/the_kotlin_language_10_beta_is_here/cwm3e1g
- https://www.reddit.com/r/androiddev/comments/51xpmp/just_starting_using_kotlin/d7fxy8b
- Using Kotlin is no different than using Java libraries, but Kotlin is backed by a company while many libraries we use without thinking twice about it are not, he says. (https://imgur.com/mpd0okq)
Thanks for taking the time to write this up. 👍