Для тех, кто учится программировать на Go (Golang)

4,370 views
Skip to first unread message

Alexey

unread,
Feb 4, 2014, 4:55:03 AM2/4/14
to gola...@googlegroups.com
Hello, World!

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

Очевидно, что учить язык лучше на практике. Лично я бы порекомендовал освоить небольшую брошюру Learning Go (http://miek.nl/downloads/Go/Learning-Go-latest.pdf). Она на английском, но довольно понятная. Обязательно сделать там все упражнения. 
И вторым делом от корки до корки книгу Марка Саммерфильда "Программирование на языке Go" (http://www.xn--d1amf.xn--p1ai/catalog/computer/programming/978-5-94074-854-0/). Она на русском и перевод довольно неплохой. Не поскупитесь на бумажный вариант, поддержите автора.

А что вы бы посоветовали?

Алексей

unread,
Feb 4, 2014, 5:56:54 AM2/4/14
to gola...@googlegroups.com
Я бы предложил почитать http://www.golang-book.com

вторник, 4 февраля 2014 г., 13:55:03 UTC+4 пользователь Alexey написал:

Alexey

unread,
Feb 4, 2014, 7:15:14 AM2/4/14
to gola...@googlegroups.com
Да неплохо для обзорного знакомства с языком. Мне показалось что все вещи объясняются бегло, а вот в книге Саммерфильда как раз акцентируются те вещи, которые являются важными.



вторник, 4 февраля 2014 г., 14:56:54 UTC+4 пользователь Алексей написал:

Max Riveiro

unread,
Feb 4, 2014, 9:35:35 AM2/4/14
to gola...@googlegroups.com

Igor Yurchenko

unread,
Feb 4, 2014, 11:39:40 AM2/4/14
to gola...@googlegroups.com
С книжкой Марка Соммерфильда посоветовал бы быть по-аккуратнее... Там то ли перевод сильно хромает, то ли автор в самом деле говорит странные вещи...

Думаю стартовать нужно с A  tour of Go, потом Effective Go, а дальше куда понесет... +Max Riveiro привел практически исчерпывающий список. Но лучше бы если бы понесло в исходные тесты либ и известных приложений на Go...

вторник, 4 февраля 2014 г., 20:15:14 UTC+8 пользователь Alexey написал:

Alexey

unread,
Feb 4, 2014, 1:02:05 PM2/4/14
to gola...@googlegroups.com
А можно для примера "странные вещи"? Я прочитал пока только пол книги. Суть языка автор объясняет очень доходчиво. В некоторых примерах его программ, может быть есть спорные вещи.


вторник, 4 февраля 2014 г., 20:39:40 UTC+4 пользователь Igor Yurchenko написал:
Message has been deleted

Vasiliy

unread,
Feb 5, 2014, 2:27:06 AM2/5/14
to gola...@googlegroups.com
Первое, что я всем советую - пройти http://tour.golang.org . Потом
прочитать http://golang.org/doc/effective_go.html . Ну и писать код, а
возникающие вопросы задавать сюда и в irc и в jabber :)

Igor Yurchenko

unread,
Feb 6, 2014, 3:16:09 AM2/6/14
to gola...@googlegroups.com
Меня например удивила глава "Объектно-ориентированное программирование". В Go нет объектов в общем понимании этого слова, соответственного говорить об ООП imho некорректно.
Речь может идти лишь  о том, что средствами языка Go можно решать задачи, которые обычно в других языках решают используя ООП...

Ладно бы... Но на третьей странице этой главы Марк делает утверждение, что в Go есть динамическая типизация. После этого у меня всё опустилось...

среда, 5 февраля 2014 г., 2:02:05 UTC+8 пользователь Alexey написал:

Alexey

unread,
Feb 6, 2014, 10:09:20 AM2/6/14
to gola...@googlegroups.com
Ясно. Наверное, да, иногда приходится читать между строк.

Он еще в конце приводит следующую цитату.

Расс Кокс (Russ Cox), один из основных разработчиков Go, сказал:
«Очень жаль, что каждый раз, когда кто-то спрашивает о наследовании, ему отвечают: “ну есть же встраивание”. Встраивание– полезный прием и может рассматриваться как разновидность наследования, но когда кому-то требуется именно наследование, то встраивание не может считаться заменой. Правильный ответ: “вы думаете на C++, Python, Java, Eiffel или каком-то другом языке. Перестаньте! Думайте на Go!”»

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



четверг, 6 февраля 2014 г., 12:16:09 UTC+4 пользователь Igor Yurchenko написал:

Igor Yurchenko

unread,
Feb 6, 2014, 10:59:08 AM2/6/14
to gola...@googlegroups.com
Он имел ввиду duck typing для интерфейсов. Это никокого отношения к динамической типизации не имеет...

В общем для совсем начинающего я бы не стал эту книгу рекомендовать.

Alexey

unread,
Feb 6, 2014, 11:33:01 AM2/6/14
to gola...@googlegroups.com
Совершенно верно. Все-таки переводчики косячат. В оригинале:

Without inheritance there are no virtual functions. Go’s answer to this is to support type-safe duck typing. 


четверг, 6 февраля 2014 г., 19:59:08 UTC+4 пользователь Igor Yurchenko написал:
Reply all
Reply to author
Forward
0 new messages