#0 Язык Go - Golang История создания, зачем был нужен - Курс golang для начинающих

История создания

Язык Go создали Кен Томпсон и Роб Пайк — соавторы кодировки UTF‑8 и разработчики нескольких операционных систем, а также Роберт Гризмер, имевший опыт работы над Java HotSpot, языком Swazall и распределёнными системами в Google.

  • Первая публичная версия языка появилась в 2009 году.
  • К 2024 году разработчики выпустили версию 1.23.

За время существования Go стал очень популярным и сегодня (как минимум в середине 2020-х) активно применяется компаниями разных размеров для написания бэкэндов.

Цели создания голанг-а

Go создавался с прицелом на скорость выполнения программ.

В чём проявляется эффективность Go:

1. Оптимизация работы с вычислительными ресурсами

В отличие от многих языков, разработанных в 1990‑х годах (которые ориентировались на одноядерные системы), Go эффективно задействует многопроцессорные архитектуры. Это достигается за счёт встроенного планировщика, позволяющего:

  • создавать высоконагруженные сервисы;
  • обрабатывать множество параллельных независимых запросов, поступающих в программу одновременно.

Дополнительные преимущества:

  • Быстрая компиляция. Нет необходимости долго ждать для проверки работоспособности кода.
  • Удобное управление зависимостями. Весь код хранится в едином пространстве и при сборке преобразуется в статический бинарник. Это убирает зависимость от внешних пакетов и предотвращает конфликты с другими программами.

2. Повышение продуктивности разработчика

Go упрощает процесс программирования благодаря:

  • лаконичному синтаксису — программы получаются понятными и менее обременительными в плане поддержки legacy‑кода;
  • жесткому стилю форматирования кода — это унифицирует внешний вид программ и делает программы более лёгкими для чтения

Для автоматизации форматирования в Go есть специальный инструмент, который можно запускать прямо из IDE (об этом поговорим далее в наших уроках).

Кроме форматирования, экосистема Go предлагает обширный набор линтеров.

Когда Go хорош, а когда не очень

Go активно используется в веб‑разработке, системах мониторинга и при создании разнообразных системных утилит. На этом языке реализованы многие популярные инструменты инфраструктуры — например: Docker, Kubernetes и Terraform.

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

Поскольку в Go предусмотрен сборщик мусора, он не позволяет детально контролировать выделение и освобождение памяти.
Это делает язык неподходящим для задач, где:

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

Кроме того, Go не рекомендуется применять в условиях жёстких ограничений по объёму памяти.
Во встраиваемых системах и устройствах класса Internet of Things (IoT) зачастую предпочтительнее использовать языки с более низким уровнем абстракции и прямым управлением памятью.

Что дальше

С историей как-то разобрались, дальше стартуем как птицы - будем настраивать среду разработки ;)
Голубь взлетает как бы начиная изучать golang - автор снимка Н.

Key Words for FKN + antitotal forum (CS VSU):