Участвуй в конкурсе сайтов
Получи профессиональную оценку сайта и
награду за дизайн, контент или технологичность

Go или не Go? Краткий обзор и интервью со специалистом

Обсудить
Обзор GO

Сегодня мы с вами поговорим о языке программирования Golang (или Go), который был разработан внутри компании Google, и пообщаемся со специалистом Максимом — программистом в хостинговой компании, который работает с языком Go.

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

Почему именно Golang? Мнение специалиста

Стоит принять во внимание, что мнение специалиста — это одна из точек зрения, взгляд изнутри. Поэтому буду рада увидеть вашу точку зрения в комментариях :)

– Расскажите, как давно вы программируете на языке Go?

Уже больше трех лет. Мое знакомство с языком Go началось еще в предыдущей компании.
 

— Почему вы выбрали для изучения именно этот язык?

Go — это строго типизированный, компилируемый и объектно-ориентированный (хотя многие не согласны с этим) язык. Соответственно, это приводит к большей строгости и «стройности» языка, а также упрощает восприятие чужого кода. Строгая типизация, в свою очередь, влечет за собой повышение производительности языка.
 

— Для каких проектов и задач он подходит лучше всего?

Go — язык общего назначения, поэтому на нем можно писать все, что угодно. Его часто используют для высоконагруженного ПО, исследования данных или задач, связанных с системным программированием. Иногда его позиционируют еще и как язык для микросервисов.
 

— Что вы считаете его преимуществами, а какие можете выделить недостатки?

Преимущества:

  1. Строгая типизация.
  2. Простота синтаксиса, низкий уровень вхождения.
  3. Многопоточность из «коробки», на уровне самого языка.
  4. Кроссплатформенность.
  5. Высокая производительность.

Недостатки:

Синтаксис где-то излишне упрощен. Не хватает современных ООП-конструкций, как в более «взрослых» языках типа Java и C#. Поэтому во второй версии языка, возможно, введут дженерики.
 

— Насколько этот язык прост для изучения новичку?

Очень прост. Относительно других языков у Go совсем низкий уровень вхождения. Опытному программисту хватит двух дней, чтобы начать писать вполне адекватный код. Но все же речь идет о программировании — поэтому понятие «простота» здесь относительное.

По сравнению с другими языками (Java, PHP, Python, C\C++) у Go самая короткая официальная документация.
 

— Стоит ли изучать этот язык?

Безусловно. Его можно применять в огромном количестве прикладных областей. Очень сильная поддержка комьюнити, да и тот факт, что его разработали в Google и там же развивают, намекает на то, что язык не забросят.

На нем написан Docker, Kubernetes. Из-за чего знание этого языка будет очень полезно DevOps-специалистам.

 

— Какие обновления за последние полгода можно отметить?

Для меня самым важным обновлением было введение модульности и стандартного менеджера зависимостей (правда, это начали вводить уже с версии 1.11, то есть больше года назад). Возможно, из приятного — это обертки над ошибками в версии 1.13. Обработка ошибок в Go — вообще отдельная «песня».
 

 — Как вы оцениваете перспективы этого языка?

Ожидается вторая версия языка. Скорее всего, он будет усложняться. И останется надолго.
 

— Статистика показывает, что язык Go очень популярен в технологических компаниях. Как вы считаете, почему?

Ну, немаловажно то, что его продвигает Google. При низком уровне вхождения на нем можно писать серьезно нагруженные приложения за более короткий срок. Или делать mvp-прототипы.

Раньше для этого популярно было использовать скриптовые языки. Но у них весьма низкая производительность. Тем более, к скриптовым языкам у «профессионалов» весьма негативное отношение.
 

— Почему происходит так, что разработчики считают язык Go простым, а работодатели готовы платить за него высокую зарплату и нанимать много программистов сразу?

Думаю, это связано с диапазоном решаемых задач. То есть вам не надо нанимать множество разноплановых программистов.

Не так давно то же самое было с Node.js. Однако на самом деле его простота обманчива. Его чаще всего выбирают, когда есть необходимость в параллельных вычислениях, а это требует определенных знаний, не связанных с языком, и уровня профессионализма.

Поэтому, чем больше у вас Go-кода, тем больше вам требуется высококвалифицированных программистов. Собственно, это также и причина роста зарплат.

И опять же — скорость разработки и объем кода. Многие переходят на него с Java, просто потому, что он быстрее.

Интересные факты о Go

Что есть интересного о Golang?

Go Developer в апреле 2020 года опубликовало исследование, которое показывает некоторые необычные данные за 2019 год о разработанном в Google языке. 

В каких отраслях популярен Go?

Компании, в которых программируют на языке Go, работают в следующих индустриях:

  • веб-разработка;
  • базы данных;
  • сетевое программирование.

Также он достаточно популярен в отрасли финансов и медиа. Но в основном преобладает все-таки техническая составляющая. 43% участников голосования сообщили, что работают в технологическом секторе (сюда входит и разработка ПО, и интернет, и веб-сервисы), 12% — в сфере финансовых услуг, 9% — в медиа или играх и 7% — в ретейле/FMCG.

Другие интересные факты:

  • 24% компаний, программирующих на языке Go, насчитывают 100-999 сотрудников.
  • 72% опрашиваемых разработчиков программируют на Go на работе, 62% — в свободное время.
  • 41% используют редактор VS Code при работе с Go.

Почему некоторые используют Go, а некоторые нет?

  • 86% сказали, что Go хорошо подходит для их команд.
  • 89% заверили, что они предпочли бы использовать Go в своем следующем проекте.
  • 59% считают, что Go — важный фактор успеха для их компании.
  • 56% работают на другом языке.
  • 37% работают в команде, которая предпочитает другой язык.
  • 25% отметили отсутствие в Go тех или иных критически важных возможностей (например, отсутствие механизма обобщенных функций).

В опросе участвовало 10 975 программистов.

Как и с чего начать изучать Go?

Самый известный туториал по языку Go — Tour of Go. Он разработан самими создателями языка и размещен на официальном сайте.

Там вы сможете ознакомиться и с другими полезными материалами. А потом — отправиться хоть в свободное плавание: существует множество литературы, интернет-порталов, сообществ и прочих вспомогательных ресурсов для изучения языка.

Но не забывайте: нет лучшего учебника, чем практики.

Комментарии

С помощью соцсетей
У меня нет аккаунта Зарегистрироваться
Нажимая кнопку «Зарегистрироваться», я даю согласие на обработку своих персональных данных, указанных в форме регистрации.
С помощью соцсетей
У меня уже есть аккаунт Войти
Нажимая кнопку «Зарегистрироваться», я даю согласие на обработку своих персональных данных, указанных в форме регистрации.
Инструкции по восстановлению пароля высланы на Ваш адрес электронной почты.
Пожалуйста, укажите email вашего аккаунта
Ваш баланс 10 ТК
1 ТК = 1 ₽
О том, как заработать и потратить Таймкарму, читайте в этой статье
Чтобы потратить Таймкарму, зарегистрируйтесь на нашем сайте