Скоро Новый год, а значит приближается пора подводить итоги года и хотелось к этому времени переставить некоторые книги на полочку к прочитанным. Эта книга как раз относилась к таким, так как уже давно в моей библиотеке и уже раньше начинал её читать. Тогда она мне зашла, по тому что вся эта функциональщина выглядит немного зубодробительно. Точнее, выглядела, сейчас уже выглядит норм и даже легко читается, что косвенно говорит о том, что было бы не плохо прочитать книги о функциональном программировании из серии “Грокаем” раньше этой, так точно будет проще.

КДПВ

Прежде всего, хочется уточнить что это перевод книги, которую издали Big Nerd Ranch. Это такая компания, которая специализируется на обучении программированию и книга основана на их курсе, посвященном языку Kotlin. Зная это становится понятно, почему авторы пишут “для профессионалов” книгу на примере игры NetHack… При этом выглядит немного странно то, что нет никакого официального репозитория с примерами кода из книги, мало того, даже ссылки прямо из книги на их учебные сервисы ведут на заглушку Heroku, при том что изданию всего пара лет, а ссылка из вступления, по которой должны находится решения из упражнений, вообще редиректит на какой-то левый сайт. Все таки, серия “Грокаем…” меня разбаловала, а эта книга рассчитана явно на ту же аудиторию.

Ах да, и еще, в конце книги есть рекомендации, которые включают еще одну книгу той же компании, Big Nerd Ranch и у нас она снова переводится, как “Android. Программирование для профессионалов”, хотя книга точно не для профессионалов :) Странный маркетинг от Питера, мягко говоря. И раз уж говорить о маркетинге, то заметил на сайте издательства, что в описании книги указан год издания, как 2026-й. При том, что у меня вторая редакция вышла в 2023 году. Это уже не первый раз… Так же обратил внимание на то, что язык был разработан у нас, а книгу пишут буржуи, в отличии от книжки “Kotlin в действии”, которую написали люди, которые приложили руку к языку.

Если закрыть на это глаза, то книга понравилась. И первое что бросилось в глаза - это влияние Scala, при этом не могу сказать что это плохо. В общем-то, в моих глазах Kotlin выглядит как что-то среднее между Scala и Java и уже этого достаточно для того, что бы обратить на него внимание. Понравилась поддержка анонимных функций, что автоматически упрощает написание кода для всяких там корутин и прочей асинхронщины. Не знаю, как насчет безопасных типов, отладки и проблем с синхронизацией, это в книге не рассматривается, но при первом знакомстве всё выглядит как минимум интересно. Даже существуют такие приемы оптимизации, как встраивания и защиты от изменяемости вроде scope functions, таких как let:

weapon?.let { println(it.name) }

Очень много “синтаксического сахара”, вроде упрощенных конструкций внутри функций с использованием when или ranges, которых нет в Java из коробки, но они легко имитируются. Автоматическое определение типа мне вообще не нравится, так как именно по тому что я могу легко понять к какому типу относится переменная и понравился Java. Но, в целом, становится понятно что на Kotlin можно писать проще и красивее. И даже нашел аналог LibGDX, KorGE, который обязательно попробую в ближайшее время :) А раз уж вспомнил о LibGDX, то стоит сказать, что он решает часть задач в части написания игр, которые иначе пришлось бы решать посредством Kotlin Multiplatform. Но, этот самый Kotlin Multiplatform как альтернативный подход к написанию мультиплатформенных приложений - попробовать можно. Тем более, что недавно в том же Питере вышла книга, которая именно так и называется.

Еще вспомнил небольшой минус - в книге часто встречаются приемы работы с конкретной IDE IntellJ IDEA, которые с одной стороны облегчают работу, а с другой - не имеют прямого отношения к программированию как таковому в общем и языку в частности. Мне такое не оч, я за здоровую конкуренцию :)

Что касается качества издания, то тут нет дурацких вставок, каких-то картинок и прочей ерунды, которая отвлекает, в общем - оно более строгое и это хорошо. Перевод понравился, сверстана книга хорошо, мягкая обложка, белая бумага… немного подвел сам переплет, начал ломаться, но если учесть сколько приключений выпало на долю моего экземпляра, можно сказать что он справился. В общем, хорошее качество. Доволен ли я тем, что книга у меня библиотеке? Да, однозначно.


Автор(ы):

  • Andrew Bailey
  • David Greenhalgh
  • Josh Skeen

Год издания: 2023
Количество страниц: 560
Оценка: 5/5

Издатель: Питер
Ссылка на страницу книги на сайте издательства: https://www.piter.com/collection/A34620/product/kotlin-programmirovanie-dlya-professionalov-2-e-izd

Оригинальное название: Kotlin Programming: The Big Nerd Ranch Guide, 2nd Edition
Год издания оригинала: 2021