kotlin-telegram

Repository with information about Kotlin chats on Telegram.

View the Project on GitHub Heapy/kotlin-telegram

Kotlin FAQ

FAQ для Telegram-чата @kotlin_start.

1. Хочу изучать Kotlin. Где начать?

1a. Документация.

Если вы начинающий — обратите внимание на официальную документацию. Она хорошо написана и позволяет решить абсолютное большинство вопросов, возникающих при изучении языка. Как правило, на каждой странице есть редактируемые примеры кода, которые можно запустить прямо в браузере.

Краткий обзор синтаксиса языка и полезных идиом.

Про использование Java-библиотек.

Очень краткий обзор языка от Google.

Базового английского (на крайний случай Google Translate) достаточно для понимания документации. Но если русскоязычные материалы предпочтительнее — есть неофициальные переводы. Имейте в виду, что в отдельных случаях переводы могут быть устаревшими. Сверяйтесь с официальным сайтом языка.

1b. Книги.

Большой список книг по Kotlin есть на сайте.

Нужна ли мне книга? Скорее всего, нет. В большинстве случаев документации будет хватать.

Но я хочу именно книгу — какую выбрать? Если есть опыт на Java — берите Kotlin in Action.

А если у меня нет опыта программирования? Скоро выйдет Atomic Kotlin. Книга есть в раннем доступе в виде курса на Stepik. Часть материалов доступна бесплатно.

Для Android’a? Android Development with Kotlin или Kotlin for Android Developers.

1c. Курсы.

Kotlin:

Android:

1d. Упражнения.

(посмотрите также на раздел “Курсы”)

Установив Kotlin Educational Plugin, вы сможете ознакомиться с языком в интерактивном режиме.

Маленькие интерактивные примеры с обьяснениями можно также попробовать на странице “Kotlin by Example”.

Задачки, называемые Kotlin Koans, также доступны онлайн. Отличный инструмент для продолжения знакомства с языком.

Для написания небольших фрагментов кода иногда удобно использовать play.kotl.in, Scratch files в IDE или REPL в консоли.

2. Можно ли учить Kotlin, не зная Java? Подходит ли Kotlin как первый язык программирования?

Да. Kotlin вполне подходит как первый язык. Знание JVM/Java не обязательно на начальных этапах, но, вероятно, (если вы планируете использовать Kotlin на JVM-платформе) потребуется позже.

Например, если вы собираетесь писать приложения для Android — готовьтесь читать Java-код время от времени и очень часто использовать Java-библиотеки. Инвестируйте хотя бы немного времени в понимание Java и основ JVM как освоите базу языка Kotlin.

Примите во внимание, что хотя вы и будете работать со стандартной библиотекой Kotlin’a, на JVM-платформе (Android, JavaFx, backend) под капотом иногда используются Java-классы (например, конкретные реализации Java-коллекций скрыты за Kotlin-интерфейсами).

Знание и понимание целевой платформы полезно в целом, но не обязательно на начальных этапах.

3. У Kotlin-кода есть какой-то особый стиль?

Да. Конвенции по оформлению кода есть на сайте. Для Android’a также тут.

4. У меня остались вопросы / что-то непонятно.

Знаете, как написать нужный вам код на Java? Используйте конвертацию кода в IDEA и доведите до идиоматического Kotlin-кода вручную.

Хотите показать код другим? Сократите его до маленького примера, демонстрирующего то, с чем возникли затруднения, и загрузите на play.kotlinlang.org.

Убедитесь, что вы просмотрели соответсвующий раздел в документации (см. выше).

Все еще непонятно? Спросить можно:

Пример неуместных вопросов для Kotlin-чата: