Перспективы языка го для программиста

от автора

Статья написана по мотивам одного не очень приятного разговора на последнем IT global митапе в Питере.

Мне нравится язык go. Он очень прост, его легко изучить (я проверил это на практике — его действительно можно освоить за одни выходные). Горутины, http-сервер и многое другое прямо из коробки, легкость чтения чужого кода. Евангелисты языка уверяют, что язык специально был создан для того, чтобы любой новичок мог быстро вклиниться в проект и начать фигачить код. Т.е. все сделано настолько просто, насколько это возможно.

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

На митапе прозвучало выражение “набрать мясо”, которое будет писать код. Это между прочим сказал евангелист golang, который изо всех сил уговаривал всех перейти на го.

Стоп!
Он сказал… “мясо”??

Он так и сказал, мне не послышалось!

И тут, как говорится, меня накрыло. Хочу ли я сделать go своим основным языком разработки? Т.е. стать “мясом”?

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

Ну ладно, допустим, деньги не самое главное.

Но и тут go со своей гиперпростотой возможно никогда не будет чем-то захватывающим. В чем challenge (кроме как выучить новый язык за выходные)? Где архитектура, где головоломные паттерны, о которых можно поспорить с коллегами?

Ну то есть выгода языка го для бизнеса понятна, а как насчет программиста? Какая мотивация на перспективу?

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

Но! Php с тех пор сильно усложнился, улучшился, сейчас это полноценный язык с развитой инфраструктурой и, на самом деле, уже немаленьким порогом входа. В язык напихали замыкания, генераторы, полноценное ООП, трейты, опционально строгую проверку типов и т.д. Сейчас, чтобы найти нормальную работу на php, нужно знать хотя бы один рельсоподобный фреймворк.

Но го — не php. Он задумывался простым by design, а не потому что так вышло. И на усложнение они не пойдут никогда.

Понятно, что знание языка — это лишь малая доля работы программиста. Еще надо понять бессмысленное бормотание менеджера и превратить это в логичный код. Еще надо уметь работать с базой данных, уметь взаимодействовать с коллегами в команде и еще тысячи таких вещей. Но при прочих равных, язык go, получается, наверное не так интересен, как остальные.

Если уж смотреть на модные языки на перспективу, то возможно стоит обратить внимание на rust или что-то подобное. Там без понимания концепции владения не скомпилируешь даже helloworld-оподобную программу. Вот где challenge!

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

Собственно, очень интересно знать мнение тех, кто постоянно пишет на го, поделитесь плиз, что вас мотивирует на будущее. Это тот редкий случай, когда очень хочется поменять свою точку зрения на противоположную!

ссылка на оригинал статьи https://habrahabr.ru/post/281320/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *