Go быстро набирает популярность в качестве языка для создания веб-сервисов. Существует множество учебников по синтаксису Go, но знать его недостаточно. Автор Джон Боднер описывает и объясняет паттерны проектирования, используемые опытными разработчиками. В книге собрана наиболее важная информация, необходимая для написания чистого и идиоматического Go-кода. Вы научитесь думать как Go-разработчик, вне зависимости от предыдущего опыта программирования.
После покупки предоставляется дополнительная возможность скачать книгу в формате epub.
Можно ли рекомендовать эту книгу в качестве первой по языку программирования Go? Да, если вы уже программировали на другом языке и вам не надо объяснять про то, зачем нужны переменные, циклы и функции.Я прочёл четверть книги «Язык программирования Go» Кернигана и Донована и перешёл дальше на эту книгу Боднера. Её читать легче, чем Кернигана-Донована, а также здесь большее покрытие современных возможностей Go (хотя некоторые незначительные части устарели и здесь).К слову – в январе 2024 должно выйти второе издание книги Боднера на английском в Oreilly.Все ли темы здесь описаны так, что прозрачно становится понятна суть описываемой темы? Нет, точно нет, кое-где хочется почитать или посмотреть дополнительный материал по теме. И это не из-за перевода, просто материал иногда написан неидеально. Перевод на русский содержит ошибки и неточности, но в целом терпимо. Впрочем, читая на русском, держал оригинал под рукой и несколько раз в него заглядывал, чтобы убедиться, что там написано так же – помогало.Тут на livelib соседний отзыв говорит, что книга Боднера это чуть расширенный пересказ Go Tour – мне так не кажется, материал здесь всё же гораздо более глубокий, подробный и действительно старающийся донести, как те или иные задачи решаются на Go идиоматически, то есть по-гошному, с учётом его возможностей.Как и всегда, для того, чтобы погрузиться в язык (любой) плотно, одной книги мало, здесь не исключение. Что почитать ещё? Конечно, доку и официальный бложик команды Go, и вероятно всё же ещё какую-то одну-две-три книги. У Донована, несмотря на нудность, по отзывам хвалят описание конкурентности. «Облачный Go» хвалят. Цукалоса хвалят.Так-то начать писать можно уже после Go Tour. После Боднера вариантов в голове появится ещё больше. Нормас, можно читать. Оценка – между 4 и 5, ну пусть будет 5, пока я добрый:) Книгу разбираем в Ботаним.
Были большие ожидания от книги, но для меня оказалась слишком заурядной. Сложно оценить, каким уровнем нужно обладать, чтобы книга зашла. Для новичков в программировании она однозначно не подходит, подразумевает хоть какой то опыт. Для разработчиков с опытом книга слишком банальная и многие вещи слишком тщательно(при этом поверхностно) разжёвываются, что невольно закатываешь глаза.Были и хорошие главы. Зашли «указатели», «ошибки», «конкурентность в go», «контекст». В основном эти главы посвящены темам, которые не упомянаются в базовых туториалах.Очень много рекламы «идиоматичности» языка Go. Противоречия этой идиоматичности автор старается не замечать и продолжает проповедовать идеальности и продуманности языка.Увидел много страннейших замечаний, по типу, что goto иногда можно использовать, это идиоматично(да, есть 2-3 примера где можно, но давать такие советы все равно опасно).Половина книги просто пересказ с большим количеством воды гайда “A Tour of Go”.Если хотите погрузится в го(при этом имея в прошлом опыт разработки), то я бы порекомендовал пройти шикарнейший «a tour of go» – это официальный интерактивный туториал. Потом из этой книги прочитать главы «указатели», «ошибки», «конкурентность в go», «контекст», «стандартная библиотека», «здесь водятся драконы». Потом посмотреть еще пару туториалов из официального сайта на свой выбор. Например, по тестированию, пакету net и по вебу. Параллельно, писать свой пет проект на го, и чем дальше продвигаетесь, тем больше рефакторите исходя из свежих знаний. Go очень дружелюбный для новичков язык, поэтому не бойтесь сразу применять и писать пет проекты.
Книга просто пушка-бомба. Есть, конечно, главы, которые написаны сложновато или не до конца раскрывают тему, но 90% материала написаны отлично. Еще версия Go в книге 1.14, то есть очень старая (на момент чтения последняя версия 1.23).У меня есть бэкграунд в разработке/программировании. И огромный плюс книги в том, что автор не разжевывает общие концепции, а делает упор на том, что уникально для Go. Например, автор показывает как настроить окружение под Go. Скучать разработчиком с опытом не придется. Подойдет ли она тем, кто вообще не знаком с языками программирования – скорее да (не уверен), чем нет, потому что как я понял эта книга самая простая, которая есть по Go. Также к плюсам отнесу то, что автор иногда раскрывает как что-то работает под капотом. И огромнейший плюс – глава про ТЕСТИРОВАНИЕ. Глава про конкурентность не очень хорошая, не все понятно с первого раза да примеры скудные. Что-то понял, но не до конца. Может это связано со сложностью темы именно для меня.Теперь к минусам. Глава про контекст – ужасная. Примеры, ну просто жесть. Вместо того, чтобы понять, что такое контекст, ты пытаешься разобраться в коде автора (об этом дальше). Я ее даже не дочитал, а пошел смотреть видос на ютубе. И я понял, что такое контекст и зачем он нужен. Глава про стандартные библиотеки мне тоже не понравилась по той же причине – ужасные примеры. Опять же пошел читать статьи и смотреть видосы. Глава про модули 50/50. Вот почему автор не удосужился написать о том, как импортировать локальные пакеты? У него примеры только с пакетами из удаленных репозиториев. Представили человека, который прочитав эту книгу, будет каждый вспомогательный одномоментный пакет выкладывать на гитхаб? Может это я дурак и что-то упустил. И последний минус – код автора. Чуть ли не в каждой главе он пишет про чистоту кода, про то, какой Go классный, идиоматичный и все такое. Видел бы этот код Роберт Мартин, то у него бы глаза выплали. «a, b, xt, c и прочие твари» – вот так можно охарактеризовать код из книги. И вот представьте, что вы читаете главу про контекст и к этому еще должны выполнять роль расшифровщика переменных. Самый прикол в том, что эта цитата принадлежит автору – «Более короткий код далеко не всегда является более понятным и легким в сопровождении»Несмотря на минусы я бы все равно прочитал ее еще раз. По ощущениям она базовая. То есть must have для тех, кто хочет начать писать на Go.