Jetbrains выпустила Kotlin 1.0, свой язык программирования общего назначения с открытым исходным кодом для JVM и Java.
Если вам интересно, нужен ли миру еще один язык программирования, у этого может быть все необходимое, чтобы его стоило изучить. Jetbrains наиболее известен своей Java IDE IntelliJ, и разработчики там, похоже, много думали о том, что делает язык привлекательным.
Согласно сообщению в блоге, анонсирующему выпуск, Kotlin был разработан для:
«прагматичный язык программирования для JVM и Android, который сочетает в себе OO и функциональные возможности и ориентирован на совместимость, безопасность, ясность и поддержку инструментов.»
Прагматизм, пожалуй, самый важный аспект Kotlin; разработчики хотели сделать его хорошим инструментом, поэтому совместимость с существующим кодом и инфраструктурой заняла первое место в списке. Андрей Бреслав, ведущий языковой дизайнер Kotlin, говорит, что:
«Kotlin было бы намного проще проектировать и разрабатывать, если бы не взаимодействие с Java, интеграция Maven, совместимость с Android! Это определенно было бы более элегантно во многих отношениях. Но элегантность, хотя и высоко ценится, здесь не является главной целью, главная цель-быть полезным. И чем меньше нашим пользователям придется заново учиться, заново изобретать, заново делать с нуля, чем больше они смогут повторно использовать, тем лучше.»
Kotlin можно использовать для серверных, настольных и мобильных приложений для Android. Он поставляется со своей собственной стандартной библиотекой и может взаимодействовать со всеми библиотеками Java. Прагматичный подход означал, что разработчики избегали изобретать еще один менеджер пакетов и систему сборки; как они отмечают, Maven и Gradle уже существуют с огромным количеством плагинов. Напротив, разработчики работали над созданием совместимых с JDK интерфейсов коллекций для поддержки массы кода Java, который работает с коллекциями JDK. Поддержка байтового кода Java 6 также присутствует для поддержки людей, которые все еще работают с Java 6.
Одна из областей, в которой разработчики Kotlin отошли от нынешней практики, — это нулевые ссылки. Это может привести к исключениям нулевой ссылки или в Java в NullPointerExceptions, NPEs.
Система типов Kotlin предназначена для устранения NPE, за исключением случаев, когда есть явный вызов, чтобы бросить его; если внешний код Java вызвал его; или если есть некоторая несогласованность данных в отношении инициализации (где-то используется неинициализированное это, доступное в конструкторе).
Котлин, по-видимому, был готов к производству в течение примерно двух лет и использовался внутри JetBrains для написания собственных продуктов, включая IntelliJ IDEA, JetBrains Rider и JetBrains Account & E-Shop среди других. Задержка с выпуском версии 1.0, по-видимому, была вызвана тем, что разработчики:
«проверка наших проектных решений на практике».
Kotlin имеет открытый исходный код под лицензией Apache 2.0 и на сегодняшний день насчитывает более 100 участников. JetBrains говорят, что над ним работают более 20 человек на полный рабочий день и что он привержен этому в долгосрочной перспективе.
Существует онлайн-мини-среда разработки, которую вы можете попробовать вместе с набором примеров задач, иллюстрирующих основы языка.