Walter Bright (Photo courtesy Walter Bright)
Walter Bright (Photo courtesy Walter Bright)
Автор: Алексей Ветров [17.03.2026]

«Я научился программировать, написав Empire»

Digi-Comp II: шарики, складывающие числа

Мой брат получил в подарок компьютер Digi-Comp I. Я был им очарован, но никак не мог разобраться в инструкциях. Позже он получил Digi-Comp II — механический компьютер, использующий шарики для двоичной арифметики. Вот его я понял — и был заворожён тем, как шарики, скатываясь по желобам, могут складывать числа.

Это воспоминание Уолтера Брайта о первом соприкосновении с вычислительными машинами. Не с программным кодом, не с терминалом — с механическими шариками, выполняющими арифметику. Инженерное мышление началось здесь.

Отец служил в ВВС, и однажды взял меня на работу и провёл в машинный зал. Программисты запрограммировали компьютер играть музыку простыми тонами. Я не поверил и обвинил их в том, что у них там спрятан магнитофон. Они засмеялись, сняли крышку с машины размером с пару холодильников — и показали мне электронные платы.

Caltech, 1979: механик с игровым проектом

Уолтер Брайт самостоятельно научился программировать по программам из книги BASIC Computer Games. Он окончил Caltech в 1979 году с дипломом бакалавра по механической инженерии и дополнительной специализацией по авиационной инженерии.

Калифорнийский технологический институт — одно из технически сильнейших учебных заведений мира. Основная специальность — механика, а не компьютерные науки. Брайт пришёл к программированию через физическое мышление: шестерни, аэродинамика, системы.

Ещё в университете он написал военную игру Empire для мэйнфрейма PDP-10.

«Я научился программировать, написав Empire. Там допущены все ошибки, которые только может сделать программист. Многие мои друзья смотрели на код и предлагали техники, которые могли бы улучшить его — например, таблицу поиска вместо случайной логики. Я также изучил объектно-ориентированное программирование, читая исходный код ADVENT на Фортране — хотя термин ООП не слышал ещё, наверное, лет десять».

Empire: варгейм, переживший полвека

Empire — одна из первых стратегических компьютерных игр, написана в 1971–1977 годах на PDP-10.

Empire называют «Варгеймом века». Это пошаговая стратегия, в которой игрок строит армии, флоты и воздушные силы, захватывает города и ведёт войну на случайно генерируемой карте. Механика, опередившая своё время: большинство элементов, которые позже стали стандартом жанра 4X (исследование, расширение, эксплуатация, уничтожение), присутствовала в Empire ещё на рубеже 1970-х.

«Я иногда играю в Empire, но всегда заканчиваю тем, что перепроектирую компьютерный ИИ в уме вместо того, чтобы играть по-настоящему. Иногда начинаю играть в видеоигру, но начинаю думать о том, как она запрограммирована. Когда я смотрю на шахматы, я не могу не думать о том, как написать программу для игры в шахматы».

Boeing 757: три года над шестернями

После Caltech последовало неожиданное — для будущего создателя компиляторов — место работы.

После выпуска Брайт три года работал в Boeing, участвуя в системах управления полётом самолёта Boeing 757.

Он проектировал редукторы для 757. Параллельно программировал игры — и, пытаясь ускорить Empire, заинтересовался компиляторами.

Связь нелинейная, но органичная: инженер, привыкший думать о системах — о том, как части взаимодействуют, как оптимизировать узел, как добиться надёжности — приходит к компиляторам теми же путями, которыми приходит к конструкциям. Компилятор — это тоже система. И она должна работать быстрее, чем конкуренты.

1982: самодельный компилятор

Несмотря на отсутствие опыта, Брайт в 1982 году взялся за реализацию компилятора, который бы генерировал лучший код, чем доступные на рынке. Эта работа материализовалась в компилятор C, за которым последовали компиляторы для C++, Java и JavaScript.

До разработки компилятора C++ он создал компилятор Datalight C, также продававшийся как Zorland C и позже Zortech C.

Ключевое слово — «несмотря на отсутствие опыта». Не имея академического образования в области компиляторостроения, он просто взял и построил компилятор — потому что хотел, чтобы его программы работали быстрее. Инженерная логика: если существующего инструмента недостаточно, сделай лучший.

1988: Zortech C++ — первый нативный компилятор C++

Zortech C++, первый нативный компилятор C++, был выпущен в 1988 году.

Брайт был главным разработчиком компилятора Zortech C++ (позже Symantec C++, теперь Digital Mars C++) — первого компилятора C++, транслирующего исходный код непосредственно в объектный код без использования C в качестве промежуточного языка.

До Zortech существовала принципиально другая архитектура. Компилятор AT&T под названием «cfront» транслировал C++ в C — и затем C-компилятор порождал объектный код. Это работало, но было медленным и ограниченным: многие низкоуровневые оптимизации оказывались недоступны через промежуточный слой.

Методы, освоенные при создании Zortech, повлияли на последующее развитие компиляторов в части стратегий нативной генерации кода.

Zortech C++ — первый и до сих пор единственный компилятор C++, написанный одним человеком. Это не просто технический факт — это свидетельство масштаба задачи. Компилятор C++ — один из наиболее сложных инженерных проектов в программировании. Сделать его в одиночку означало держать в голове одновременно синтаксический анализатор, систему типов, семантику шаблонов, генератор кода и оптимизатор.

Symantec, Digital Mars и эволюция компилятора

После Zortech бренд компилятора менял названия вместе с корпоративными изменениями.

Zortech C++ позже стал Symantec C++, теперь — Digital Mars C++.

Брайт — основатель Digital Mars, компании, через которую он продолжал разрабатывать компиляторы и другие инструменты.

В середине 1980-х годов Брайт перешёл к разработке компиляторов, создав реализации для языков C, ABEL (языка описания аппаратуры с примерно 50 000 пользователей), Java и DMDScript.

1999: язык D — усталость от чужих компромиссов

«После создания компиляторов для Pascal, C, C++ и Java у меня накопилось много идей о том, как должны работать языки программирования. Мне надоело быть просто ещё одним программистом, жалующимся на существующие языки, — я хотел сделать что-то позитивное. У меня было время и всё необходимое для создания нового языка, так что отговорок не было».

Уолтер Брайт начал разработку языка программирования D в конце 1999 года, задумав его как преемника C и C++, который устранял бы сложности и несоответствия, накопившиеся в C++ со временем, сохраняя эффективность, низкоуровневый доступ к аппаратуре и алголоподобный синтаксис.

Первый публичный альфа-выпуск D появился в 2001 году, версия 1.0 была финализирована и выпущена в январе 2007 года после многолетнего итеративного совершенствования.

Уолтер Брайт — создатель и первый реализатор языка программирования D. Он является экспертом во всех областях технологии компиляторов: фронтенды, оптимизаторы, генерация кода, движки интерпретаторов и библиотеки времени исполнения.

Язык D интегрирует производительность языка C с современными возможностями, такими как сборка мусора и опциональная безопасность памяти через аннотацию @safe, которая применяет проверки времени компиляции для предотвращения небезопасных операций — например, неправильного использования указателей.

BDFL и Facebook Warp

Уолтер Брайт — BDFL языка программирования D и основатель Digital Mars.

Аббревиатура BDFL расшифровывается как «Benevolent Dictator For Life» — «Благожелательный диктатор на всю жизнь». Это неформальный, но устойчивый титул в мире открытого программного обеспечения: так называют основателя языка или проекта, сохраняющего окончательное слово в архитектурных решениях. У Python — Гвидо ван Россум. У D — Уолтер Брайт.

Около 2014 года Facebook нанял Брайта для написания Warp — быстрого препроцессора C/C++, написанного на языке D.

Человек, играющий в компиляторы

«Написание компилятора во многом похоже на написание игры — цель состоит в том, чтобы генерировать лучший код, чем у конкурентов!»

Эта фраза лучше любого резюме описывает Уолтера Брайта. Он пришёл в программирование через игры, в компиляторы — через желание ускорить игру, в языковой дизайн — через усталость от чужих компромиссов. Каждый следующий шаг был логическим продолжением предыдущего.

Механик из Caltech, проектировавший редукторы для Boeing 757 и параллельно отлаживавший варгейм на PDP-10. Человек без академического образования в компиляторостроении, написавший в одиночку первый нативный компилятор C++. Создатель языка, которым пользуются программисты спустя четверть века после его рождения.

Уолтер регулярно пишет научные и журнальные статьи о компиляторах и программировании и вёл блог в Dr. Dobb's Journal.

Три главы одной биографии: Empire, Zortech, D. Все три живы.


Tags: #компилятор #брайт #языка #компилятора #уолтер #первый #позже #компиляторов #компиляторы #программирования #научился #программировать #шарики #компьютер #брайта

Дополнительные фотографии

Walter Bright (Photo courtesy Walter Bright)

Walter Bright (Photo courtesy Walter Bright)

Поделиться

Уолтер Брайт

Уолтер Брайт

Американский программист

Родился: 10.03.1959 (67)

Последние новости

Люди Дня

Последние комментарии

  • 22.04.2026 04:02 Технологии меняют искусство Эта шутка, возможно, не предсказывала точное разви... [ «Актеров заменят роботы»: Как мрачная шутка Уилла Феррелла стала пророчеством ]
  • 22.04.2026 03:57 Семья и спорт в НБА Возможно, это не просто совпадение, а результат до... [ Леброн Джеймс и его сын Бронни совершили историческое событие в НБА ]
  • 22.04.2026 03:30 Психологика на стыке победы и устойчивости Возможно, победа на Мастерс — это не просто резуль... [ «Стальной характер»: Как психолог помог МакИлрою удержать победу на Мастерс ]
  • 22.04.2026 03:29 Политика как рычаг для биткойна Интересно, как слова Трампа могут раскачать биткой... [ Слова президента как рычаг: как комментарии Трампа раскачивают курс биткойна ]
  • 22.04.2026 02:03 Заявление и реакция Возможно, заявление Медведева вызвало разные реакц... [ Пражский запрос: как заявление Медведева о целях для ударов взбудоражил соцсети ]
  • 22.04.2026 02:02 Политика и наследие Интересно, как люди воспринимают использование изв... [ Дочь Фрэнка Синатры назвала «святотатством» использование песни отца в ролике Трампа ]
  • 22.04.2026 01:02 Венгрия в своих интересах Венгрия, как и многие страны, стремится к балансу ... [ Песков: Орбан служил Венгрии, а не был «русским союзником» в ЕС ]
  • 22.04.2026 00:57 Память как основа единства Володин прав, что подвиги Гагарина и Терешковой пр... [ Володин призвал чтить подвиг Гагарина и Терешковой: «Они принадлежат миру» ]
  • 22.04.2026 00:04 Соперничество как честь Возможно, Кросби видит в Овечкине не просто соперн... [ Кросби о легендарном соперничестве: «Играть против Овечкина — честь» ]
  • 22.04.2026 00:04 Сложность выживания в хаосе Фильм «Собаки-звезды» может показать, как люди ста... [ «Собаки-звезды»: Джейкоб Элорди в постапокалиптическом триллере Ридли Скотта ]

Оставьте Комментарий

Имя должно быть от 2 до 50 символов
Введите корректный email
Заголовок должен быть от 3 до 200 символов
Сообщение должно быть от 15 до 6000 символов