Голанг

Обзор книги Язык программирования Go

Обзор книги Язык программирования Go
Язык программирования Go, Алан А. А. Донован и Брайан Керниган, рассматриваются в этом посте. Брайан Керниган хорошо известен как соавтор языка программирования C, и эта книга сама по себе стала стандартным текстом для поколений инженеров. Go часто называют C 21-го века, и язык программирования Go вполне может быть стандартным справочным текстом для него.

Начало

Книга начинается с Руководство Глава, посвященная простой программе «Hello, World», а также демонстрирует некоторые преимущества использования Go. Минимализм обязательно понравится программистам, у которых он был с раздутыми библиотеками. Вы не можете объявить переменную и не использовать ее в остальной части вашей программы Go. Вы не можете импортировать библиотеку и не использовать ее в своем коде. Он просто не будет компилироваться. Не нужно спорить о формате вашего кода. Например, вековая битва между:

func main ()

//А также
func main ()

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

Первая глава подчеркивает эти аргументы и дает читателям действительно хорошее представление о том, чем на самом деле является Go: язык общего назначения, предназначенный для создания статических двоичных файлов с минимальным раздуванием.

Краткость

Опытные программисты устали изучать одни и те же концепции, такие как циклы for, операторы if-else и т. Д., Снова и снова для разных языков. Первая глава скрывает всю эту утомительную информацию, побуждая пользователей писать простые программы Unix-y (как это было в случае с языком программирования C).

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

Книга также предполагает, что читатели знакомы по крайней мере с одним языком программирования, прежде чем они прочитают эту книгу. Это может быть Python, JavaScript, Java, C или любой другой язык общего назначения.

Сопутствующий веб-сайт

Книга поставляется с сопутствующим сайтом. Вы можете напрямую импортировать программы, приведенные в книге, с этого веб-сайта и запускать их без ввода текста (или копирования вставки из приложения Kindle). Вы даже можете бесплатно проверить первую главу (которая, кстати, моя любимая) на этом сайте и решить, подходит эта книга вам или нет.

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

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

Серьезное дело

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

Эта книга предназначена для людей, которые хотят разобраться в конструкциях, в мельчайших деталях того, как работает Go. Вы будете создавать GIF-файлы, писать веб-серверы и строить графики множеств Мандельброта и многое другое, но все это не будет иметь никакого смысла, если вы не уделите внимание более тонким моментам, упомянутым в предыдущих главах (причем глава 1 является в некотором роде исключением, поскольку это подразумевается как обзор языка).

Большая часть остальной части книги посвящена различным деталям, связанным с синтаксисом Go, включая циклы управления, переменные, функции, методы, подпрограммы Go и многое другое. Все это иллюстрируется тем, что читатель знакомится с полезными программами, а не с выдуманными идеалистическими сценариями.

Даже если вы хотите пропустить большинство глав в середине книги, я настоятельно рекомендую изучить главу 5, чтобы понять, что такое паника, обработка ошибок и анонимные функции. Тем не менее, я настоятельно рекомендую пройти все главы последовательно, прежде чем мы перейдем к жемчужине в короне Go - параллелизму.

Упор на параллелизм

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

Глава о параллелизме написана для того, чтобы избавиться от страха перед параллельным проектированием. Да, это сложно, но не безнадежно. Книга отлично показывает, как го может помочь вам развить правильное мышление, исходя из этого.

Заключение

Опыт Кернигана с первых дней UNIX по-прежнему очень жизнеспособен в современную эпоху облачных рабочих столов, графических процессоров, IOT, облака и всего, что последует дальше. Он и Донован проделали огромную работу по передаче этой мудрости проектирования приложений и философии UNIX, используя простой, современный язык с учетом производительности, и я без колебаний рекомендую эту книгу любому, от старшеклассника до старшего инженера-программиста. десятилетия опыта.

10 лучших игр для Ubuntu
Платформа Windows была одной из доминирующих платформ для игр из-за огромного процента игр, которые разрабатываются сегодня с встроенной поддержкой Wi...
5 лучших аркад для Linux
В настоящее время компьютеры - это серьезные машины, используемые для игр. Если вы не можете получить новый рекорд, вы поймете, о чем я. В этом посте ...
Битва за Веснот 1.13.6 Выпущена разработка
Битва за Веснот 1.13.6, выпущенная в прошлом месяце, является шестой разработкой в ​​1.13.x и содержит ряд улучшений, в первую очередь пользовательско...