# Митчелл Хашимото: «Не влюбляйтесь в свой молоток»

Источник: https://www.youtube.com/watch?v=ljoNEH39lyw
Канал: Software Unscripted Podcast
Опубликовано: 17.02.2026

---

В новом эпизоде подкаста Software Unscripted Ричард Фелдман обсуждает с Митчеллом Хашимото, создателем терминала Ghostty и сооснователем HashiCorp, философию разработки современного софта. Основной темой беседы стал отказ от кроссплатформенных фреймворков в пользу нативных интерфейсов и то, как искусственный интеллект меняет повседневную работу программиста.

## 🖥️ Нативный UI против «наименьшего общего знаменателя»
[[JUMP:02:08]]

Митчелл Хашимото придерживается радикальной, по современным меркам, позиции: программное обеспечение должно быть нативным для каждой платформы [02:32]. Он утверждает, что индустрия наводнена приложениями, построенными по принципу «наименьшего общего знаменателя», которые поддерживают только те функции, которые есть везде, игнорируя уникальные возможности конкретных операционных систем [03:26].

По мнению Хашимото, компании, обладающие ресурсами, должны нанимать специалистов под конкретные платформы, а не пытаться сэкономить на Electron или других кроссплатформенных инструментах [02:59]. Он скучает по приложениям, которые «бесстыдно» заявляют о своей принадлежности к одной экосистеме, например, только к macOS, и глубоко интегрируются с такими сервисами, как iCloud или функцией Handoff [03:52].

В качестве примера Хашимото приводит планы для Ghostty:

*   Автоматическая синхронизация конфигурации (шрифтов, цветов) через iCloud при входе в систему на новом устройстве Apple [04:31].
*   Использование нативных виджетов вместо отрисовки собственных пикселей (как это делает Kitty или Zed) [05:08].
*   Глубокая интеграция с системными уведомлениями и настройками звука [16:39].

Ричард Фелдман соглашается, отмечая, что кроссплатформенные PWA-приложения (например, для Android на macOS) часто выглядят небрежно и лишены элементарных функций, таких как регулировка громкости уведомлений [16:27].

## 🏗️ Архитектура Ghostty: Zig и нативные слои
[[JUMP:06:26]]

Несмотря на приверженность нативному UI, Ghostty активно использует общий код для бизнес-логики. Хашимото разделяет приложение на два уровня:

1.  **Кроссплатформенная логика:** написана на языке Zig. Она включает в себя сложные структуры данных, такие как деревья для управления разделением экрана (splits) [07:04].
2.  **Презентационный уровень:** полностью нативный для каждой ОС (Swift для macOS, GTK для Linux) [07:28].

Интересно, что изначально Хашимото пытался реализовать логику разделения окон отдельно на Swift и GTK, но это привело к дублированию багов при операциях вращения или выравнивания панелей [07:28]. В итоге он вынес эту логику в Zig, оставив нативным слоям только задачу трансляции этих данных в видимые виджеты [07:40].

Хашимото считает, что умение разделять бизнес-логику и логику представления — это ключевой навык старшего инженера [08:06]. Он критикует современные веб-фреймворки (например, React и React Server Components) за то, что они поощряют смешивание этих слоев в одном файле, что затрудняет понимание того, где именно выполняется код и насколько он ресурсозатратен [08:32].

## 🛠️ Инженерный прагматизм: «Не влюбляйтесь в свой молоток»
[[JUMP:11:36]]

Одной из центральных идей беседы стала критика узкой специализации на одном языке программирования. Хашимото полагает, что слишком многие инженеры привязываются к одной экосистеме (например, только JavaScript), воспринимая её как часть своей идентичности [13:07].

Его аргументы:

*   Языки программирования — это просто инструменты (молотки), и они «не будут любить вас в ответ» [13:37].
*   Настоящая сила инженера заключается в способности проектировать системы в рамках заданных ограничений, используя наиболее подходящие средства [13:23].
*   Обучение новому языку не так сложно, как принято считать; хороший специалист может быстро освоить несколько инструментов на достаточном уровне [13:07].

Фелдман добавляет, что компании часто попадают в ловушку «единого кодового базса» на ранних этапах, но в итоге всё равно вынуждены нанимать отдельных iOS или Android-разработчиков, когда понимают, что кроссплатформенное решение не обеспечивает должного качества [14:42].

## ⚖️ Ghostty как некоммерческая организация и критика лицензий
[[JUMP:23:36]]

Недавно Ghostty сменил юридический статус на некоммерческую организацию (non-profit), что гарантирует его независимость и открытость в будущем [23:36]. Хашимото передал проекту все права на интеллектуальную собственность и торговые марки [23:51].

Это решение вызвало неожиданную критику со стороны сторонников «свободного ПО» (Free Software), которые требовали перевода проекта на копилефт-лицензию (например, GPL) вместо текущей пермиссивной [24:28]. Митчелл относится к этому спокойно:

*   Он считает выбор лицензии субъективным вопросом ценностей [25:08].
*   По его мнению, агрессивное навязывание своих взглядов как «объективной истины» является токсичным [26:12].
*   Критика «хорошее недостаточно хорошо» отпугивает людей от благотворительности и участия в Open Source [27:05].

Митчелл признаётся, что из-за страха необоснованной критики он практически не обсуждает свою внетехническую благотворительную деятельность в интернете [28:10].

## 🤖 Рабочий процесс с ИИ: Агенты и «Оракул»
[[JUMP:31:00]]

На момент записи (декабрь 2025 года) Хашимото полностью интегрировал ИИ в свой рабочий процесс, используя инструмент под названием **AMP** [31:13]. Его воркфлоу выглядит следующим образом:

1.  **Исследование (Librarian):** Агент на базе модели *Sonnet 4.5* сканирует репозитории и ищет примеры реализации протоколов (например, T-mux) [31:26].
2.  **Планирование (Oracle):** Модель *GPT 5.1* анализирует собранную информацию и составляет детальный план реализации, учитывая типы данных и краевые случаи [31:38].
3.  **Верификация:** Хашимото просит ИИ перепроверить свои же выводы. Однажды это помогло найти одно пропущенное значение в перечислении (enum) среди тысячи задокументированных [32:57].
4.  **Реализация:** Создаются отдельные потоки (threads) для написания конкретных кусков кода [33:09].

Митчелл подчеркивает, что не доверяет ИИ вслепую. Он всегда требует ссылки на файлы и номера строк в исходном коде, чтобы лично проверить результат [33:47]. По его словам, ИИ делает программирование более увлекательным, так как берет на себя рутинный поиск информации, позволяя человеку сосредоточиться на написании самого кода [1:02:50].

## 📜 Правила для контрибьюторов и проблема «шлака» (Slop)
[[JUMP:36:14]]

В Ghostty действует строгая политика в отношении ИИ-контента от сторонних разработчиков:

*   Использование ИИ разрешено, но об этом нужно открыто заявлять (disclose) [37:18].
*   Контрибьютор должен полностью понимать код, который он предлагает [37:18].
*   **Запрещено** использовать ИИ для ответов на комментарии и обратную связь (feedback) в Pull Requests [37:32].

Последнее правило было введено из-за негативного опыта: автоматические ответы ИИ на замечания мейнтейнеров никогда не приносили пользы и только усложняли коммуникацию [37:44]. Хашимото жалуется на огромное количество низкокачественных PR («slop»), созданных с помощью ИИ людьми, которые даже не пытаются разобраться в проекте [40:09]. Это убивает желание мейнтейнеров выступать в роли наставников для новичков [39:12].

## 🔋 Экология и будущее локальных моделей
[[JUMP:47:26]]

Обсуждая энергозатраты на обучение и работу ИИ, Хашимото занимает прагматичную позицию. Он не считает, что отдельные пользователи должны нести ответственность за экологический след технологий; это задача корпораций и правительств [49:41].

Лично Митчелл минимизирует свой вклад в потребление энергии:

*   Его дом в Южной Калифорнии полностью питается от солнечных батарей [48:49].
*   За 6 лет он практически не платил по счетам за электричество, несмотря на зарядку электромобиля дома [48:36].
*   В его доме установлены таймеры на все выключатели света, чтобы избежать напрасного расхода энергии [52:18].

В будущем Хашимото надеется на появление качественных моделей (уровня *Opus 4.5*), способных работать локально на пользовательском железе, что решит вопросы конфиденциальности и скорости [56:50]. Он полагает, что фаза экспоненциального роста возможностей LLM сменяется фазой итеративных улучшений и оптимизации эффективности [54:54].