Стоит ли учить Golang в 2024 году?

Здравствуйте!

Меня заинтересовали этот язык программирования, в связи с чем хотелось бы задать несколько вопросов всём желающим на них ответить.

Немного о себе: основной язык С++, поверхностно знаю и время от времени использую десятку популярных языков: C#, Java, JS и так далее.

1) Как обстоят дела с развитием Go? Я читал, что это достаточно новый язык. Те обновления, что в него вносятся в настоящее время делают его лучше? Как сообщество относится к этому?

2) Почему он был придуман и какие задачи решает? Я просто могу провести параллель с С++ и Carbon, как продолжение С++. Сейчас про Carbon практически никто не знает, а в продакшене не используются вообще.

3) Интересно было бы узнать, в каких связках Вы использовали эти языки как в продакшене, так и в пет-проектах. Какие ещё инструменты входили в стек разработки?

4) Как обстоят дела с IDE? Какая на Ваш выбор является лучшей?

5) Легко ли писать и отлаживать кроссплатформенный код? На каких платформах существуют компиляторы?

6) Как обстоят дела на рынке? Мне как потенциальному джуну на этом ЯП, понятное дело, сейчас туда бессмысленно соваться, поэтому хотелось бы узнать изменение. Как было раньше, как обстоят дела сейчас и что по Вашему мнению ожидать дальше?

7) Какая ЗП в зависимости от уровня и компаний? Скорее всего, вопрос будет без ответа, но и не задать не могу. Буду благодарен хотя бы вилкам.

8) Какую литературу бы посоветовали?

9) Как относитесь к другим языкам, которые решают похожие задачи? В чем преимущества или недостатки Go перед Elixir, Java, C# и далее, например, при написании сервисов? Было бы интересно узнать и о других областях, в которых имела бы место конкуренция этих ЯП.

Всем спасибо за ответы!

0
Автор поста оценил этот комментарий

Тебе на редит, я в ит почти 3 года и ни одного раза не встретил человека, кто хотя бы знаком с Гошкой)

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

В каком стеке работаете?


Про себя могу сказать, что знаком, но сильно поверхностно, вот и интересуюсь. А так в РФ как минимум раньше точно были компании, которым нужны Гоферы. Сейчас вакансий, конечно, сильно меньше стало.

показать ответы
0
Автор поста оценил этот комментарий

Не большой спец, так что, относись к моим советам с долей скепсиса.

1. GO - вообще ни разу не новый язык. Ему уже 200 лет в обед. Zig какой-нибудь - вот реально новый язык

4. По мне, так IDE всего 2: VS и goland. Это чисто ИМХО. Раньше писал в Атоме, но его прикрыли.

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

8. Литература безальтернативна - книга Донована.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Спасибо за ответы. На позиции джуна С++ около года, полтора назад было невозможно пробиться, в некоторых компаниях 80 человек на место. Мидлам и сеньорам немного проще. А вообще ещё зависит от компаний. В локальные компании (нет удаленки, малый размер, занимаются не только IT) у меня не было особых проблем устроится, но платили там ниже рынка, с компаниями, которые нанимают со всего РФ, а то и мира - сильно сложнее.


Golang примерно 17 лет. В сравнении с С++ или вообще С он ещё молод =), но Zig, конечно, моложе.

показать ответы
0
Автор поста оценил этот комментарий

Golang примерно 17 лет. В сравнении с С++ или вообще С он ещё молод

Я бы поспорил, т.к. С++ до 11 и после - вообще разные языки, насколько мне известно

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Если так подходить к вопросу, то С++11 стал действительно свежим воздухом для программистов, однако многие вещи были реализованы в виде библиотек, что позволяло делать ± тоже самое. С++11 и дальше просто это стандартизирован: стандартную библиотеку контейнеров (могу ошибаться, может С++03), многопоточность и несколько других сахарных синтаксических изменений.


С другой стороны С++ пытается изо всех сил сохранить обратную совместимость, а значит позволяет писать в стиле Си. Именно такой такой код я время от времени встречаю у себя на работе. Немного уже режут глаза постоянные memcpy и неожиданные malloc, которые не всегда деаллацируют, хотя пишем мы на С++17 сейчас.


Комитет старается развивать С++: много новых и местами полезных вещей появилось в современных стандартах, но обратная совместимость, порой, очень мешает.


В общем, я хотел сказать, что проекты на С++ чаще всего это перемешка старого кода С новым (если повезёт). Возможно, только в новых проектах с обязательным код ревью и код стайлом нет легаси, а так оно повсюду. :)

1
Автор поста оценил этот комментарий

1) Все замемечательно, язык развивается
4) Goland
8) Начать можно с A Tour Of Go, еще у Михалиса неплохая книжка была, она называется "Golang для профи", но там только база без погружения. Для начала самое оно

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

1) Шаблоны и compile-time вычисления добавили? Ими пользуются в продакшене?

показать ответы
0
Автор поста оценил этот комментарий

Я пока не пользовался. А какие шаблоны имеются ввиду?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

В разных языках они по разному называются: шаблоны, generic, template.


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


int sum (int x, int y) {return x+y;} - обычная функция только для int.


template <class T> T sum (T x, T y) {return x+y;} - если пользователь захочет, то может складывать значения любых типов, где определен оператор сложения.

показать ответы
0
Автор поста оценил этот комментарий
Компании часто используют Go, в связке с другими языками, например PHP, при таком сценарии микросервисами на Go закрывают "узкие" места. А так как с вакансиями джунов на Go довольно туго, возможно имеет смысл пойти по этому пути. Сам развивался этим путем, устроился джуном PHP, спустя год перешел в компанию где пишут и на PHP и на Go. Только остерегайтесь CMS, ищите вакансию со стеком на Symfony или Laravel.
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Я про PHP стек практически ничего не знаю. Почему стоит остерегаться CMS?

показать ответы
0
Автор поста оценил этот комментарий
Потому, что это дорога в один конец. Программисты на CMS это отдельная "каста" в PHP, такой опыт это не научит вас архитектуре, паттернам проектирования, чистому коду и. т.п. Скорее даже наоборот на PHP программистов с опытом на CMS, в "большом программировании" смотрят с опаской, так как таких спецы уже привыкли к определённому не самому хорошему стилю кода, это будет как клеймо в резюме. Из плюсов быстрый вкат, и даже возможна неплохая зп (в случае Битрикса). Во всем остальном сплошные минусы.
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Спасибо за ответ. =)