Нон-фикшн (хочу прочитать)
Anastasia246
- 5 193 книги

Ваша оценкаЖанры
Ваша оценка
Можно ли рекомендовать эту книгу в качестве первой по языку программирования Go? Да, если вы уже программировали на другом языке и вам не надо объяснять про то, зачем нужны переменные, циклы и функции.
Я прочёл четверть книги «Язык программирования Go» Кернигана и Донована и перешёл дальше на эту книгу Боднера. Её читать легче, чем Кернигана-Донована, а также здесь большее покрытие современных возможностей Go (хотя некоторые незначительные части устарели и здесь).
К слову — в январе 2024 должно выйти второе издание книги Боднера на английском в Oreilly.
Все ли темы здесь описаны так, что прозрачно становится понятна суть описываемой темы? Нет, точно нет, кое-где хочется почитать или посмотреть дополнительный материал по теме. И это не из-за перевода, просто материал иногда написан неидеально. Перевод на русский содержит ошибки и неточности, но в целом терпимо. Впрочем, читая на русском, держал оригинал под рукой и несколько раз в него заглядывал, чтобы убедиться, что там написано так же — помогало.
Тут на livelib соседний отзыв говорит, что книга Боднера это чуть расширенный пересказ Go Tour — мне так не кажется, материал здесь всё же гораздо более глубокий, подробный и действительно старающийся донести, как те или иные задачи решаются на Go идиоматически, то есть по-гошному, с учётом его возможностей.
Как и всегда, для того, чтобы погрузиться в язык (любой) плотно, одной книги мало, здесь не исключение. Что почитать ещё? Конечно, доку и официальный бложик команды Go, и вероятно всё же ещё какую-то одну-две-три книги. У Донована, несмотря на нудность, по отзывам хвалят описание конкурентности. «Облачный Go» хвалят. Цукалоса хвалят.
Так-то начать писать можно уже после Go Tour. После Боднера вариантов в голове появится ещё больше. Нормас, можно читать. Оценка — между 4 и 5, ну пусть будет 5, пока я добрый:) Книгу разбираем в Ботаним.

Книга просто пушка-бомба. Есть, конечно, главы, которые написаны сложновато или не до конца раскрывают тему, но 90% материала написаны отлично. Еще версия Go в книге 1.14, то есть очень старая (на момент чтения последняя версия 1.23).
У меня есть бэкграунд в разработке/программировании. И огромный плюс книги в том, что автор не разжевывает общие концепции, а делает упор на том, что уникально для Go. Например, автор показывает как настроить окружение под Go. Скучать разработчиком с опытом не придется. Подойдет ли она тем, кто вообще не знаком с языками программирования - скорее да (не уверен), чем нет, потому что как я понял эта книга самая простая, которая есть по Go. Также к плюсам отнесу то, что автор иногда раскрывает как что-то работает под капотом. И огромнейший плюс - глава про ТЕСТИРОВАНИЕ. Глава про конкурентность не очень хорошая, не все понятно с первого раза да примеры скудные. Что-то понял, но не до конца. Может это связано со сложностью темы именно для меня.
Теперь к минусам. Глава про контекст - ужасная. Примеры, ну просто жесть. Вместо того, чтобы понять, что такое контекст, ты пытаешься разобраться в коде автора (об этом дальше). Я ее даже не дочитал, а пошел смотреть видос на ютубе. И я понял, что такое контекст и зачем он нужен. Глава про стандартные библиотеки мне тоже не понравилась по той же причине - ужасные примеры. Опять же пошел читать статьи и смотреть видосы. Глава про модули 50/50. Вот почему автор не удосужился написать о том, как импортировать локальные пакеты? У него примеры только с пакетами из удаленных репозиториев. Представили человека, который прочитав эту книгу, будет каждый вспомогательный одномоментный пакет выкладывать на гитхаб? Может это я дурак и что-то упустил. И последний минус - код автора. Чуть ли не в каждой главе он пишет про чистоту кода, про то, какой Go классный, идиоматичный и все такое. Видел бы этот код Роберт Мартин, то у него бы глаза выплали. "a, b, xt, c и прочие твари" - вот так можно охарактеризовать код из книги. И вот представьте, что вы читаете главу про контекст и к этому еще должны выполнять роль расшифровщика переменных. Самый прикол в том, что эта цитата принадлежит автору - "Более короткий код далеко не всегда является более понятным и легким в сопровождении"
Несмотря на минусы я бы все равно прочитал ее еще раз. По ощущениям она базовая. То есть must have для тех, кто хочет начать писать на Go.


Более короткий код далеко не всегда является более понятным и легким в сопровождении



















