Разработка ПО перевернулась: раньше мы писали код руками, теперь большую часть генерируют AI-ассистенты и агенты. Людям остаётся читать этот код, проверять его и поддерживать. Поэтому главное в языке программирования — уже не скорость написания, а удобство ревью, верификации и поддержки.
Именно для такого сценария больше двадцати лет назад Роб Пайк, Роберт Гризмер и Кен Томпсон придумали Go в Google. Они делали ставку не на количество фич, а на software engineering: совместную работу, долговечность и предсказуемость системы. Go — это не просто язык, а целая платформа. Из коробки идут форматтер, тесты, управление зависимостями и security-инструменты. Оказалось, что у AI и людей похожие потребности: модели работают быстрее и надёжнее, когда код стандартизован, а рядом есть完整的 toolchain, чтобы итеративно исправлять ошибки.
Go сознательно ставит читаемость выше писабельности. gofmt заставляет весь код выглядеть одинаково, а сам язык ограничивает сложные абстракции и «магический» синтаксис. Если код предсказуем, человек быстрее замечает галлюцинации LLM, логические ошибки и уязвимости. А модели обучаются на стандартизованных данных и генерируют более правильный Go с меньшего числа попыток.
Дальше — надёжность. Статическая типизация в Go работает как автоматическая защита от агентного кода: если LLM вызывает несуществующий метод или передаёт не тот тип, компилятор сразу отклоняет код. А из-за высокой скорости компиляции агент может сам быстро чинить свои ошибки. Встроенная стандартная библиотека снижает тягу моделей тянуть устаревшие или вредоносные зависимости. Для внешних модулей работают checksum database и module mirror, а govulncheck показывает только те уязвимости, которые реально вызываются в коде. Плюс встроенный fuzzing для проверки на граничные случаи.
Наконец, поддерживаемость. У Go есть знаменитая совместимость: код пятнадцатилетней давности компилируется на актуальном toolchain, и Go 2.0 не будет никогда. go fix, gopls и modernizers детерминированно обновляют старые паттерны до новых идиом. А встроенные профилирование, execution tracing и profile-guided optimization позволяют замыкать цикл: данные из продакшена возвращаются в компилятор и улучшают бинарники.
Когда код пишет AI, выбор языка важнее, чем раньше. Go даёт жёсткие рельсы, которые поглощают поток агентной генерации и не дают системе развалиться. Для старта достаточно скачать Go с go.dev, поставить официальное расширение для VS Code (оно работает и в Antigravity) и попросить агента написать приложение на Go.