Язык программирования теперь выбирают под ревью, а не под разработку. Скорость письма из аргументов выпала совсем.
11 августа Cameron Balahan, продакт-менеджер Go, и Richard Seroter из Google Cloud выкатили текст про то, почему Go — идеальный язык для разработки с агентами. Вся аргументация стоит на одной фразе: раз агент выдаёт сотни строк синтаксически валидного кода за секунды, то скорость, с которой пишет человек, больше не важна — важно, как этот код читать, проверять и поддерживать. На Hacker News текст собрал 438 баллов и 538 комментариев. Комментариев больше, чем апвоутов, там так спорят редко.
Дальше список того, что Google называет преимуществами:
— Один формат на всех. gofmt встроен в тулчейн, код сеньора, джуна и модели выглядит одинаково, и выдуманный вызов API видно быстрее.
— Компилятор как первый ревьюер. Несуществующий метод, неверный тип, неинициализированная переменная — не собирается, агент чинит себя сам до того, как человек открыл дифф.
— Стандартная библиотека вместо зависимостей. Модель тянет из обучающих данных мёртвые и подменённые пакеты, а тут почти всё лежит внутри.
— Обещание совместимости. Go 2.0 не будет никогда, код пятнадцатилетней давности собирается сегодняшним тулчейном.
Вот это и есть приём, ради которого я притащил историю. Каждый пункт в списке — ограничение. Один способ форматирования вместо любого, один способ выразить логику вместо дюжины, стандартная библиотека вместо экосистемы, отсутствие новых версий языка. Ровно за это Go годами называли языком для галер. Google не спорит с описанием, Google перестал считать это недостатком. В языке ничего не поменялось — поменялось, кто основной читатель кода.
Выбор языка у вас, скорее всего, давно сделан. Но та же логика работает на уровень ниже, на конвенциях. Каждое место, где у команды есть два одинаково законных способа сделать одно и то же, подорожало: агент выберет оба, а читать это вам.
Что сделать сегодня. Возьмите последний PR, который написал агент и который вы смёржили. Попросите отдельную сессию задать вам по этому диффу пять вопросов — не про синтаксис, а про то, что изменилось в поведении системы. Джеффри Литт держит такое правило постоянно: не отдаёт код, пока сам не проходит квиз по собственному диффу. Признак простой: не ответили на два вопроса из пяти — вы не ревьюили, вы жали «approve».
Честности ради, у гугловского текста нет ни одного эвала. Ни замеров, ни таблиц, только рассуждение. Дэн Лу на той же неделе прогнал два собственных эвала — декодер zstd по RFC без интернета и Pandoc с холдаут-тестами — и вывод у него получился такой, что большинство ходящих по рукам утверждений про пригодность конкретного языка для LLM просто неверны. Заодно видно, откуда эти «факты» берутся: в популярном эвале, на который ссылается AI-выдача гугла, задачи решаются в 70–109 токенов. Задач там нет.
https://developers.googleblog.com/why-go-is-an-ideal-language-for-ai-assisted-software-engineering/
https://danluu.com/pl-tokens/
Сколько строк в последнем PR, который вы смёржили, вы прочитали глазами?
Post #846
313