Kotlin (Ко́тлин) — статически типизированный, объектно-ориентированный язык программирования, работающий поверх Java Virtual Machine и разрабатываемый компанией JetBrains. Также компилируется в JavaScript и в исполняемый код ряда платформ через инфраструктуру LLVM. Язык назван в честь острова Котлин в Финском заливе, на котором расположен город Кронштадт[4].
Kotlin | |
---|---|
![]() | |
Класс языка | объектно-ориентированный язык программирования, язык JVM и язык программирования |
Появился в | 22 июля 2011 |
Автор | JetBrains |
Расширение файлов |
.kt или .kts |
Выпуск |
|
Испытал влияние | Groovy, C#, Gosu, Java, Ruby, JavaScript, Scala[2], Python и ML |
Лицензия | Apache License 2.0[3] |
Сайт | kotlinlang.org (англ.) |
Платформа | Java Virtual Machine, Dalvik virtual machine, JavaScript, iOS, watchOS, tvOS, macOS, Linux, Microsoft Windows и WebAssembly |
![]() |
Авторы ставили целью создать язык более лаконичный и типобезопасный, чем Java, и более простой, чем Scala[4]. Следствием упрощения по сравнению со Scala стали также более быстрая компиляция и лучшая поддержка языка в IDE[5]. Язык полностью совместим с Java, что позволяет Java-разработчикам постепенно перейти к его использованию; в частности, язык также встраивается Android, что позволяет для существующего Android-приложения внедрять новые функции на Kotlin без переписывания приложения целиком.
Язык разрабатывается с 2010 года под руководством Андрея Бреслава[6] , представлен общественности в июле 2011[7]. Исходный код реализации языка открыт в феврале 2012[8]. В феврале выпущен milestone 1, включающий плагин для IDEA. В июне — milestone 2 с поддержкой Android[9]. В декабре 2012 года вышел milestone 4, включающий, в частности, поддержку Java 7[10].
В феврале 2016 года вышел официальный релиз-кандидат версии 1.0[11], а 15 февраля 2016 года — релиз 1.0[12]. 1 марта 2017 вышел релиз 1.1[13].
В мае 2017 года компания Google сообщила, что инструменты языка Kotlin, основанные на JetBrains IDE, будут по стандарту включены в Android Studio 3.0 — официальный инструмент разработки для ОС Android[14].
На Google I/O 2019 было объявлено, что язык программирования Kotlin стал приоритетным в разработке под Android[15].
В ноябре 2020 года Бреслав объявил об уходе из JetBrains, руководство разработкой языка было передано Роману Елизарову[16].
Синтаксис языка преимущественно комбинирует наследство из двух языковых ветвей: Cи/C++/Java и ML (по словам создателей, через Scala). Из наиболее характерных элементов, от первой ветви унаследованы блоки кода, обрамлённые фигурными скобками; а от второй — постфиксное указание типов переменных и параметров (сперва идентификатор, затем разделитель — двоеточие, и затем тип) и ключевые слова "fun
" и "val
". Точка с запятой как разделитель операторов необязательна (как в 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()
|deadlink=
(справка)![]() | |
---|---|
Интегрированная среда разработки |
|
.NET и Visual Studio |
|
Коллективная работа |
|
Языки программирования |
|
![]() Языки программирования | |
---|---|
| |
|