Kotlin
Kotlin (Ко́тлин) — статически типизированный, объектно-ориентированный язык программирования, работающий поверх Java Virtual Machine и разрабатываемый компанией JetBrains. Также компилируется в JavaScript и в исполняемый код ряда платформ через инфраструктуру LLVM. Язык назван в честь острова Котлин в Финском заливе, на котором расположен город Кронштадт[3].
Kotlin | |
---|---|
![]() | |
Класс языка | объектно-ориентированный язык программирования, язык JVM и язык программирования |
Появился в | 22.07.2011 |
Автор | JetBrains |
Расширение файлов |
.kt или .kts |
Выпуск | 1.6.10 |
Система типов | статическая |
Испытал влияние | JavaScript, Java, Scala, Groovy, Gosu, C#[1], Python, ML |
Лицензия | Apache License 2.0[2] |
Сайт | kotlinlang.org (англ.) |
Платформа | Java Virtual Machine |
ОС | любая, поддерживающая JVM |
Авторы ставили целью создать язык более лаконичный и типобезопасный, чем Java, и более простой, чем Scala[3]. Следствием упрощения по сравнению со Scala стали также более быстрая компиляция и лучшая поддержка языка в IDE[4]. Язык полностью совместим с Java, что позволяет Java-разработчикам постепенно перейти к его использованию; в частности, язык также встраивается Android, что позволяет для существующего android-приложения внедрять новые функции на Kotlin без переписывания приложения целиком.
История
Язык разрабатывается с 2010 года под руководством Андрея Бреслава[5] , представлен общественности в июле 2011[1]. Исходный код реализации языка открыт в феврале 2012[6]. В феврале выпущен milestone 1, включающий плагин для IDEA. В июне — milestone 2 с поддержкой Android[7]. В декабре 2012 года вышел milestone 4, включающий, в частности, поддержку Java 7[8].
В феврале 2016 года вышел официальный релиз-кандидат версии 1.0[9], а 15 февраля 2016 года — релиз 1.0[10]. 1 марта 2017 вышел релиз 1.1[11].
В мае 2017 года компания Google сообщила, что инструменты языка Kotlin, основанные на JetBrains IDE, будут по стандарту включены в Android Studio 3.0 — официальный инструмент разработки для ОС Android[12].
На Google I/O 2019 было объявлено, что язык программирования Kotlin стал приоритетным в разработке под Android[13].
В ноябре 2020 года Бреслав объявил об уходе из JetBrains, руководство разработкой языка было передано Роману Елизарову[14].
Синтаксис
Синтаксис языка использует элементы из JavaScript, Паскаля, TypeScript, Haxe, PL/SQL, F#, Go и Scala, C++, Java, C#, Rust и D [почему?]. При объявлении переменных и параметров типы данных указываются после названия (разделитель — двоеточие). Точка с запятой, как разделитель операторов, также необязательна (как в Scala, Groovy и JavaScript); в большинстве случаев перевода строки достаточно, чтобы компилятор понял, что выражение закончилось. Кроме объектно-ориентированного подхода, Kotlin также поддерживает процедурный стиль с использованием функций. Как и в Си, C++ и D, точка входа в программу — функция main
, принимающая массив параметров командной строки. Программы на Kotlin также поддерживают perl- и shell-стиль интерполяции строк (переменные, включённые в строку, заменяются на их содержимое). Также поддерживается вывод типов.
Примеры кода
fun main() {
val scope = "world"
println("Hello, $scope!")
}
fun sayHello(maybe: String?, neverNull: Int) {
// use of elvis operator
val name: String = maybe ?: "stranger"
println("Hello $name")
}
// returns null if foo is null, or bar() returns null, or baz() returns null
foo ?. bar() ?. baz()
Примечания
- JetBrains produces another Java alternative, The H (22 July 2011). Архивировано 27 июля 2013 года. Дата обращения 26 мая 2013.
- https://github.com/JetBrains/kotlin/blob/v1.3.61/license/README.md
- Kotlin — конкурент Java и Scala, Открытые системы (июль 2011). Архивировано 10 января 2014 года. Дата обращения 26 мая 2013.
- Андрей Бреслав. Язык программирования Kotlin // Открытые системы. — 2011. — № 09.
- Кристина Шибаева. “Создатель языка программирования Kotlin Андрей Бреслав — о недостатке женщин в IT, полиамории и психотерапии”. Собака.
- Java-alternative Kotlin now available as open source, The H (14 февраля 2012). Архивировано 27 июля 2013 года. Дата обращения 26 мая 2013.
- Kotlin M2 now runs on Android too, The H (4 июня 2012). Архивировано 24 июля 2013 года. Дата обращения 26 мая 2013.
- Fourth Kotlin milestone adds annotation tool, The H (12 декабря 2012). Архивировано 27 июля 2013 года. Дата обращения 26 мая 2013.
- Kotlin 1.0 Release Candidate is Out! (4 февраля 2016). Архивировано 8 февраля 2016 года. Дата обращения 7 февраля 2016.
- Kotlin 1.0 Released: Pragmatic Language for JVM and Android (англ.). Kotlin Blog. Дата обращения: 15 февраля 2016. Архивировано 22 октября 2016 года.
- Встречайте Kotlin 1.1: JavaScript, корутины и многое другое (рус.). Архивировано 19 марта 2017 года. Дата обращения 11 марта 2017.
- Google добавила Kotlin как официальный язык программирования для Android (рус.) (17 мая 2017). Архивировано 9 июля 2017 года. Дата обращения 18 мая 2017.
- Евгений Делюкин. Google объявила Kotlin приоритетным языком программирования для разработки Android-приложений — Разработка на vc.ru . vc.ru (7 мая 2019). Дата обращения: 5 июня 2019. Архивировано 5 июня 2019 года.
- Andrey Breslav. Roman Elizarov is the new Project Lead for Kotlin . JetBrains (November 19, 2020).
Литература
- Жемеров Д., Исакова С. Kotlin в действии. — ДМК-Пресс, 2017. — 402 с. — ISBN 978-5-97060-497-7.
- Аделекан Ияну. Kotlin: программирование на примерах. — БХВ-Петербург, 2020. — 432 с. — ISBN 978-5-9775-6673-5.
Ссылки
- kotlinlang.org — официальный сайт языка Kotlin
- kotlinlang.ru . Перевод официальной документации по языку Kotlin. — Русскоязычное открытое сообщество любителей Kotlin. Дата обращения: 19 мая 2017.
- Андрей Бреслав. Язык программирования Kotlin // Открытые системы. — 2011. — № 09.
- Kotlin в открытых кодах, Computerworld Россия (апрель 2012). Дата обращения 26 мая 2013.
- Интервью с COO компании JetBrains Андреем Ивановым. Реактивные мозги // Журнал Хакер. — 26.03.2013.
- Janice J. Heiss The Advent of Kotlin: A Conversation with JetBrains' Andrey Breslav (недоступная ссылка). Oracle Technology Network (April 2013). Дата обращения: 7 июня 2013. Архивировано 10 июля 2013 года.
- Language of the Month: Kotlin. Language of the Month: Kotlin // Dr. Dobb's Journal. — 20 January, 2012., Andrew Binstock. The JVM As Language Farm Club // Dr. Dobb's Journal. — February 14, 2012.
- Eric Bruno. A Long Look at JVM Languages // Dr. Dobb's Journal. — November 19, 2012.