5.09. Основы языка
Основы языка
★ Kotlin – современный язык программирования, разработанный компанией JetBrains. Работа над ним началась ещё в 2010 году как альтернатива Java, который к тому времени уже считался устаревшим в плане удобства и читаемости кода.
Основными причинами создания Kotlin были:
- многословность кода на Java;
- нехватка поддержки функционального программирования;
- необходимость в безопасности типов и null safety;
- улучшение производительности разработчиков.
Какие возможности предоставляет Kotlin?
- писать код один раз и запускать его на разных платформах: Android, iOS, JVM, JS, Native;
- снизить объём boilerplate-кода за счёт автоматического вывода типов, data-классов, упрощённого синтаксиса;
- нулевые ссылки обрабатываются через строгую систему типов, что снижает риск ошибок времени выполнения;
- взаимодействие с Java-библиотеками, фреймворками и кодом;
- работать с лямбдами, неизменяемыми коллекциями, функциями высшего порядка;
- объектно-ориентированное, императивное, функциональное и реактивное программирование;
- создание приложений для мобильных устройств с акцентом на стабильность и производительность;
- написание скриптов сборки, конфигураций, сценариев с помощью Kotlin DSL;
- вести разработку в serverless-архитектурах, Kubernetes, контейнерных системах.
Официальная документация Kotlin есть на сайте https://kotlinlang.org/ и https://www.jetbrains.com/kotlin-ecosystem/
Чит-лист - https://cheatsheets.zip/kotlin
В 2005 году Google начала использовать Java для разработки приложений Android. В 2010 году Oracle купили Sun Microsystems (владельца Java), и подали в суд на Google за использование Java API без лицензии. Дело длилось годы и закончилось в 2021 году решением Верховного Суда США в пользу Google, но отношения между компаниями были испорчены. Как итог – на конференции Google I/O 2017 объявила Kotlin официальным языком разработки для Android. Это было стратегическое решение: уйти от зависимости Oracle и получить более современный, выразительный язык. С тех пор Kotlin стал основным языком разработки для Android и получил развитие в других сферах благодаря поддержке JetBrains и сообщества.
Особенности языка Kotlin:
- null safety – типы не могут содержать null по умолчанию;
- инференция типов – компилятор сам определяет тип переменной;
- неявное преобразование типов – поддерживается только безопасное;
- функциональное программирование – лямбды, высокопроизводительные коллекции;
- поддержка корутин – асинхронное программирование с использованием легковесных потоков;
- мультиплатформенность – Kotlin Multiplatform позволяет делить бизнес-логику между Android, iOS, JS, JVM и т.д.;
- безопасность типов – меньше ошибок во время выполнения;
- DSL-поддержка – удобство написания DSL (например, Ktor, Anko, SQLDelight);
- компактность кода – значительно меньше кода по сравнению с Java;
- взаимодействие с Java – полная совместимость, можно даже смешивать Kotlin и Java в одном проекте.