Подписка на курсы Слёрма: 21 курс в полном доступе
Блог Слёрм

За что BigTech любит Go?

С целью создать простой и эффективный язык, который справится с экстремальными масштабами корпорации, в 2009 году Google разработал Golang.

С тех пор Golang прочно закрепился на рынке, и на то есть веские причины: в языке сочетаются уникальные функции для создания современных высокопроизводительных приложений.

Давайте разбираться, почему Golang с каждым днём становится всё популярнее среди разработчиков.

Кросплатформенность

Язык максимально кроссплатформенный: можно на Linux скомпилировать бинарники для MacOS, Windows, BSD — запустить на другой машине, и все будет работать.

Готовые инструменты

C Golang поставляется ряд мощных встроенных инструментов, помогающих с форматированием, тестированием кода, созданием документации и анализом. Они входят в стандартную поставку Go и доступны сразу после установки, среди них вы найдёте:

  • профилирование и бенчмарки;
  • go test;
  • gofmt;
  • go doc;
  • go vet;
  • и много других необходимых инструментов.

Минималистичный синтаксис

Синтаксис в Golang действительно очень прост и лаконичен — это одна из ключевых особенностей языка:

  • Нет классов, только структуры
  • Упрощённый цикл for — и для интеграций, и как while
  • Строгая типизация
  • Нет исключений (try/catch) — вместо этого обработка ошибок через error
  • Есть интерфейсы и композиция

В Go всего 25 ключевых слов (для сравнения: в Python ~35, в C++ ~90). Это упрощает изучение и чтение кода.

Поддержка от Google и open-source-сообществ

Экосистема языка стремительно развивается, предлагая всё необходимое для профессиональной разработки. Легковесные фреймворки вроде Gin и Echo задают стандарты для создания быстрых API, а инновационные базы данных типа CockroachDB демонстрируют, на что способен Go в распределённых системах.

Помимо этого, крупнейшие компании мира доверяют Go свои критически важные системы. Google использует его для облачной инфраструктуры, Cloudflare — для обработки миллионов HTTP-запросов в секунду, а Uber — для высоконагруженных микросервисов. Netflix и Dropbox выбрали Go за его скорость и предсказуемость в production-средах, где каждая миллисекунда задержки оборачивается существенными потерями.

Быстрая компиляция

Компилятор Go разработан с акцентом на скорость сборки. Он комплилирует даже большие проекты за считанные секунды благодаря ряду технических решений. Результат не заставляет себя ждать: проекты с десятками тысяч строк кода собираются за 1-2 секунды на обычной машине. Даже при полной перекомпиляции сборка редко превышает 5-10 секунд в очень больших кодовых базах.

Связь с Kubernetes

Нельзя не упомянуть влияние Kubernetes — системы оркестровки контейнеров, ставшей отраслевым стандартом. Поскольку сам Kubernetes написан на Go, язык нативным образом выбирается компаниями для разработки связанных инструментов и расширений, таких как:

  • Разработки операторов (Kubernetes Operators)
  • Создания кастомных контроллеров
  • Интеграции с облачными API (AWS EKS, Google GKE, Azure AKS)

Таким образом, популярности Go также способствовал повышенный спрос на k8s, сделав его одним из главных языков для облачной инфраструктуры и DevOps-экосистемы.

Как используют Go в отечественных компаниях:

  • Avito. Компания перешла с Python на Go в основном сервисе рекомендаций еще в 2022 году в связи с большим количеством CPU-bound-нагрузки и необходимостью передавать по сети большое количество данных.
  • Ozon. Инженеры Ozon активно используют Golang для создания высоконагруженных систем. Кроме того, компания регулярно проводит стажировки и обучение языку.
  • Lamoda. Разработчики сменили стек с PHP на Go: для этой цели был создан целый онбординг.

Помимо этого, язык востребован в таких компаниях, как Ростелеком, Wildberries, VK, Delivery Club, Ситимобил, Mail.ru, 2ГИС.

Если вы хотите изучить язык, который не устареет через 5 лет и ещё долго будет среди передовых IT-трендов, Golang — отличный выбор! Научиться создавать реальные проекты, используя актуальные подходы разработки на Go, можно на курсе Golang-разработчик — старт нового потока 19 мая.
Golang