Kotlin

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Kotlin
Kotlin-logo.png
Класс языка:

язык программирования[1] и объектно-ориентированный язык программирования

Появился в:

2011

Автор:

JetBrains

Выпуск:

1.1 (1 марта 2017 [2])

Система типов:

статическая

Испытал влияние:

Java, Scala, Swift, Groovy, Gosu, Ceylon, C#[3]

Лицензия:

Apache 2

Сайт:

kotlinlang.org

Платформа:

Java Virtual Machine

ОС:

любая, поддерживающая JVM

Kotlin (Ко́тлин) — статически типизированный язык программирования, работающий поверх JVM и разрабатываемый компанией JetBrains. Компилируется также в JavaScript. Язык назван в честь острова Котлин в Финском заливе, на котором расположен город Кронштадт[4].

Авторы ставили целью создать язык более лаконичный и типобезопасный, чем Java, и более простой, чем Scala[4]. Следствием упрощения по сравнению со Scala стали также более быстрая компиляция и лучшая поддержка языка в IDE[5].

История[править | править вики-текст]

Язык разрабатывается с 2010 года, публично представлен в июле 2011[3]. Исходный код реализации языка был открыт в феврале 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].

Описание[править | править вики-текст]

Позиционируется разработчиками как объектно-ориентированный язык промышленного[уточнить] уровня, а также как язык, который сможет заменить Java. При этом язык полностью совместим с Java, что позволяет разработчикам постепенно перейти с Java на Kotlin. В частности, в Android язык интегрируется с помощью Gradle, что позволяет для существующего Android-приложения внедрять новые функции на Kotlin без переписывания приложения целиком.

Синтаксис[править | править вики-текст]

Синтаксис языка похож на Pascal, TypeScript, Haxe, PL/SQL, F#, Go и Scala, C++, Java, C# и D. При объявлении переменных и параметров, типы данных указываются после названия (разделитель двоеточие). Точка с запятой как разделитель операторов является не обязательной, также как в Scala и Groovy, в большинстве случаев перевода строки достаточно чтобы компилятор понял, что выражение закончилось. Кроме объектно-ориентированного подхода, Kotlin также поддерживает процедурный стиль с использованием функций. Как и в C и C++, точкой входа в программе является функция "main", которая принимает массив параметров командной строки. Программы на Kotlin также поддерживают Perl и Unix/Linux shell стиль интерпретации строк. Kotlin также поддерживает вывод типов.

Примеры кода[править | править вики-текст]

fun main(args : Array<String>) {
  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()

Примечания[править | править вики-текст]

  1. английская Википедия — 2001.
  2. [1]
  3. 1 2 JetBrains produces another Java alternative, The H (англ.) (22 July 2011). Проверено 26 мая 2013.
  4. 1 2 Kotlin — конкурент Java и Scala, Открытые системы (издательство) (июль 2011). Проверено 26 мая 2013.
  5. Андрей Бреслав Язык программирования Kotlin // Открытые системы. — 2011. — № 09.
  6. Java-alternative Kotlin now available as open source, The H (англ.) (14 February 2012). Проверено 26 мая 2013.
  7. Kotlin M2 now runs on Android too, The H (англ.) (04 June 2012). Проверено 26 мая 2013.
  8. Fourth Kotlin milestone adds annotation tool, The H (англ.) (12 December 2012). Проверено 26 мая 2013.
  9. Kotlin 1.0 Release Candidate is Out! (4 February 2016).
  10. Kotlin 1.0 Released: Pragmatic Language for JVM and Android (en-US). Kotlin Blog. Проверено 15 февраля 2016.
  11. Встречайте Kotlin 1.1: JavaScript, корутины и многое другое (рус.). Проверено 11 марта 2017.

Ссылки[править | править вики-текст]