Почему популярность Go растет так стремительно

Всего за два года Golang совершил рывок с 65-го на 17-е место в рейтинге самых популярных языков программирования. Вот что стоит за этим взлетом.Взлет языка программирования Go

Язык программирования Go, иногда называемый гугловским golang, приобретает популярность. Хотя такие языки как Java и C продолжают доминировать в программировании, появились новые модели, более подходящие для современной вычислительной техники, а особенно для облачной.

Увеличение использования Go частично связано с тем фактом, что это легковесный язык с открытым кодом, подходящий для сегодняшней архитектуры микросервисов. Контейнер darling Docker и контейнерная оркестровка продукта Kubernetes от Google построены с использованием Go. Go также делает успехи в науке о данных благодаря своим сильным сторонам, которые ученые, занимающиеся данными, ищут в общей производительности и возможности перехода от «ноутбука аналитика к полному производству».

Будучи спроектированным языком (а не чем-то, что развивалось с течением времени), Go помогает разработчикам многими способами. Это и сбор мусора, и собственный параллелизм, и многие другие собственные способности, уменьшающие потребность разработчиков в написании кода для управления утечками памяти или сетевыми приложениями. Go также предоставляет много других функций, отлично подходящих для архитектуры микросервисов и для науки о данных.

По этим причинам Go выбирают для интересных компаний и проектов. С использованием Go строятся такие продукты как Pachyderm (обработка данных следующего поколения, управление версиями и хранение), а недавно был добавлен API для Tensorflow. Force.com от Heroku и частично Cloud Foundry также были написаны на Go. Регулярно добавляется все больше названий.

Рост популярности и использования

Если посмотреть на индекс TIOBE в сентябре 2017 года для Go, вы можете ясно видеть невероятный прыжок популярности этого языка, начавшийся с 2016 года. Go был победителем Зала Славы языков программирования TIOBE в 2016 году как язык с самым высоким годовым возрастанием рейтинга. В настоящее время он находится на 17 месте в ежемесячном списке, поднявшись с 19-й позиции, которую занимал год назад, и с 65-й, на которой находился два года назад.

TIOBE Index for Go
TIOBE индекс для Go

Опрос Stack Overflow в 2017 году также имеет признаки роста популярности Go. Цель комплексного опроса 64 тысяч разработчиков – узнать их предпочтения, задавая вопросы о «Самых любимых, пугающих и желаемых языках». В этом списке преобладают более новые языки, такие как Rust от Mozilla, Smalltalk, Typescript, Swift от Apple и Go от Google. Но уже третий год подряд Rust, Swift и Go входят в топ-5 «самых любимых» языков программирования.

stackoverflow

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

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

По своей сути Go прагматичен. В реальном мире IT сложные, масштабные программы пишутся большими командами разработчиков. Эти разработчики обычно имеют разные уровни навыков, от junior до senior. Go является вполне функциональным и подходящим для младших разработчиков.

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

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

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

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

Go подходит для науки о данных

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

Лучший подход к ошибкам и более легкое их исправление помогают Go превзойти по популярности Python и R, два языка программирования, чаще всего используемых в науке о данных.

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

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

Семена распространения Go

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

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

Go поддерживает не только Google; другие компании также помогают в расширении рынка. Например, код Go поддерживается и развивается с помощью распределений на уровне предприятий, пример – ActiveGo от ActiveState. Что касается движения открытого исходного кода, сайт golang.org и ежегодные конференции GopherCon составляют основу сильного современного опенсорс-сообщества, которое позволяет привносить новые идеи и новую энергию в процесс разработки Go.

***
Подписывайтесь на наш канал в Telegram!
[customscript]techrocks_custom_after_post_html[/customscript]
[customscript]techrocks_custom_script[/customscript]

Оставьте комментарий

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

Прокрутить вверх