Пользователь
0,0
рейтинг
23 октября 2015 в 05:08

Разработка → С чего начать новичку в Go tutorial

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

Прежде всего, нужно ознакомиться с основами:


Дальше можно выбирать из списка ниже и смотреть/читать в процессе.

Скринкасты:



Хакатоны и челенджи:

  • Go Challenge. Learn Go by solving problems and getting feedback from Go experts!Обязательно поучаствуйте в одном из челенджей, даже если вы уже и не новичок. Это позволит вам познакомиться с чем-то новым и получить отзывы от профессионалов. Например, в последнем нужно было написать мобильное приложение для андроида. (EN)


Видео:



Статьи на русском

Про go написано достаточно много статей, ко многим есть переводы на русский



Книжки:



Ресурсы:



Редакторы:

  • Плагин для IntelijIdea — по моему мнению, самый удобный инструмент, если вы конечно не адепт других редакторов;
  • Плагин для Vim — достаточно удобный, многие используют именно его. Если конечно vim вам мил;
  • Плагин для Emacs — для тех у кого пальцы гнутся;
  • Плагин для Sublime — заброшен, но пользоваться можно. Я не советую;
  • Плагин для Atom — для тех кто понимает, зачем это нужно.


Митапы

Без живого общения никак. Встречи проводятся регулярно и несколько раз в год.


Так же проводились встречи и в других городах. Например в Новосибирске.

Сообщество разработчиков Go очень большое. Добро пожаловать.
M0sTH8 @M0sTH8
карма
32,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (49)

  • +7
    В последнее время я стал замечать очень много статей о Go.
    Интересно, к чему бы это?
  • +6
    Я думаю, что если речь идет о новичках, то им тура по Go за глаза хватит, в остальном лучший учитель — гугл. Изучение нового языка проще всего начинать с написания своего проекта. И по ходу написания уже искать требуемую информацию. Я не считаю себя новичком в Go, но при этом никаких скринкастов я не смотрел и большинство других ссылок из поста не читал тоже.
  • +11
    Заходил я как то давно в Slack чат русскоязычного gopher сообщества. Все дружно кидались какашками, писали статьи на Хабр, а потом обсуждали какой тупой хабр. Что то сейчас изменилось?
    • –1
      Ну правильно, русскоязычное Go сообщество это кучка двуличных лицемеров. Сначала все дружно кричат, что «инструмент под задачу, юскейсы ололо», а стоит кому-то сказать, что Go не годится для %thingname% — пиши пропало, у Ядра сообщества будет бомбить похлеще, чем у растофриков, которые отказываются верить в бесполезность предмета своего обожания.

      Короче говоря, интересное шапито.
  • –3
    Пока по ощущениям, скорость написания кода на Go втрое меньше чем на Parser-3, а скорость выполнения выше процентов на 20.
    Возможно, преимущества появятся на больших командных проектах.
    • +1
      Какое-то странное сравнение. Это совершенно разные вещи. Причём тут скорость написания и скорость работы?
    • +1
      Parser-3 — на этом убожестве ещё кто-то что-то делает?
    • +1
      Parser???
      Но зачем??? Это же шаблонизатор по уровню как PHP лет 10 назад.
      Это инструменты совсем для разных задач.
      • +1
        PHP лет 10 назад уже имел нормальный ООП, PDO и т. п.
        • +1
          Я парсер последний раз смотрел в 2000-м, когда искал себе серверную технологию.
          Тогда же мне он и не понравился.
          Я предположил, что за 10 лет, там тоже было какое-то развитие.
      • 0
        Это полноценный язык, правда, сфокусированный для решения веб-задач. У вас, видимо, устаревшие данные.
        Но и я должен был сделать оговорку, что сравнивалось только в контексте серверных решений.
        • 0
          Возможно, я как посмотрел на него в районе 2000-го, так и понял, что не хочу иметь дело.
          Я допускаю, что он развился с той поры. Но на мой взгляд, все тоже самое можно сделать на PHP 3-4 версий — он тоже заточен именно для веб-задач.
          • 0
            Можно, но будет медленнее и намного менее безопасно. Так разве кто ждет революцию в языках программирования?
  • +2
    Отличная статья, но мне кажется в книгах не хватает Golang Book, а в ресурсах незаслуженно забыт 4gophers.com
    • 0
      Как минимум пара ссылок есть на 4gophers, но в разные разделы.
      • 0
        Сорри, Слава, не заметил.
      • 0
        Подскажите, какой-нибудь ресурс(желательно книгу или скринкаст) где можно посмотреть подробный обзор стандартной библиотеки, уж очень она обширна.
  • +1
    В редакторах нехватает LiteIDE
  • +2
    Мне кажется, новичку в Go (мне, например) не хватает двух, максимум, трех предложений, объясняющих, почему я должен владеть Go? Какие убойные фичи он предлагает по сравнению с другими ЯП?
    • +2
      Полная кросс-платформа, низкий порог вхождения, скорость работы на порядки выше чем у скриптовых языков(обычно с них приходят писать на го), желание попробовать что то новое
      • 0
        Ну кроме скорости и компиляции всех зависимостей в один файл я пока не впечатлен.
        Кросс-платформа и низкий порог есть в Python и JS. Желание пробовать новое не должно пропадать никогда, но оно не является достоинством языка. А еще там нет исключений.

        Я не холивара ради спрашиваю, мне бы увидеть преимущества языка и причины всей шумихи вокруг него.
        • +3
          Ну если вы сами не способны увидеть преимущества, то может ну его, этот Go? Пишите на питоне и js, норм языки же
          • +3
            Ну вот, спросишь «вкусно ли», а в ответ «не хочешь не ешь»)) И так везде. Шумиха, Go! Go! а в чем прикол никто особо сказать не хочет)
            • +1
              Да нет прикола никакого) На мой взгляд, если программисту нужны комменты на хабре, чтобы понять плюсы и минусы языка, то это повод серьезно задуматься.
              Никакой шумихи, просто еще один язык программирования, ничего более
              • 0
                Есть шумиха, имхо. А каменты мне не нужны, мне интересно услышать чужое мнение (свое я и так знаю).
            • 0
              > Шумиха, Go! Go! а в чем прикол никто особо сказать не хочет)

              Ну вот я не спрашивал «в чем прикол», а просто взял и попробовал пару вечеров почитать код существующих проектов, документацию, и что-то свое нарисовать. Мне понравилось.
        • +3
          Если сравнивать с python — для того, чтобы написать что-то асинхронное, вам не потребуется искать библиотеки для нужного eventloop, выполнять monkey-patching и так далее, потому что в go есть горутины/каналы и они позволяют писать без коллбеков, как обычный код.

          Например, мне нужен был быстрый websocket-сервер, который выдержит 20-30к CCU и не скушает всю память, а еще будет общаться с чем-нибудь через redis и иметь пару http эндпоинтов. Я в такой ситуации выбрал go, он идеально подошел. И не пришлось искать либы для redis к tornado или twisted.

        • +1
          Стоит даже ради очень крутой std lib в которой покрыты 98% ежедневных потребностей программиста.
    • +2
      Гоурутины, каналы, планировщик. Относительно удобная работа с асинхронным кодом. Масштабирование по ядрам.
      Одна из основных сфер применения — написание асинхронного кода или распараллеливание тяжеловесных задач. Если в повседневной работе не приходится сталкиваться с таким родом задач, то можно проходить мимо.
  • +3
    Хорошая электронная книга Введение в программирование на Go, очень быстрое вхождение.
  • +1
    Говорят, из-за очень низкого порога вхождения в PHP очень много говнокодеров. Нет ли такой проблемы в Go? Язык то несложный.
    • +1
      Простота PHP не в синтаксисе или чем-то сбоку, а в том, что можно писать html вперемешку с кодом и все вроде какбы и норм.
    • +12
      В Go есть фильтр, называется — разберись как установить переменную окружения GOPATH. Отсеивает хорошо так.
      • +1
        Как её установить написано в туториале по установке Go. А вот как дальше жить… Тут традиционно кто в лес, кто по дрова.
    • +1
      Go по своей натуре приучает писать хороший код. То, что в PHP (или даже C/C++) даже не вызовет варнинга, в Go просто не скомпилится (например, неиспользуемый импорт). Но, безусловно, если человек говнокодер — тут уже никакой язык не поможет.
    • 0
      Пока нет, зато есть много китайцев :)
      • 0
        Это точно. Какую либу не глянь — китайци пишут )
    • +5
      Говнокодеры умирают сразу же в попытках сложить строку с числом)
  • 0
    За обзор спасибо! Много слышел о языке, и вот увидел первую ссылку и решил поробывать, за один день «Тур с заданиями по Go — это должен пройти каждый; (EN)» и практически прошел.
    У меня возник только один вопрос зачем типы переменных справа. Я как человек воспитанный на C подобных языках, этого совершенно не понимаю. Может кто-нибудь из знающих подскажет сокральный смысл этой фишки.
    • +1
      Упрощает грамматику языка, вот тут разобрано. Вообще, это именно си со своей семейкой исторически выпендрбиваются.
      • 0
        Спасибо за ссылку, если я все правильно понял это все сделано для упорщения парсинга исходного кода. Это единственная причина.
  • 0
    Плагин для Sublime — заброшен, но пользоваться можно. Я не советую;

    Частично пользовать можно, автокомплиты, автоформатирование при сохранении, быстрое добавление пакетов в импорт, встроенный линтер (лучше заменить на gometalinter) и подсветка синтаксиса.
    Сборка в нем вообще никак, пришлось писать свою, ну сборщики всегда пишу свои…

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.