📕 ТОП-10 книг по языку программирования 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://github.com/zhashkevych/go-basics/blob/master/%D0%AF%D0%B7%D1%8B%D0%BA%20Go%20%D0%94%D0%BB%D1%8F%20%D0%9D%D0%B0%D1%87%D0%B8%D0%BD%D0%B0%D1%8E%D1%89%D0%B8%D1%85%20%D0%9C.%20%D0%96%D0%B0%D1%88%D0%BA%D0%B5%D0%B2%D0%B8%D1%87.pdf" 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;
  • отсутствие перевода.

***

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

proglib.io

Добавить комментарий

Ваш e-mail не будет опубликован.

пять + десять =