Только что была выпущена новая версия Kotlin, языка, созданного JetBrains. Kotlin-это еще одна замена Java, и она утверждает, или, скорее, стремится быть лучше при полной совместимости.
Kotlin может быть скомпилирован в JavaScript. Как современный объектно-ориентированный язык, он также может использоваться для разработки приложений для Android. Это открытый исходный код, и JetBrains рассматривает его как способ увеличить продажи своей IDE IntelliJ. Действительно, большинство улучшений в этом выпуске связаны с функциями IntelliJ, которые были расширены на язык.
Наиболее заметными улучшениями являются:
Плагин IntelliJ IDEA теперь может обнаруживать множество случаев, когда императив для циклов может быть переписан более компактным и идиоматичным способом с использованием стандартных библиотечных функций, таких как фильтр и карта.
В качестве простого примера приведем следующий фрагмент:
будет автоматически преобразован в:
1
2
val result = list.filter { it.isNotEmpty() }
Чтобы запустить преобразование, поместите курсор на ключевое слово for и нажмите Alt-Enter.
Это может показаться совершенно естественным для функционального программиста, но не для жесткого объектно-ориентированного программиста.
Также новым является дополнение постфиксного кода, которое работает как своего рода завершение кода, которое вы знаете и любите, но оно обернет то, что вы уже написали, в конструкцию, а не просто завершит то, что вы пишете. Пример, приведенный JetBrains, заключается в том, что вы можете написать логическое выражение и ретроспективно обернуть его в оператор if. Идея заключается в том, что вы можете избежать необходимости перемещать положение вставки назад. Завершение кода Postfix теперь пришло в Kotlin, и он обещан в Android Studio, когда он обновится до новой платформы IntelliJ.
Еще одним улучшением «инструмента» являются некоторые новые рефакторинги:
Плагин Kotlin теперь поддерживает рефакторинги “Extract Interface” и “Extract Superclass”, которые ранее поддерживались только для Java и некоторых других языков, а также совершенно новый рефакторинг “Introduct Type Parameter”, обеспечивающий простой способ изменить класс или функцию на универсальный.
Существует также небольшое обновление инструмента Kotlin Lint, который теперь равен Android Studio 2.2 lint. Есть также некоторые незначительные улучшения JavaScript.
Каково будущее таких языков, как Котлин?
Если вы посмотрите на деятельность Github, она, похоже, набирает обороты, а не угасает, и существует здоровое сообщество участников. Тем не менее, Котлин, несмотря на наличие поклонников, похоже, не близок к тому, чтобы совершить прорыв, подобный Ruby или Lua, чтобы привлечь более широкую аудиторию.
Учитывая, что Google уже использует версию IntelliJ с открытым исходным кодом для реализации Android Studio, Kotlin может заменить Java в разработке Android, если предстоящий апелляционный суд Oracle отменит вынесенный в мае вердикт о том, что использование API Java Google было законным и представляло собой добросовестное использование.
Google имеет свою собственную JVM и перешел на библиотеку классов с открытым исходным кодом, поэтому язык JVM, который уже имеет опыт разработки Android, может быть интересным предложением.