В последнем релизе GAE появилась поддержка языка программирования Go. Хочу поделиться мыслями по поводу того почему стоит учить Go.

Устройство рынка разработки

Сразу хочется заткнуть рты ярым поцреотам, их мнение они могут оставить при себе до тех пор пока объем денег outsource разработки для внутреннего рынка не превысит объемы outsource рынка который создают США в этих странах. То есть не при нашей жизни.

Есть несколько фактов:

  • Крупнейший рынок софта — это США. Там делается основной объем ПО с которым работает весь мир. Часть этого ПО пишется внутри страны, часть попадает на внешний рынок разработки. Думаю не очень сложно проследить как происходит распространение технологий. Сначала появляется что-то новое и постепенно вовлекаются все более новые группы разработчиков и заказчиков.
  • Новые технологии появляются сначала в США. За редким исключением сложно вспомнить какие-то удачные и популярные проекты которые были бы созданы например во Франции. В любом случае 100% софта который я использую имеют английскую документацию и сайты.
  • Успешные стартапы в основном начинают свой путь из США.

Отсюда можно сделать вывод, что раз центр появления софта — это США и волна распространения технологии разрастается оттуда. Циклы этого движения выглядят следующим образом:

  • Появление технологии. Ее придумывают нестандартно мыслящие люди в своих часто успешных стартапах и в какой-то момент предлагают в открытый доступ.
  • Пионеры. Высокооплачиваемые специалисты которые следят за новинками и активно занимаются самообучением начинают пробовать эти новые технологии в своих проектах. Обычно эти люди более адаптивны, харизматичны и могут убедить, что их выбор поможет стать проекту более успешным, часто они и есть эти самые проекты. А поскольку мозгов у них побольше, то их проекты выстреливают с большей вероятностью.
  • Активный бизнес. Тот этап когда технология пошла в массы, когда уже можно найти сотрудников на свободном рынке. Компании начинают включать в свои бизнес-процессы эти технологии.
  • Инертный бизнес и поддержка. Это тот случай когда клиенты принимают решения не на основе здравого смысла, а бизнес-логики. Для того чтобы утвердить использование какого-то ресурса или инструмента надо доказать, что он может жить долго. Конечно в быстро развивающейся отрасли это часто совпадает с финальным этапом развития.

Получается, что новые технологии получают признание сначала в среде высокооплачиваемых специалистов в США, а после того как они уже переработали технологию и отказались, она попадает на рынок аутсорсинга в страны третьего и четвертого мира. Тем самым задают моду на эти технологии. Примеров можно привести множество, например знаю, что в Москве есть компания которая пишет на COBOLе, потому что в США и Индии уже практически невозможно найти специалистов.

Если совсем доступным языком перефразировать: те технологии которые все радостно используют тут зачастую то, что переварили и выплюнули более высокоразвитые рынки. И в Рашку/Украшке попадают те технологии за которые даже не берутся в Индии.

Это иллюстрация того на каком месте в пищевой цепочке находятся эти страны.

Собственно при чем тут Go?

На самом деле не при чем. Через год/два вместо Go можно будет вписать какую-то другую технологию. Но если говорить о здесь и сейчас, то по всем признакам Go находится в стадии перехода от использования пионерами и подходит к стадии "активного бизнеса". Есть реальная возможность впрыгнуть в поезд более высокооплачиваемых и интересных проектов.

Компания Google создает некоторый класс таких технологий которые подходят для определенного рода задач. Из-за своего масштаба они вынуждены влиять на экосистему и пытаться подминать ее под себя. Безусловно это у них будет получаться лучше других в силу своего масштаба и синергии между различными технологиями.

Все же, если вы решаете какой язык стоит учить одним из следующих, то я определенно бы посоветовал обратить внимание на Go. Сейчас этот язык получил статус третьего языка третьей платформы в GAE (с ограничениями). В TIOBE индексе занимает очень высокие позиции для своего срока жизни. Мне кажется у него будет (или уже есть, пропустил?) просто запускаться как NaCl внутри Chrome.

Кто бы мог подумать, что следующим языком внутри GAE станет C/C++ подобный Go?



blog comments powered by Disqus

Support

If you like my posts, please support me on Gittip

Published

11 May 2011

In tags we trust

Fork me on GitHub