С чего программисту, не имеющему статического / скомпилированного языка, начать изучать Go?
Я опытный разработчик программного обеспечения, но я работал только на динамических языках (в первую очередь Python, PHP в прошлом, JavaScript и немного Ruby). Прошлой ночью я обнаружил, что читаю тур в туре на веб-сайте Go, когда я понял, что язык (синтаксис, библиотеки и т. Д.), Вероятно, будет довольно легко выучить, но мое отсутствие знаний о статических / скомпилированных языках помешало бы мне от простого входа. Дело не в том, что я не понимаю основные понятия статического языка, а именно, что аргументы функции / переменные / возвращаемые типы являются статическими и что перед использованием программу необходимо скомпилировать. Более того, я не знаю, с чего начать после написания программы. Например, если бы я написал веб-приложение с использованием инфраструктуры Revel, оно бы обработало эти шаги для меня (согласно веб-сайту). Это довольно типично для фреймворков для статических языков. Меня слишком волнует небольшая часть процесса, которую быстро освоить, или формальности использования статического языка (как я их называю) довольно громоздки?
3 ответа
Как и предполагалось, любой учебник по Go будет работать, и вы, вероятно, слишком беспокоитесь о динамическом -> статическом переключателе. Языки со статической типизацией иногда могут быть немного громоздкими, если вы пришли из мира динамической типизации, но вы быстро привыкнете к тому, что ваш компилятор кричит на вас, когда типы не верны, и быстро это исправляете. В конце концов, вы начнете угадывать и писать (в основном) правильный код.
Роб Пайк заметил, что люди, приезжающие в Go, приходят, в основном, из динамических языков, а это значит, что переключение не так уж сложно.
В Интернете существует множество учебных пособий под названием "Go for ", таких как "Go for Rubyists", "Go for Pythonistas", которые могут помочь вам сопоставить имеющиеся у вас знания с концепциями Go. Но, как подчеркивали другие, лучший (только?) Способ правильного обучения - это взять учебник и погрузиться в него! Для книг стандартное Effective Go или очень хорошее программирование на Go очень хорошо читаются, независимо от вашего происхождения.
Что ж, очевидно, практика совершенствует, а чтение обширной документации. Я также нахожу эту книгу действительно хорошей книгой о Го-Ланге, в конце главы есть несколько упражнений, что приятно.
Просто получите базовый учебник для желаемого языка и следуйте ему. Вскоре вы поймете, как структурировать программу. Затем вы можете применить свои текущие знания в области программирования, чтобы заставить его делать то, что вы хотите.