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

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

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

Первая публичная версия языка появилась в 2009 году. К 2024 году разработчики выпустили версию 1.23.
За время существования Go приобрёл широкую популярность в среде программистов и сегодня активно применяется компаниями разных масштабов.

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

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

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

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

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

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

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

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

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

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

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

Для автоматизации форматирования в Go предусмотрен специальный инструмент, который:

  • интегрируется в среду разработки;
  • автоматически приводит код к требуемому стилю при сохранении файла.

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

Один из наиболее популярных инструментов — golangci‑lint (официальный сайт: https://golangci-lint.run/ )

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

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

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

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

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

Что дальше

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

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