Это подробный разбор беседы между Лексом Фридманом и Дэйвом Пламмером — легендарным программистом Microsoft, создателем Диспетчера задач Windows и автором книги об аутизме.
🛠️ Эпоха «железных» первопроходцев: от RadioShack до Commodore 64
Дэйв Пламмер начал свой путь в программировании в конце 70-х, когда компьютеры еще были экзотикой. Его первым опытом стал TRS-80 Model 1 с 4 КБ оперативной памяти в местном магазине RadioShack. Будучи 11-летним подростком, он не просто играл, а пытался «общаться» с машиной на английском языке, не зная синтаксиса Basic.
Искусство программирования на машинном коде
Настоящий прорыв произошел с появлением Commodore 64. Поскольку у семьи Пламмера не было лишних денег, компьютер покупался без гарантии, и когда дисковод вышел из строя, Дэйв остался с кассетным магнитофоном. В этих условиях он совершил инженерный подвиг:
- Написал клон игры Galaga целиком на машинном коде (не путать с ассемблером).
- Процессор 6502 требовал ручного ввода гексадецимальных опкодов.
- Отсутствие возможности перемещать код заставляло использовать «спагетти-логику»: если нужно было добавить строку в середину, приходилось делать безусловный переход (JMP) в свободную область памяти, выполнять код и прыгать обратно.
Дэйв вспоминает это время с горечью: из-за случайной ошибки он стер финальную версию игры, перезаписав чистую дискету поверх данных. Этот опыт научил его дисциплине данных и осознанию ответственности программиста.
🏗️ Путь в Microsoft: из 7-Eleven в ядро операционных систем
История попадания Пламмера в Microsoft напоминает классическую американскую мечту. После исключения из старшей школы и работы ночным кассиром в магазине 7-Eleven (где его однажды грабили под дулом ножа, а в 40-градусный мороз он вручную замерял уровень бензина в резервуарах), Дэйв осознал, что хочет другой жизни.
Он вернулся в школу в 21 год, а затем поступил в университет Саскачевана. Чтобы оплатить учебу, он написал HyperCache — расширение файловой системы для Amiga.
«Холодные» письма и вход в Редмонд
Вдохновившись книгой о становлении Microsoft, Дэйв решил найти там работу. Метод поиска был оригинальным:
- Он перебрал тысячи регистрационных карточек пользователей своего HyperCache.
- Нашел три-четыре контакта с почтовым доменом
@microsoft.com. - Написал им «холодные» письма с предложением своих услуг.
Это сработало. Он получил приглашение на стажировку в команду MS-DOS, где его первым проектом стала оптимизация SmartDrive (кеширование CD-ROM).
🖥️ Создание легенд: Диспетчер задач и ZIP-папки
Дэйв Пламмер — автор кода, который ежедневно запускают сотни миллионов человек.
Windows Task Manager (Диспетчер задач)
Диспетчер задач начинался как домашний проект Пламмера в 1994 году. Он хотел создать максимально надежный инструмент, который не зависнет, даже если вся остальная система «лежит».
Технические секреты Task Manager:
- Минимализм: Оригинальный размер исполняемого файла составлял всего 87 КБ.
- Отказ от runtime: Пламмер намеренно не линковал стандартные библиотеки C (CRT), чтобы сэкономить память. Ему приходилось вручную вызывать конструкторы объектов через таблицу диспетчеризации.
- Эффективная отрисовка: Для обновления графиков загрузки ЦП использовался аналог кода Хэмминга для определения только изменившихся пикселей, что делало программу невероятно «легкой».
- Многопоточность: Каждое обращение к внешним API (например, сетевым путям) выносилось в отдельный поток, чтобы интерфейс оставался отзывчивым.
ZIP в Windows
Интеграция поддержки ZIP-архивов также была личной инициативой Дэйва. До этого пользователям приходилось скачивать сторонние утилиты типа PKZIP Фила Каца. Пламмер выпустил свою версию как shareware (Visual ZIP), и Microsoft выкупила её, превратив в системную функцию «Сжатые ZIP-папки». Одной из сложностей при релизе было экспортное законодательство США: шифрование тогда приравнивалось к вооружению, и многие функции безопасности пришлось вырезать для международного рынка.
👤 Жизнь на спектре: аутизм и программирование
Важной частью обсуждения стал диагноз Дэйва — аутизм (ASD) и СДВГ. Пламмер объясняет, что его мозг работает в режиме монотропизма: он способен на гиперфокус в одной задаче, но совершенно не умеет в многозадачность.
Особенности аутичного мышления:
- Буквальность: Пламмер воспринимает всё буквально. Например, на вопрос «в комнате 10 стульев, зашли 6 человек, сколько стульев осталось?» он ответит «10», потому что стулья никуда не исчезли.
- Социальное «маскирование»: Для него обычное общение — это работа. Он «симулирует» нормальность, осознанно контролируя жесты и мимику, что отнимает много энергии.
- Эмоциональная постобработка: Дэйв часто анализирует свои разговоры спустя часы или даже десятилетия. Однажды он отправил письмо с благодарностью владельцу мастерской через 10 лет после ремонта машины, осознав в ходе «постобработки», что тогда он не проявил достаточной вежливости.
Работа в Microsoft через призму аутизма
Его прямота и внимание к мелочам часто приводили к неловким ситуациям. Пламмер вспоминает, как на барбекю дома у Билла Гейтса он прервал своего менеджера, который хвалил его перед Биллом, чтобы поправить одну незначительную цифру в сроках проекта. «Это было неуместно, но я не мог вынести неточности», — признается Дэйв.
💾 Техническое наследие и будущее ИИ
Пламмер работал под началом Дэйва Катлера, архитектора Windows NT, которого он описывает как «сурового фермера от программирования», не терпящего плохого кода.
Взгляд на современные языки
Сегодня Дэйв ведет YouTube-канал Dave's Garage, где проводит тесты производительности. В его проекте GitHub Primes (сравнение скорости вычисления простых чисел) лидируют:
- Zig — часто оказывается самым быстрым.
- C++ и Rust — идут следом.
- Python — Пламмер использует его для проектов с ИИ, называя процесс разработки «vibe coding» (программирование по наитию с помощью LLM).
Прогноз на будущее
Дэйв считает, что через 10–20 лет программирование окончательно превратится в высокоуровневое проектирование. Мы будем оперировать компонентами и интерфейсами через ИИ, подобно тому как архитекторы перешли от чертежей карандашом к AutoCAD. Однако он с грустью отмечает, что новые поколения программистов могут потерять понимание того, как работают транзисторы и регистры процессора, — базу, на которой строился весь старый Microsoft.
Программирование для Дэйва Пламмера — это не просто работа, а способ существования: «Смысл жизни — в создании крутых вещей, которые работают именно так, как ты задумал у себя в голове».