«An introduction to programming in Go», Caleb Doxsey
Недавно я отправился в славное путешествие в Пермь. Как раз перед самой поездкой я наткнулся на бесплатную книгу о Go «An introduction to programming in Go» от Caleb Doxsey.
Книга небольшая — я прочитал ее в дороге часа за 4-5. Большая часть совсем для начинающих:
системы счисления, редакторы, базовые типы. С другой стороны, в там есть
много интересного о типах, которых нет в моем любимом JS: pointers
, maps
, slices
,
о структурах, интерфейсах, тестах, синтаксисе, пакетах, которые идут с языком.
Когда я открывал книгу, я хотел научиться писать на Go утилиты,
и инструменты, которые я сейчас пишу на NodeJS. В этом книга полностью
себя оправдала. Я закрыл последнюю страницу, и решил написать на Go CLI для поиска документации
в браузере прямо из терминала с возможностью хранить в ~/.search
список сайтов
для поиска. Я писал эту штуку последние пару дней на NodeJS, и вот что
получилось на Golang. Правда, и там, и там код требует рефакторинга,
так что не судите слишком строго! :D
The Pretty Wagon to Go
После NodeJS, Go выглядит чертовски круто ( ⚆ _ ⚆ ) Теперь я понял и могу согласиться с тем, о чем писал TJ Holowaychuk в своем посте «Farewell Node.JS».
Строгая типизация, проверка типов, синтаксиса и забытых переменных во время
написания кода — это потрясающе! В JS я чувствую себя уверенно только с линтером,
написав достаточно unit-тестов. В Go я начинаю думать, что успешный билд —
это уже тест. Строгая типизация тоже выглядит потрясающе. Правда я еще не чувствую
себя уверенно с некоторыми типами, вроде pointers
, slices
или maps
. Возможно,
структуры лучше подходят для тех вещий, где я пытаюсь использовать эти типы.
Документация в Golang
Мне очень понравилась идея документации — просто пишешь комментарии над методами.
godoc
сделает остальное сам:
Gorutines
Многопоточность в Go очень приятна. Есть gorutine
s в которых запускаются
подпрограммы, есть channel
s, которые обеспечивают транспорт между gorutine
s.
По-моему, это выглядит гораздо проще, чем EventEmmiter
‘ы в NodeJS и WebWorker
‘ы.
Еще раз о книге
Книга клёвая — и определенно стоит 4 часов чтения. У меня вот получилось что-то написать на Go практически сразу, после того, как я закончил ее читать, так что это отличный способ начать. Вообще в книге, очень много совсем элементарных вещей в программировании, так что, наверное, ее могут читать даже те самые «юноши бледные со взором горячим». Но если вы уже работаете с Go, то, как мне кажется, ничего нового вы там не найдете. Книгу можно скачать в PDF бесплатно, или читать прямо на сайте, так что… А почему бы и нет? :D
фото: Martin Fisch
Подписывайтесь на РСС.
Похожие статьи:
-
Из Pocket в Instapaper
Немного о том, как я до этого докатился
-
«Просто о vim», Суэруп Си Эйч
Отзыв о небольшой, но очень полезной книге
-
«Как рушатся комплексные системы», Ричард И. Кук
О фундаментальных проблемах больших запутанных систем
-
«Эмоциональный веб-дизайн», Аарон Уолтер
Книга о человечности в дизайне продуктов
-
«Sony. Сделано в Японии», Акио Морита
Впечатления о книге
-
Заметки по книге «Getting Real», 37Signals
Продолжаю разбирать старые заметки из прочитанных книг.
-
Заметки по книге «Как пасти котов», Рейнвотер Дж.Ханк
Наставление для программистов, руководящих другими программистами