← Все статьи
2026-09-02 14:03 · 🤖 AI World

180 000 строк: Claude переписал Direct2D для Paint.NET на WINE

Автор Paint.NET Рик Брюстер признал: без Claude эта фича никогда бы не появилась. 180 000 строк reverse-engineering Direct2D — написаны моделью, не человеком.

180 000 строк: Claude переписал Direct2D для Paint.NET на WINE

Рик Брюстер, автор Paint.NET, опубликовал редкое инженерное признание: Claude написал с нуля полную reverse-engineered реализацию Direct2D для запуска Paint.NET под WINE. Объём — 180 000 строк. Для сравнения: весь остальной Paint.NET — около 700 000 строк, которые Брюстер собирал больше 20 лет. «Без Claude это было бы невозможно и никогда бы не случилось» — его слова.

Контекст

Paint.NET — один из наиболее зрелых растровых редакторов для Windows. Главная проблема с WINE: жёсткая зависимость от Direct2D, Windows-only графического API от Microsoft. WINE реализует его лишь частично, и этого никогда не хватало Paint.NET. Ждать завершения реализации в WINE не имело смысла — Брюстер прямо пишет, что это «никогда не будет достаточно завершено».

Решение: попросить Claude написать собственную управляемую (.NET managed) реализацию Direct2D с нуля, в режиме чистого reverse engineering. Результат — PaintDotNet.Windows.Direct2D1.Managed.dll, подключается флагом /wine. Это не патч поверх существующего кода и не тонкая обёртка. Это воссоздание логики целого графического API, включая математику встроенной библиотеки эффектов Direct2D.

Брюстер называет Клода «хорошим другом» — и это не фигура речи. Без этого инструмента проект по поддержке WINE просто не существовал бы.

Аналитика

Показательно не то, что Claude справился, а как именно и с какими оговорками. Брюстер вводит термин «vibe coding»: 180 000 строк не прошли полноценный code review. «Я не могу проревьюить 180 000 строк — это слишком много» — прямая цитата. По сути, это первый крупный публичный кейс, где автор зрелого коммерческого продукта честно признаёт: значительная часть кодовой базы живёт в режиме «trust me bro».

Брюстер описывает неравномерность Claude: иногда тот «работал с яростью десяти только что освобождённых гениев уровня 10x», иногда — нет. Требовалось активное babysitting: Claude долго не добавлял AddRef() для reference-counted COM-объектов, что означало утечки. Архитектурные решения тоже приходилось корректировать вручную. Это живая иллюстрация реального потолка LLM в системном программировании: сильный синтез паттернов плюс слепые пятна в управлении ресурсами.

Сигнал для рынка: задачи, которые раньше считались «нереализуемыми из-за объёма», теперь становятся feasible — если выделить одного компетентного куратора. Новый ценный скилл — не «писать код», а «направлять LLM и ловить его архитектурные ошибки».

Кейсы применения в бизнесе

B2B-SaaS стартап с тонкой командой. Нужна поддержка legacy-интеграции (старый SOAP API, устаревший SDK) — нет ресурсов писать с нуля. Делегируй Claude написание слоя-адаптера, сам ревьюй только критические секции: инициализацию, error handling, безопасность. Сценарий: 2-3 недели работы команды сжимаются до 2-3 дней при правильном babysitting.

Корпорация с legacy-системой. Desktop-приложение на Windows нужно портировать под Linux для части клиентов. Reverse-engineering слоя совместимости — идеальная задача для Claude: много механики, паттерны повторяются, но нужен куратор для архитектурных решений. Порог входа снизился с «нужна отдельная команда» до «нужен один senior + Claude».

SMB и локальный бизнес в КР/СНГ. Кастомная интеграция между местными учётными системами и современными платформами — типичная боль. Claude закрывает большой объём «клейкого» кода: data mappers, конвертеры форматов, парсеры. Человек следит за бизнес-логикой и граничными случаями.

Кейсы в личной жизни

Разработчик-одиночка. Хочешь реализовать сложную низкоуровневую фичу без месяца погружения в документацию. Описывай задачу итерационно, генерируй большие куски, сам ревьюй только интерфейсы и управление ресурсами. Главное — не отпускать руль: архитектурные решения принимаешь сам.

Контент-мейкер и технический писатель. История Брюстера — идеальный нарратив про изменение границ возможного. Используй подобные реальные кейсы для статей, видео, курсов. Конкретные цифры (180 000 строк, 20 лет опыта, babysitting AddRef) работают лучше любой абстрактной риторики об AI.

Студент и начинающий программист. Этот кейс показывает: даже эксперт с 20-летним опытом не стесняется передать механическую работу AI. Изучай не «как написать 180 000 строк», а «как формулировать задачи и ревьюить архитектурные решения» — это скилл следующего поколения разработчиков.

Как применить сегодня

  • Найди в своём проекте зону «много механики, мало бизнес-логики» — идеальная мишень для Claude.
  • Запускай итерационно: небольшие задачи с чёткими интерфейсами, не «напиши всё сразу».
  • Сам ревьюй только: управление ресурсами (память, соединения, транзакции), граничные случаи, архитектурные стыки — именно там Claude чаще ошибается.
  • Фиксируй найденные паттерны ошибок (как AddRef) и явно говори Claude в следующем промте: «Проверяй X в каждом подобном месте».
  • Документируй то, что не ревьюилось — честно, как сделал Брюстер. Это не слабость, это инженерная зрелость.
← Все статьи