В одном из популярных твитов утверждается, что «программирование теперь решённая задача». Степень истинности этого утверждения спорна, но одно можно сказать точно: необходимость глубоко изучать язык перед тем, как начать на нём писать, больше не так критична — часть трения, которое раньше мешало людям, для агентов попросту не существует.
В результате выбор языка программирования стал куда менее значимым решением, чем раньше. Если выбор не нравится, код можно переписать на другом языке, причём выбрать можно тот, с которым сам программист совершенно не знаком.
Это, в свою очередь, означает, что люди всё чаще выбирают язык, ориентируясь на его «маркетинг». Как давний программист на Rust, интересно наблюдать, как код на этом языке теперь пишут те, кто раньше вряд ли его выбрал бы. Часть причины — в двух недавних сдвигах настроений: стало гораздо больше разговоров о желании иметь быстрый софт, а также о том, что LLM исключительно хорошо справляются с оптимизацией кода без потери корректности поведения.
Такие разработчики, как Митчелл Хашимото, Чарли Марш, Джарред Самнер, Даниэль Лемир и ряд других всегда отличались определённой одержимостью производительностью и быстродействием софта — и все они при этом достаточно открыты к идее написания кода агентами. Возможно, поэтому, а может и независимо от этого, к ним присоединяются и другие. Причина в том, что с инструментами вроде autoresearch необязательно знать все тонкости и трюки — достаточно подключить агента, хотя знания, конечно, сильно помогают.
Если оглянуться вокруг, видно немало проектов, стремящихся быть быстрыми и компактными, и они всё чаще выбирают «сложные языки». И выгоду от этого получает не только Rust. Даже Zig — несмотря на то, что его создатели и часть основного сообщества настроены довольно скептически по отношению к теме ИИ — тоже оказывается в выигрыше. Например, новый сервис Artifacts от Cloudflare использует чистый Zig-движок для Git-протокола, скомпилированный в WebAssembly-модуль размером около 100 КБ, а Vercel выпустил fx — кодового агента на Zig, позиционируемого как компактный и быстрый. Судя по всему, все эти проекты в значительной степени созданы с помощью LLM.
Дело не только в выборе менее распространённых языков — разработчики также всё чаще берутся за значительно более сложные технологии. Внезапно появилось немало впечатляющих проектов, связанных с DWARF-файлами, eBPF, кастомными сетевыми драйверами, самописной криптографией и очень старым вычислительным оборудованием. Многие из этих областей раньше были недоступны большинству разработчиков. В некоторых случаях (например, в криптографии) новичков намеренно отталкивали те, кто уже разбирался в теме, — своего рода гейткипинг.
Возможно, в мире станет больше низкокачественного кода, сгенерированного как попало. Но, возможно, в нём станет и больше разработчиков, которые хотят, чтобы их программы были быстрыми и компактными.