Если ИИ пишет ваш код, зачем использовать Python? (Митчем)
- title
- Если ИИ пишет ваш код, зачем использовать Python? (Митчем)
- type
- summary
- summary
- Доводы Митчема о том, почему выбор Python/TS сломался с приходом агентов в Rust и Go: релизы первого квартала 2026 года и слабые места аргументации
- tags
- ai-assisted-coding, language-choice, rust, python, oss-economics
- created
- 2026-05-13
- updated
- 2026-07-29
- lang
- ru
- translation_of
- if-ai-writes-your-code-why-use-python
- source_updated
- 2026-07-29
- translated
- 2026-09-01
- translator
- lllm/antigravity/gemini-3.7-flash-medium
В своём эссе на Medium от 28 апреля 2026 года Ноа Митчем утверждает, что привычный за последнее десятилетие выбор по умолчанию - начинать новый проект на Python или TypeScript, потому что люди пишут на них быстрее - стал ошибочным. Причина чисто механическая: агенты научились хорошо писать на Rust и Go раньше, чем на чём-либо ещё, поэтому языки, создававшие больше всего сложностей для людей, требуют от агентов наименьших накладных расходов. Отдельная концепция описана в language-choice-for-agents.
Нарушенная сделка
Десять лет выбор языка для проекта с нуля сводился к компромиссу между скоростью разработки и скоростью выполнения, и скорость разработки всегда побеждала. Вы выбирали Python, потому что экосистема уже решала большинство задач, а прототип можно было показать в пятницу. Вы знали, что Rust или Go дадут прирост скорости в 10–100 раз, но расплатой за это были шесть месяцев на погружение, узкий рынок найма и вечно сопротивляющаяся система сборки. Переписывание ради производительности всегда маячило где-то в планах, но редко доходило до дела.
Тезис Митчема заключается в том, что этот расчёт перевернулся, поскольку ограничение, породившее его - медлительность людей при работе с низкоуровневыми языками, - исчезло.
Что вышло в первом квартале 2026 года
Самый сильный раздел эссе опирается на факты, а не на риторику. Всего за один квартал появились четыре проекта, каждый из которых раньше занял бы несколько лет:
- Microsoft портировала компилятор TypeScript на Go. TS 7.0 beta работает примерно в 10 раз быстрее версии 6.0. Хейлсберг объяснил это тем, что Go даёт почти весь выигрыш в производительности при несоизмеримо меньших инженерных затратах: изменились не требования, а сам баланс компромиссов.
- Николас Карлини написал C-компилятор на Rust с помощью 16 параллельных агентов Claude - 100 000 строк кода, загружает Linux 6.9 на x86/ARM/RISC-V, компилирует QEMU, FFmpeg, SQLite, PostgreSQL, Redis. Запускает Doom. Затраты: менее $20 000 за ~2000 сессий Claude Code.
- Стив Клабник за две недели создал новый системный язык (Rue). ~70 000 строк на Rust. По его словам, за этот срок проект продвинулся дальше, чем за месяц-два предыдущей сольной работы.
- Андреас Клинг за две недели портировал JavaScript-движок Ladybird с C++ на Rust, управляя Claude Code и Codex через сотни коротких промптов. ~25 000 строк, побайтовая идентичность, ни одной регрессии на более чем 65 000 тестов.
Скрытый аргумент: когда-то C-компилятор на Rust тянул на диссертацию. Ни один из этих четырёх проектов не был возможен в 2024 году, оставался на грани возможного в 2025-м, а сейчас стал рутиной.
Механизм: плотные циклы обратной связи
Митчем цитирует CtrlAltDwayne: аргумент в пользу Rust в 2026 году - это не безопасность памяти и не скорость работы, а то, что ошибки компилятора служат бесплатным сигналом для обучения, а цикл итераций достаточно короток, чтобы модели исправляли себя в реальном времени. Строгая типизация плюс быстрая компиляция и проверка плюс большой обучающий корпус = максимально плотный цикл работы агента. Языки, которые давались людям тяжелее всего, даются агентам легче всего именно по той причине, по которой они были сложны: въедливые компиляторы работают непрерывно.
Этот довод отличается от мысли "ИИ хорош в Rust, потому что на GitHub много Rust-кода". Объём обучающих данных необходим, но недостаточен. Аргумент о корпусе объясняет, почему Rust и Go работают, а Zig/Haskell/Gleam отстают; аргумент о цикле обратной связи объясняет, почему Rust превосходит Python по продуктивности агентов, даже когда обучающих данных хватает для обоих. Оба довода подкрепляют один вывод. О том, почему качество обвязки важнее качества базовой модели, см. scaffold-model-fit.
Экосистема уже не та, что прежде
Главным аргументом за Python и JavaScript всегда была экосистема. Возражение Митчема: эта экосистема всё чаще оказывается кодом на Rust под маской Python. import pydantic подтягивает ядро валидации на Rust. Polars написан на Rust. orjson - на Rust. Токенизаторы Hugging Face - на Rust. Опрос JetBrains 2025 года показывает, что доля Rust-расширений для Python выросла с 27% до 33% за год. ruff/uv/ty от Astral написаны на Rust. Вся внутренняя инфраструктура уже переехала.
Корпоративный сигнал виден по череде поглощений:
- OpenAI приобрела Astral 19 марта 2026 года. Внутреннее обоснование: uv экономит Codex ~1 млн минут вычислений в неделю. Стек Astral подробно описан в open-source-security-astral.
- Anthropic приобрела Bun за десять недель до этого (7 млн скачиваний в месяц, 89 тыс. звёзд на GitHub), назвав его "критически важной инфраструктурой для разработки ПО под управлением ИИ".
- Эван Ю выпустил Rolldown-Vite (сборщик на Rust), сократив время сборки GitLab с 2,5 минут до 40 секунд при снижении потребления памяти в 100 раз. Ли Робинсон из Vercel: "Мы достигли предела оптимизации на JS".
Пакеты, которые вы импортируете в Python и JS, всё чаще представляют собой обёртки над кодом, который раньше прятали за binding'ами просто потому, что никто в команде не мог написать его сам. Как только агенты берут написание этого низкоуровневого слоя на себя, binding'и превращаются в лишние накладные расходы. О более глубоком структурном сдвиге см. port-not-patch-contribution.
Патч -> порт
Старый цикл в open source: выбираем Python из-за простоты -> находим баг в зависимости -> чиним -> отправляем в upstream -> экосистема оздоравливается. Главное свежее утверждение Митчема состоит в том, что этот цикл сломался конкретным образом: единицей вклада стал не патч, а портирование. Его наглядное доказательство - Ронахер, портировавший MiniJinja с Rust на Go за 45 минут работы человека, 10 часов работы агента и $60 затрат на API. Если форк библиотеки на другой язык занимает одну рабочую сессию, отправка исправления в чужую библиотеку обходится сопоставимо дорого, но оставляет вас в зависимости от чужого графика релизов и чужого внимания при код-ревью.
Цитата Ронахера: ценность смещается из кода в тесты и документацию. Хороший набор тестов сейчас стоит дороже самого кода, потому что код стал легко переносимым между языками и средами исполнения. Общий контекст публикаций Ронахера 2026 года об инструментах для агентов см. в lucumr-blog.
Структурная аргументация приведена в port-not-patch-contribution. Стоит отметить и следствие: PyPI и npm работают сегодня, но совсем не факт, что они продолжат работать в 2028 году, если каждая компания при малейшей несовместимости кода предпочтёт форкнуть и портировать, а не договариваться об изменениях в upstream.
В чём Митчем делает оговорки
Эссе на редкость честно обозначает свои границы.
Некоторым проектам по-прежнему нужен старый ответ. Prisma убрала свой движок запросов на Rust в пользу ядра на TS/WASM - размер бандла снизился на 85%, а запросы ускорились до 3,4 раза. Нативные бинарники на Rust плохо уживаются с serverless-средами. PyTorch всё ещё удерживает ~85% исследований в deep learning, потому что весам моделей всё равно, на каком языке написана обёртка.
ИИ справляется с системными языками неравномерно. У Zig, Haskell и Gleam корпуса текстов меньше, и код на них ИИ генерирует хуже. Рейтинг симпатий Stack Overflow (Rust 72%, Gleam 70%, Elixir 66%, Zig 64%) интересен именно тем, что языки второго эшелона любимы людьми, но для работы с агентами пока не дотягивают по качеству. Это напрямую сталкивается с позицией из simonw-zig-anti-ai: Zig открыто отказывается от рычага в виде вклада LLM - того самого рычага, который мог бы устранить этот разрыв в качестве. Оба эссе сходятся в описании механизма, но расходятся во взглядах на то, желательно ли писать язык силами агентов.
Как это вписывается в общую картину базы знаний
Текст Митчема - самый бескомпромиссный эмпирический аргумент в пользу тезиса об агентских языках в этой базе знаний. Его стоит читать в сравнении со следующими материалами:
- no-silver-bullet-llms - тезис Беннетта о том, что потолок соотношения сущностной и привнесённой сложности ограничивает выигрыш от LLM; данные DORA и CircleCI показывают рост нестабильности, а не только производительности. Пример Митчема с C-компилятором на 100 тыс. строк за $20 тыс. - это как раз тот случай, где модель Беннетта и предсказывает максимальную отдачу от LLM: высокая привнесённая сложность, чёткий критерий корректности, постоянная работа компилятора. Обе позиции не столько противоречат друг другу, сколько описывают разные участки фронта работ, но разница в расстановке акцентов принципиальна.
- skill-atrophy-supervision-paradox - аргумент Ларса Файе о том, что контроль за агентами требует навыков, которые разрушаются при их использовании. Митчем неявно исходит из того, что специалист уровня "архитектор и ревьюер" всё ещё массово существует на рынке; Файе утверждает, что эта прослойка тает быстрее, чем растёт выработка агентов.
- agentic-coding-fatigue - наблюдение 0xsid о том, что роль проверяющего имеет дневной предел примерно в 4–5 часов. Если цикл Митчема упирается в ограничение Файе, узкое место снова возвращается на сторону человека.
- i-am-an-ai-hater и i-will-never-use-ai - группа текстов об отказе от ИИ. Аргументация Митчема - это двигатель, эти материалы - тормоза.
- ai-great-leap-forward - довод о системных сбоях: принудительное внедрение агентов ведёт к рисованию красивых метрик. Пример Митчема с TS-7 на Go - это удачный вариант реализации; рассуждения о "Большом скачке" показывают, что происходит в среднестатистической компании.
- ai-assisted-workflow и simonw-vibe-coding-agentic - как работа архитектора-контролёра выглядит на практике с точки зрения инженера.
- zstd-lean-proof-automation - тот же довод уровнем выше: затраты человеческого труда, не пускавшие зависимые типы в обычный код, были сняты моделями, снизив цену доказательства с нескольких дней до двадцати минут.
Правильный подход к чтению Митчема вместе с блоком критических статей таков: он точен в фактах и в описании механизма. Вопрос лишь в том, масштабируются ли эти примеры из категории "опытные инженеры с глубоким пониманием предметной области портируют то, в чём уже отлично разбираются" на "обычные команды, начинающие новые проекты с нуля на незнакомых языках". Заявленный пример (приложение под Mac на Tauri/Rust размером в 1/10 от версии на Electron, написанное инженерами без знания Rust) служит аргументом "за". Накопленный в базе знаний скепсис выступает аргументом "против".
Цитаты, заслуживающие внимания
"Лучший аргумент за Rust в 2026 году - это не безопасность памяти и не производительность. Он в том, что ИИ пишет на Rust лучше, чем на C++. Цикл обратной связи с компилятором настолько плотный, что модели исправляют себя в реальном времени. Каждое сообщение об ошибке - это бесплатный обучающий сигнал." - CtrlAltDwayne
"Главная причина, по которой новые языки могут выстрелить, заключается в резком падении стоимости написания кода. Как следствие, широта экосистемы значит всё меньше." - Ронахер, A Language For Agents
"LLM полностью меняют структуру ограничений в разработке ПО... даже Rust далеко не идеален в качестве целевого языка для LLM." - Карпати
"Будущее программирования принадлежит не тем языкам, которые проще всего даются людям. Оно принадлежит тем, с которыми проще всего работать агентам." - @RealRichomie, 24 апр. 2026
- python-build-standalone
- Language Choice for Agents
- uv is fantastic, but its package management UX is a mess
- Armin Ronacher (lucumr.pocoo.org)
- Let's talk about LLMs (Bennett)
- Open Source Security at Astral
- Zig's Anti-LLM Policy and the Bun Fork (Simon Willison)
- Software Engineering Is About Managing Complexity (hack8s)
- We Have Proof Automation Now