Компания JetBrains, развивающая интегрированную среду разработки IntelliJ IDEA и систему метапрограммирования MPS, объявила об открытии кода компонентов, связанных с реализацией языка программирования Kotlin. Язык Kotlin поддерживает статическую типизацию, код может быть скомпилирован для последующего выполнения внутри стандартной виртуальной машины Java (JVM) или преобразован в JavaScript-представление для запуска внутри браузера. Исходные тексты открыты под лицензией Apache. Язык создан в санкт-петербургском центре разработки компании JetBrains и соответственно назван в честь острова Котлин.

Из открытых компонентов Kotlin отмечается:

  • Компилятор Kompiler, который пока поддерживает только генерацию байткода для JVM. Компилятор для JavaScript находится в процессе разработки. В будущем не исключается создание бэкенда для LLVM;
  • Набор расширений к стандартным библиотекам Java, таких как утилиты для работы с JDK коллекциями;
  • Сборочный инструментарий и компоненты для интеграции с Ant, Gradle и Maven;
  • Kotlin Web Demo - Web-ориентированная среда для редактирования, запуска и организации совместного доступа к программам на языке Kotlin;
  • Плагин с поддержкой Kotlin для интегрированной среды разработки IntelliJ IDEA. Планируется создание плагина для платформы Eclipse.

Изначальной целью проекта было создание максимально совместимого с Java языка программирования, одновременно лишённого ограничений и недостатков Java, от которых Java не может избавиться из-за необходимости обеспечения обратной совместимости. Из отличительный черт языка Kotlin можно выделить ориентацию на обеспечение более высокой безопасности за счет реализации статических проверок для выявления таких проблем как разыменование NULL-указателей. Среди других особенностей, имеющих отношение к безопасности, отмечается отсутствие raw-типов, полное сохранение информации о типах в процессе выполнения и реализация массивов в виде инварианта.

Из расширенных языковых возможностей отмечается поддержка функций высшего порядка, вывода типов значений на основании выражения, использование уточняющих "примесей" (mixin) и делегирования. Из программ Kotlin можно вызывать Java-классы и наоборот, из Java вызывать компоненты, написанные на Kotlin. Разработчики попытались максимально упростить язык, сделав его более простым чем Scala, который называется в качестве наиболее близкого конкурента. Более подробно оценить возможности языка Kotlin можно на страницах с его сравнением с Java и Scala.


package hello
fun main(args : Array) {


println("Hello, world!")
 }

Дополнение: Описание особенностей языка на русском языке от автора можно прочитать в данной статье, продолжение которой опубликовано здесь.

Источник: http://www.opennet.ru/opennews/art.shtml?num=33088