Идти или не идти

В этой статье я отвечу на вопрос: идти или не идти с Go в 2023 году? (извините за каламбур). Если вы предпочитаете смотреть видео на YouTube, вы можете найти его здесь. Теперь без лишних слов, давайте узнаем!

Немного истории

Для тех из вас, кто не знает, что такое Go или Golang. Здесь немного истории. Еще в 2007 году Go был впервые разработан тремя сотрудниками Google. Как написал в статье Роб Пайк, один из трёх авторов Го:

«Цели проекта Go заключались в том, чтобы устранить медлительность и неуклюжесть разработки программного обеспечения в Google и тем самым сделать процесс более продуктивным и масштабируемым».

Работая с огромной серверной кодовой базой, в основном написанной на C++, Java и Python, три инженера хотели создать новый язык, который поможет решить проблемы, с которыми они столкнулись при работе с кодом в Google, сохраняя при этом его эффективность. Роб Пайк сказал: «Короче говоря, разработка в Google большая, может быть медленной и часто неуклюжей. Но это эффективно».

Поэтому они хотели взять скорость C++, строгий синтаксис C и соединить это с простотой Python и полезными функциями Java. И вот что получилось, так это новый язык под названием Go. Сочетание всего этого делает Go одним из самых мощных и эффективных языков для крупномасштабных кодовых баз, а также простым и легким в обслуживании. Позже в 2009 году исходный код Go стал открытым, и в марте 2012 года была выпущена его первая основная версия 1.0.

Плюсы Го

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

В этой статье я не буду вдаваться во все плюсы и минусы Go (вам еще есть чем заняться на сегодня, верно?). Вместо этого я буду краток и сосредоточусь на трех основных преимуществах и недостатках. Если вы хотите увидеть полный список, вы можете посмотреть мое видео на YouTube.

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

Связка инструментов
В Go есть фантастическая связка инструментов. Запуск, сборка, форматирование, профилирование, установка, тестирование… все эти и многие другие команды являются частью целостной цепочки инструментов Go. Таким образом, нет необходимости во внешних инструментах.

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

Минусы Го

Но это еще не все радуги и единороги в стране Го. У Go есть и свои недостатки. Например:

Многословие
Несмотря на свою простоту, Go иногда может быть слишком многословным и слишком явным. Функции, занимающие несколько сотен строк кода, не являются исключением. И не заводи меня на миллион if err != nil чеков. Написание всего этого кода может занять много времени и стать недостатком для команд, спешащих в сжатые сроки.

Нет строгих рекомендаций по написанию кода
Несмотря на некоторые рекомендации и общепринятые правила, Go не говорит вам строго, как нужно кодировать. Это отсутствие четкой и строгой структуры оставляет место для недисциплинированного кодирования и несоответствий. Что может стать проблемой в более крупных проектах.

Все еще кажется молодым
Несмотря на то, что Go уже более 10 лет, он по-прежнему выглядит молодым языком программирования. Иногда даже крупным компаниям или проектам не хватает Go SDK или клиентов для своих продуктов. Поэтому, если вы хотите их использовать, вам нужно либо полагаться на проекты с открытым исходным кодом, либо писать их самостоятельно.

Это плюсы и минусы языка программирования Go. Но для чего в основном используется Go?

Основные варианты использования Go

Согласно последнему Опросу разработчиков Go, проведенному в 2021 году, Go используется в самых разных областях. Такие как технологии, финансовые услуги, а также медиа / игры, чтобы назвать тройку лидеров. Из тех людей, которые пишут код Go, почти 50% пишут бэкэнд-API или RPC-сервисы. Оставляя остальных далеко позади с обработкой данных, веб-сервисами и инструментами CLI примерно по 10% на каждого. Поэтому, если вы работаете в одной из этих областей, знание Go может быть огромным преимуществом.

Вакансии для разработчиков Go

Теперь давайте посмотрим на работу для разработчиков Go. Домашняя страница Go дает нам список многих крупных технологических компаний, которые используют Go. Среди них Google (очевидно), а также PayPal, Meta, Netflix, Uber и многие другие. Go должен что-то делать правильно, если крупные технологические компании так сильно полагаются на него.

По данным Hired, Go — это самый востребованный навык, который компании ищут в инженерах-программистах. Кстати, второй год подряд. Так что потребность в Go-разработчиках определенно есть. Но как же зарплаты?

Заработная плата разработчиков Go

Если вы посмотрите на ежегодный опрос переполнения стека за 2022 год, вы увидите, что Go входит в десятку самых высокооплачиваемых языков программирования. При средней сумме почти 90 тысяч долларов США разработчику Go платят больше, чем более популярным языкам, таким как Python (71 тысяч долларов), C++ (68 тысяч долларов) или Javascript (66 тысяч долларов).

Если вы посмотрите на те же таблицы из опросов годов 2021 и 2020, то увидите, что зарплаты разработчиков Go за последние несколько лет выросли. С 74 тысяч долларов США в 2020 году до 76 тысяч долларов США в 2021 году и почти до 90 тысяч долларов США в 2022 году средняя заработная плата значительно выросла. Что также очень положительно для языка Go.

Заключение

Итак, отвечая на вопрос: стоит ли изучать Go в 2023 году? Если вы ищете новый язык программирования или новый язык, чтобы повысить свои шансы на рынке труда, на мой взгляд, Go — фантастический выбор!