С чего программисту без статического/компилируемого языка начинать изучение Go?

Я опытный разработчик программного обеспечения, но я работал только с динамическими языками (в основном Python, PHP в прошлом, JavaScript и немного Ruby). Прошлой ночью я поймал себя на том, что читал обзор тура по веб-сайту Go, когда понял, что язык (синтаксис, библиотеки и т. д.), вероятно, было бы довольно легко выучить, но мое отсутствие знаний о статических/компилируемых языках помешало бы мне легко войти. Дело не в том, что я не понимаю основных концепций статического языка, а именно в том, что типы аргументов/переменных/возвращаемых функций являются статическими и что программа должна быть скомпилирована перед использованием. Дело в том, что я не знаю, с чего начать после написания программы. Например, если бы я написал веб-приложение с использованием фреймворка Revel, оно выполнило бы эти шаги за меня ( судя по сайту). Это довольно типично для фреймворков для статических языков. Не слишком ли я беспокоюсь о небольшой части процесса, который можно быстро освоить, или (как я их называю) формальности использования статического языка довольно обременительны?


person orokusaki    schedule 29.10.2013    source источник
comment
Я думаю, ты слишком много беспокоишься. Если вы понимаете веб-архитектуру с точки зрения PHP, вы можете научиться использовать другие фреймворки, поддерживаемые скомпилированными языками. Настоящая кривая обучения будет на уровне IDE в зависимости от того, в чем вы решите развиваться. Удачи!   -  person David Fleeman    schedule 29.10.2013
comment
@orokusaki, ты прошел весь тур Go? Вы написали простую программу hello, world? Приходите на #revel на freenode IRC, и мы сможем больше поговорить о том, как вы можете приступить к работе.   -  person Brenden    schedule 06.03.2014
comment
@Бренден, спасибо. Я кратко ознакомился с учебными пособиями Go и Revel. В этом месяце у меня нет времени, чтобы по-настоящему начать, но я планирую сделать это в ближайшее время.   -  person orokusaki    schedule 06.03.2014


Ответы (3)


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

Роб Пайк заметил, что люди идут туда, происходит в основном из динамических языков, а это означает, что это не так уж сложно сделать.

В Интернете есть множество учебных пособий под названием «Попробуй», таких как «Попробуй для Rubyists», «Попробуй для Pythonistas», которые могут помочь вам сопоставить имеющиеся у вас знания с концепциями Go. Но, как подчеркивали другие, лучший (единственный?) способ правильно выучить го — это взять учебник и погрузиться в него! Для книг стандартный Effective Go или очень хороший Programming in Go очень хорошо читается независимо от вашего опыта. .

person val    schedule 30.10.2013

Что ж, очевидно, что практика помогает достичь совершенства, и чтение обширной документации. Я также нахожу эту книгу очень хорошей книгой по Go-lang, в конце глав есть несколько упражнений. что приятно.

person Daniel Figueroa    schedule 29.10.2013

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

person webnoob    schedule 29.10.2013