Kotlin: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[отпатрулированная версия][отпатрулированная версия]
Содержимое удалено Содержимое добавлено
«Шишков, прости»©Пушкин. русский аналог аббревиатуры IDE абсолютно не узнаваем
м Пробел перед двоеточием между сущностью и типом в Kotlin не ставится.
Строка 44: Строка 44:
<syntaxhighlight lang="kotlin">
<syntaxhighlight lang="kotlin">


fun main(args : Array<String>) {
fun main(args: Array<String>) {
val scope = "world"
val scope = "world"
println("Hello, $scope!")
println("Hello, $scope!")
}
}
</syntaxhighlight><syntaxhighlight lang="kotlin">
</syntaxhighlight><syntaxhighlight lang="kotlin">
fun sayHello(maybe : String?, neverNull : Int) {
fun sayHello(maybe: String?, neverNull: Int) {
// use of elvis operator
// use of elvis operator
val name : String = maybe ?: "stranger"
val name: String = maybe ?: "stranger"
println("Hello $name")
println("Hello $name")
}
}

Версия от 12:01, 3 октября 2017

Kotlin
Изображение логотипа
Класс языка язык JVM, свободное программное обеспечение и объектно-ориентированный
Появился в 22 июля 2011
Автор JetBrains
Расширение файлов .kt
Выпуск 1.1 (1 марта 2017 [1])
Система типов статическая
Испытал влияние Java, Scala, Swift, Groovy, Gosu, Ceylon, C#[2]
Лицензия Apache 2
Сайт kotlinlang.org
Платформа Java Virtual Machine
ОС любая, поддерживающая JVM
Логотип Викисклада Медиафайлы на Викискладе

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

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

История

Язык разрабатывается с 2010 года, представлен общественности в июле 2011[2]. Исходный код реализации языка был открыт в феврале 2012[5]. В феврале был выпущен milestone 1, включающий плагин для IDEA. В июне — milestone 2 с поддержкой Android[6]. В декабре 2012 года вышел milestone 4, включающий, в частности, поддержку Java 7[7].

В феврале 2016 года вышел официальный релиз-кандидат версии 1.0[8], а 15 февраля 2016 года — релиз 1.0[9]. 1 марта 2017 вышел релиз 1.1[10].

В мае 2017 года компания Google сообщила, что инструменты языка Kotlin, основанные на JetBrains IDE, будут по стандарту включены в Android Studio 3.0 — официальный инструмент разработки для ОС Android[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++/D, точкой входа в программе является функция "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. [1]
  2. 1 2 "JetBrains produces another Java alternative". The H[англ.]. 22 July 2011. Дата обращения: 26 мая 2013.
  3. 1 2 "Kotlin — конкурент Java и Scala". Открытые системы (издательство). июль 2011. Дата обращения: 26 мая 2013. {{cite news}}: Проверьте значение даты: |date= (справка)
  4. Андрей Бреслав. Язык программирования Kotlin // Открытые системы. — 2011. — № 09.
  5. "Java-alternative Kotlin now available as open source". The H[англ.]. 14 February 2012. Дата обращения: 26 мая 2013.
  6. "Kotlin M2 now runs on Android too". The H[англ.]. 04 June 2012. Дата обращения: 26 мая 2013. {{cite news}}: Проверьте значение даты: |date= (справка)
  7. "Fourth Kotlin milestone adds annotation tool". The H[англ.]. 12 December 2012. Дата обращения: 26 мая 2013.
  8. "Kotlin 1.0 Release Candidate is Out!". 4 February 2016.
  9. Kotlin 1.0 Released: Pragmatic Language for JVM and Android (амер. англ.). Kotlin Blog. Дата обращения: 15 февраля 2016.
  10. "Встречайте Kotlin 1.1: JavaScript, корутины и многое другое". Дата обращения: 11 марта 2017.
  11. "Google добавила Kotlin в качестве официального языка программирования для Android". 17 мая 2017. Дата обращения: 18 мая 2017.

Ссылки