# Митчелл Хашимото о Zig, Go и Rust: «Программирование должно приносить удовольствие»

Источник: https://www.youtube.com/watch?v=YQnz7L6x068
Канал: The PrimeTime
Опубликовано: 12.01.2025

---

Митчелл Хашимото, создатель инфраструктурного гиганта HashiCorp, совершил необычный карьерный маневр: он добровольно покинул посты CEO и CTO, чтобы вернуться к написанию кода. Его новый проект — терминал Ghostty, написанный на языке Zig, — стал итогом многолетних размышлений о качестве софта, балансе между жизнью и работой и поиске «радости» в программировании.

## 📉 «Успех вниз»: как стать рядовым разработчиком после поста CEO
[[JUMP:0:00]]

Карьерный путь Митчелла Хашимото в HashiCorp часто называют «лунной походкой» [0:25]. Начав как основатель и CEO, он последовательно перешел на роль CTO, затем стал рядовым индивидуальным контрибьютором (IC), а теперь — неоплачиваемым мейнтейнером Open Source проекта Ghostty [0:39].

Сам Митчелл Хашимото описывает этот опыт как процесс обретения эмпатии ко всем ролям в компании [2:13]. По его мнению, каждая должность — это огромный и сложный пласт работы со своими вызовами. Решение отойти от управления было продиктовано осознанием простого факта: он любит «хакать» и писать код больше, чем заниматься стратегическим менеджментом [2:39].

Спикер выделяет несколько ключевых аспектов работы топ-менеджмента:

*   **«Дерьмо течет вверх»:** Хашимото утверждает, что в Senior-менеджменте вы почти не слышите о вещах, которые работают хорошо [3:46]. К вам попадают только те проблемы, которые не смогли решить на уровнях ниже [4:01].
*   **Публичность и стресс:** Постоянные разъезды, недовольство сотрудников и высокая видимость создают нагрузку, которая может негативно сказываться на семейной жизни [4:14].
*   **Финансовый компромисс:** Хотя высшее руководство получает больше, Хашимото считает важным вовремя переоценить, стоят ли деньги того уровня стресса, который они приносят [4:27].

Митчелл Хашимото признается, что его родственники долгое время не понимали, что происходит, воспринимая его уход с поста CEO как какой-то провал, а не как сознательный выбор [6:09].

## 👻 Ghostty: архитектура терминала будущего
[[JUMP:8:05]]

Проект Ghostty не задумывался как коммерческий продукт. Хашимото начал его 2-3 года назад как «обучающий полигон», чтобы изучить Zig, программирование для GPU и десктопную разработку [22:50].

Главные архитектурные принципы Ghostty:

1.  **Libghostty как ядро:** Основная идея Хашимото заключается в том, что эмулятор терминала должен существовать в виде библиотеки [10:19]. Это позволит другим разработчикам создавать свои UI-оболочки (например, интегрировать терминал в VS Code или Neovim), не переписывая сложную логику эмуляции заново [11:26].
2.  **Нативность вместо кроссплатформенности:** В отличие от Kitty или Alacritty, Ghostty стремится выглядеть «родным» для каждой ОС [18:11]. На Mac он использует Swift и AppKit, на Linux — GTK.
3.  **Баланс характеристик:** Проект строится на пересечении трех векторов: скорость (GPU-рендеринг), функциональность и нативность интерфейса [9:53].

Хашимото утверждает, что Ghostty вряд ли когда-либо обгонит iTerm2 по количеству функций (например, встроенный менеджер паролей он внедрять не планирует) [12:31]. Вместо этого он хочет создать плагинную систему, чтобы сообщество могло само расширять возможности терминала [12:57].

## ⚡ Почему Zig, а не Go или Rust?
[[JUMP:23:53]]

Выбор языка программирования для Ghostty стал самой обсуждаемой темой. Митчелл Хашимото, который писал на Go более десяти лет, выбрал Zig, сознательно отказавшись от Rust [27:56].

Его аргументация строится на нескольких тезисах:

*   **Фактор удовольствия:** Хашимото прямо заявляет: «Мне весело писать на Zig, и мне совсем не весело читать или писать на Rust» [26:20].
*   **Проблема Rust:** По мнению Митчелла, разработка на Rust превращается в бесконечную имплементацию трейтов (traits) и прыжки по файлам в попытках понять, где именно реализован нужный функционал [26:32].
*   **Проблема Go:** Хашимото разочаровался в направлении развития Go после внедрения дженериков [33:04]. Он считает, что ограничения языка делали код лучше, а новые фичи «размывают» его культуру и радость от чтения [33:17].
*   **Мощь Zig:** Главным преимуществом Zig спикер называет `comptime` (возможность выполнять код во время компиляции). Это позволяет реализовать статический диспетчер без использования интерфейсов или vtables, что дает высокую производительность без лишних абстракций [29:05].

Хашимото также похвалил систему сборки Zig, отметив, что пользователи в восторге от того, насколько легко Ghostty компилируется из исходников [24:48].

## 🛠️ Отношение к Open Source и «хейтерам»
[[JUMP:34:40]]

Митчелл Хашимото занимается открытым кодом более 15 лет. За это время он выработал философское отношение к критике. Его «несерьезный» метод борьбы с токсичными комментариями на Reddit — собираться с друзьями в парке и зачитывать их вслух с излишним драматизмом [36:24]. По его словам, когда читаешь яростный комментарий об отсутствии статической диспетчеризации, стоя на траве, он начинает казаться абсолютно безумным и смешным [37:15].

В управлении проектом он придерживается строгого подхода:

*   **Дискуссии вместо Issues:** В репозитории Ghostty нельзя создавать Issues просто так. Все предложения проходят через GitHub Discussions [16:13]. Хашимото считает, что пользователи часто предлагают плохие решения для своих проблем, и задача мейнтейнера — докопаться до реальной потребности [16:01].
*   **Техническая филантропия:** Спикер рассматривает Ghostty как форму благотворительности. Поскольку он финансово независим, он хочет тратить свое время на создание бесплатного и качественного инструмента для миллионов разработчиков [42:11].

## 🤖 AI как «армия стажеров»
[[JUMP:45:54]]

Митчелл Хашимото активно использует GitHub Copilot и другие AI-инструменты. Он находит подозрительным, когда опытные программисты отрицают пользу LLM [47:51].

Его взгляд на AI:

*   **Эффективность:** Хашимото сравнивает использование AI с наличием дюжины стажеров-выпускников, которым не нужно платить и которых не нужно кормить [48:18].
*   **Качество в Zig:** Хотя для JavaScript нейросети пишут целые блоки кода, в Zig они работают скорее как продвинутый автокомплит на уровне строк и паттернов, что все равно экономит массу времени [47:13].
*   **Лицензионные риски:** Хашимото выражает обеспокоенность тем, что AI могут обучаться на коде под лицензией GPL и выдавать его пользователям MIT-проектов [49:22]. Он ждет юридического прецедента (аналогичного Oracle vs Google), который установит правила игры [50:00].

При этом Митчелл признается, что стал настолько зависим от Copilot, что если инструмент перестает работать из-за плохого интернета, он может просто закончить рабочий день [55:47].

## 👨‍👩‍👧 Личные уроки и баланс
[[JUMP:1:00:25]]

Самым трудным моментом в создании Ghostty Хашимото называет не технические задачи, а эмоциональный баланс после рождения дочери [1:00:38]. Он описывает постоянное чувство вины: когда он кодит, он скучает по ребенку; когда он с ребенком, он иногда ловит себя на желании пойти пописать код [1:01:28].

Его подход к обучению:

1.  Сначала прочитать **весь** справочник по языку (reference manual) от корки до корки [1:04:49].
2.  Прочитать **всю** стандартную библиотеку языка, чтобы понимать общие паттерны [1:05:13].
3.  Только после этого начинать что-то строить [1:05:15].

В завершение беседы Митчелл Хашимото поделился своим идеальным завтраком — это Egg McMuffin и хашбраун из McDonald's, которые он считает практически совершенной едой [1:18:15].