Описание
Kotlin (Ко́тлин) — статически типизированный современный язык программирования, сочетающий мощь и лаконичность. Разрабатывается компанией JetBrains. Компилируется в JVM байткод, а также в JavaScript и на другие платформы через инфраструктуру LLVM. Язык назван в честь острова Котлин в Финском заливе, на котором расположен город Кронштадт.
Авторы ставили целью создать язык более лаконичный и типобезопасный, чем Java, и более простой, чем Scala. Следствием упрощения по сравнению со Scala стали также более быстрая компиляция и лучшая поддержка языка в IDE.
Язык разрабатывается с 2010 года, представлен общественности в июле 2011. Исходный код реализации языка был открыт в феврале 2012. В феврале был выпущен milestone 1, включающий плагин для IDEA. В июне — milestone 2 с поддержкой Android. В декабре 2012 года вышел milestone 4, включающий, в частности, поддержку Java 7.
В феврале 2016 года вышел официальный релиз-кандидат версии 1.0, а 15 февраля 2016 года — релиз 1.0. 1 марта 2017 вышел релиз 1.1.
В мае 2017 года компания Google сообщила, что инструменты языка Kotlin, основанные на JetBrains IDE, будут стандартными в Android Studio 3.0 — официальном инструмент разработки для ОС Android.
Kotlin позиционируется как объектно-ориентированный язык промышленного уровня, а также как язык, который сможет заменить Java. При этом язык полностью совместим с Java, что позволяет разработчикам постепенно переходить с Java на Kotlin, например, внедряя новые функции на 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 также поддерживает вывод типов.