Kotlin: Функции
Kotlin - набирающий популярность язык от компании JetBrains.
Я слышал много положительных отзывов об этом языке.
Пару дней для развлечения пишу маленькие задачки на try.kotlinlang.org.
Сначала было очень непривычно и казалось, что в Kotlin нет ничего такого, ради чего надо было бы учить этот язык. Нет мощной системы типов как в Haskell, нет макросов как в Lisp, нет полных по Тьюрингу шаблонов как в C++. К тому же язык выполняется на JVM и ему еще надо доказывать чем он лучше Java и других сильных конкурентов, Scala и Clojure.
Немного поизучав Kotlin я нашел следующие очень интересные моменты из-за которых складывается впечатления, что язык достоин внимания:
- Data классы очень удобно использовать в ентерпрайзе и разного рода админках
- Properties всевозможных видов, позволяющие легко задавать поведение полей и кастомизировать
- Очень удобное переопределение операторов полезное для написания разного рода dsl,
- Множестов способов задать функцию, приятные средства для задания анонимных и лямбда функций, а так же специальные кейсы для функций, которые имеют один аргумент или являются единственным выражением
- Destructuring параметров
- Возможно добавлять методы к уже существующим классам
Это то, что с чем я столкнулся за час изучения Kotlin и те вещи которые мне очень понравились, действительно складывается впечатления, что его писали люди, желающие значительно ускорить промышленную разработку. Кажется, что с его помощью можно делать жестко оптимизированные решения заточенные на скорость, благодаря системе типов и плотной интеграции с JVM. А тем кто хочет сделать гибкое решение для многих пользователей или написать прототип, должна быть полезна выразительность и динамичность языка, для этого есть поддержка.
Также надо смотреть на нативный и браузерный варианты, которые позволяют переиспользовать код вне JVM окружения.