Artyom Kaygermazov 27 сентября 2020

? ТОП-10 книг по языку программирования Go: от новичка до профессионала

Книги по языку Go с лучшими оценками читателей. Расставлены в порядке возрастания сложности, обобщены указанные читателями преимущества и недостатки.
5
3880

Книги по языку Go для начального уровня

Джей Макгаврен. Head First. Изучаем Go

<a href="https://www.ozon.ru/product/kniga-head-first-izuchaem-go-172385105/?stat=YW5fMQ%3D%3D" target="_blank" rel="noopener noreferrer nofollow">Джей Макгаврен. Head First. Изучаем Go</a>
Джей Макгаврен. Head First. Изучаем Go

В книге Джея Макгаврена подробно и последовательно изложены базовые сведения, необходимые для освоения нового языка. Читатели познакомятся с типами данных, функциями, переменными и массивами, а также освоят более сложные аспекты программирования на Go, вплоть до работы с сетевыми коммуникациями и многопроцессорной обработкой.

Отмеченные читателями достоинства:

  • доступный, лёгкий для восприятия язык;
  • обилие наглядных примеров;
  • выдержанный баланс между теоретическим базисом и практической составляющей.

Недостатки:

  • не очень высокое качество перевода, рекомендуется читать книгу в оригинале;
  • книга предназначена исключительно для новичков, переходящих с другого языка на Go;
  • может показаться затянутой и чрезмерно подробной.

Максим Жашкевич. Язык Go для начинающих

<a href="https://zhashkevych.com/" target="_blank" rel="noopener noreferrer nofollow">Максим Жашкевич. Язык Go для начинающих</a>
Максим Жашкевич. Язык Go для начинающих

На протяжении 12 глав автор знакомит читателя с миром языка программирования Go, затрагивая широкий круг тем: типы переменных, функции, массивы, интерфейсы, ООП, горутины и каналы. Также даны наставления для самообразования.

Достоинства:

  • находится в открытом доступе;
  • лаконичная и простая подача материалов:
  • интуитивно понятный язык;
  • наглядные примеры;
  • обилие затронутых тем – от примитивов вначале до собственного REST API в завершении.

Недостатки:

  • порой слишком минималистичный стиль изложения материала, новичку может показаться, что ряд важных нюансов автором опущен.

Caleb Doxsey. Introducing Go: Build Reliable, Scalable Programs

<a href="https://www.amazon.com/Introducing-Go-Reliable-Scalable-Programs/dp/1491941952" target="_blank" rel="noopener noreferrer nofollow">Introducing Go: Build Reliable, Scalable Programs</a>
Introducing Go: Build Reliable, Scalable Programs

Ещё одна работа уважаемого в среде программистов издательства O’REILLY, на этот раз о языке Go.

Достоинства:

  • небольшой объём и доступное изложение позволит быстро освоить материал книги;
  • пошаговые инструкции, сопровождаемые примерами и интересными заданиями;
  • последовательное изложение: каждая новая глава книги концептуально и логически связана с предыдущей.

Недостатки:

  • отсутствие перевода;
  • книга позволит освоить азы, но не рассчитана на более глубокое изучение.

Книги для среднего уровня

Мэтт Батчер, Мэтт Фарина. Go на практике

<a href="https://www.ozon.ru/context/detail/id/139412056/?stat=Yl8x" target="_blank" rel="noopener noreferrer nofollow">Мэтт Батчер, Мэтт Фарина. Go на практике</a>
Мэтт Батчер, Мэтт Фарина. Go на практике

Книга предназначена для людей, уже освоивших программирование, например, на Java или C#. Это практическое руководство опирается на основополагающие концепции Go и знакомит читателя с примерами его использования в облаке. Изучается тестирование и отладка, а также создание веб-сервисов и других приложений.

Достоинства:

  • доступный язык;
  • множество примеров использования кода.

Недостатки:

  • некачественная бумага;
  • материал порой подан недостаточно развёрнуто;
  • плохой перевод и адаптация терминов (лучше читать в оригинале).

Марк Саммерфильд. Программирование на языке Go

<a href="https://www.ozon.ru/context/detail/id/33524651/?stat=YW5fMQ%3D%3D" target="_blank" rel="noopener noreferrer nofollow">Марк Саммерфильд. Программирование на Go. Разработка приложений XXI века</a>
Марк Саммерфильд. Программирование на Go. Разработка приложений XXI века

Книга в сообществе @progbook

Универсальное пособие для изучения языка Go затрагивает сложные темы, включая написание высокопроизводительных программ. Автор разъясняет все аспекты параллельного программирования на Go, а также показывает гибкость и необычность подхода к ООП с применением механизма динамической типизации.

Достоинства:

  • структура книги организована таким образом, что уже после первой главы можно создавать сложные приложения;
  • полное и объёмное описание синтаксиса Go;
  • интересные и нетривиальные задания;
  • хороший перевод.

Недостатки:

  • книга излишне формализована, стиль изложения слишком сух;
  • быстро освоить материал не получится.

Алан Донован, Брайан Керниган. Язык программирования Go

<a href="https://www.ozon.ru/context/detail/id/148161581/?stat=Yl8x" target="_blank" rel="noopener noreferrer nofollow">Язык программирования Go | Донован Алан А. А., Керниган Брайан У.</a>
Язык программирования Go | Донован Алан А. А., Керниган Брайан У.

Книга в сообществе @progbook

Книга позволит читателям поближе познакомиться с языком Go, узнать о его преимуществах и недостатках, а также научиться создавать программы, решающие реальные практические задачи.

Достоинства:

  • фундаментальная работа, классика жанра;
  • увлекательная подача материала;
  • превосходное оформление и качество бумаги;
  • множество релевантных примеров;
  • отличные упражнения для закрепления полученных знаний.

Недостатки:

  • мягкая обложка;
  • местами хромает перевод, неверная адаптация идиом и терминов.

William Kennedy, Brian Ketelsen, Erik St. Martin. Go in Action

<a href="https://www.amazon.com/Go-Action-William-Kennedy/dp/1617291781/ref=sr_1_1?crid=2GK2VF08SEFM7&amp;dchild=1&amp;keywords=go+in+action&amp;qid=1599387238&amp;s=books&amp;sprefix=go+in+action%2Cstripbooks-intl-ship%2C285&amp;sr=1-1" target="_blank" rel="noopener noreferrer nofollow">Go in Action</a>
Go in Action

С помощью этой книги можно пройти путь от владеющего только азами Go новичка до матёрого программиста, cпособного создавать сложные многопоточные приложения.

Достоинства:

  • упор на практику, отсутствие отвлечённых тем;
  • последовательная структура: книга плавно ведёт читателя от простого к сложному;
  • множество увлекательных заданий.

Недостатки:

  • книга доступна лишь на английском языке;
  • порой материал подаётся чрезмерно сжато.

Vladimir Vivien. Learning to Go

<a href="https://www.amazon.com/Learning-Go-programming-Vladimir-Vivien/dp/1784395439" target="_blank" rel="noopener noreferrer nofollow">Learning Go Programming</a>
Learning Go Programming

Пошаговое руководство поможет читателю быстро начать работу с Go от самых основ до идиом параллелизма и сетевого программирования.

Достоинства:

  • лаконичный стиль: всё чётко, сжато и по делу.
  • объем охваченных тем: от типов данных до многопоточного программирования;
  • знакомство с важными функциями Go;
  • упор на практическое применение языка.

Недостатки:

  • отсутствие перевода;
  • множество нюансов оставлено для самостоятельного изучения.

Для продвинутого уровня

Михалис Цукалос. Golang для профи

<a href="https://www.ozon.ru/product/golang-dlya-profi-rabota-s-setyu-mnogopotochnost-struktury-dannyh-i-mashinnoe-obuchenie-s-go-182135607/" target="_blank" rel="noopener noreferrer nofollow">Golang для профи: работа с сетью, многопоточность, структуры данных и машинное обучение с Go</a>
Golang для профи: работа с сетью, многопоточность, структуры данных и машинное обучение с Go

Книга позволит вам быстро изучить многие аспекты Go: типы данных языка, работу с пакетами, конкурентность, сетевое программирование и т. д.

Достоинства:

  • примеры эффективных паттернов программирования;
  • широкий охват различных тем;
  • уникальные материалы: машинное обучение на языке Go, нейронные сети, совместимость Go c Git, JSON и т.д.
  • книга новая (издана в 2020 г.), актуальный материал.

Недостатки:

  • высокая стоимость.

Nathan Cozyra. Mastering Concurrency in Go

<a href="https://www.amazon.com/Mastering-Concurrency-Go-Nathan-Kozyra-ebook/dp/B00M2L81NI" target="_blank" rel="noopener noreferrer nofollow">Mastering Concurrency in Go</a>
Mastering Concurrency in Go

Автор концентрируется на использовании параллелизма в Go: на его истории и отличиях от реализации в других языках, а также на особенностях структуры ядра параллелизма.

С помощью книги можно научиться создавать безопасные и высокопроизводительные приложения.

Достоинства:

  • доступная подача сложного материала, простой язык изложения;
  • приведённый в издании код легко реализуем на практике;
  • высокое качество кода примеров;
  • обучение через практические задачи.

Недостатки:

  • книга сконцентрирована на особенностях параллелизма и рекомендуется исключительно тем, кому необходимо освоить именно этот аспект программирования на Go;
  • отсутствие перевода.
***

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

РУБРИКИ В СТАТЬЕ

МЕРОПРИЯТИЯ

Комментарии 5

ВАКАНСИИ

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ

BUG