Абраш, Майкл

15.01.2023

Майкл Абраш — программист и технический писатель, специализирующийся на оптимизации кода, программировании на ассемблере под архитектуру 80x86. Репутация специалиста закрепилась за ним после появления в 1990 году его книги Zen of Assembly Language Volume 1: Knowledge. Эта тема была продолжена позднее в его новой книге Zen of Graphics Programming. Он часто начинает свои технические выступления с анекдота, показывающего параллель между его реальным опытом и темой выступления. Стиль его изложения заставляет читателей думать иначе (outside the box) и искать совершенно новый подход в решении технических проблем.

Программист игр

До того, как Абраш стал техническим писателем, он был программистом игр на заре появления IBM PC. Его первой коммерческой игрой была Space Strike, выпущенная в 1982. Он был соавтором нескольких игр вместе с Дэном Илловски, который ранее написал «Snack Attack» для Apple II. Абраш и Илловски работали вместе над «Cosmic Crusader» (1982), «Big Top» (1983), и «Snack Attack II».

После работы в Microsoft над графикой и ассемблерной частью в Windows NT 3.1 он вернулся в индустрию видеоигр и в середине 1990-х присоединился к id Software для работы над Quake. В те времена Майкл также принял участие в разработке Doom. Некоторые из технологий, применённых в Quake, описаны в книге Абраша «Ramblings in Realtime» опубликованной в журнале Dr. Dobb. После того как Quake был выпущен, Абраш вернулся в Microsoft, где работал над распознаванием естественных языков, затем перешёл в команду Xbox до 2001 года.

В 2002 Абраш устроился на работу в RAD Game Tools, где был одним из создателей Pixomatic - программного обеспечения для рендеринга, которое эмулирует функциональность видеокарт уровня DirectX 7 и использовалось в игре Unreal Tournament 2004. В конце 2005 Pixomatic была приобретена Intel. Во время разработки Pixomatic Абраш и Майк Сертейн (Mike Sartain) спроектировали архитектуру Larrabee, которая теперь используется Intel в технологии GPGPU.

Гейб Ньюэлл, директор Valve, сказал, что «пытался нанять Майкла Абраша постоянно. Примерно раз в квартал мы ходили вместе пообедать, и я спрашивал: „Ты уже готов присоединиться к нам?“». В 2011 Абраш присоединился к Valve.

В 2014 году Абраш покинул Valve и присоединился к компании по разработке устройств виртуальной реальности Oculus VR (несколькими месяцами ранее состав компании также пополнил программист из id Software Джон Кармак, с которым Абраш работал над Quake).

Технический писатель

Майкл Абраш в 1980-х вёл одну из рубрик в журнале «Programmer’s Journal». В 1989 году эти статьи были собраны в книге «Power Graphics Programming».

Его вторая книга «Zen of Assembly Language» (1990), фокусировалась на написании эффективного ассемблерного кода для 16-битных процессоров Intel 8086, но после её опубликования был уже доступен новый процессор Intel 80486. Планируемая вторая часть книги о программировании графики так и не была выпущена. Ключевая мысль «Zen of Assembly Language» была в том, что производительность всегда должна быть измерена, и книга включала в себя инструмент для этого, названный «Zen Timer», для проверки, сработает ли теоретическая оптимизация кода.

Большая часть содержимого «Zen of Assembly Language» была обновлена в «Zen of Code Optimization: The Ultimate Guide to Writing Software That Pushes PCs to the Limit» (1994), появился и новый материал. Презентация поэтапного улучшения программы демонстрировала, как модернизация алгоритма может улучшить производительность до 100 раз. С другой стороны, переписывание на ассемблере может повысить производительность только до 10 раз.

В 1997 вышла книга Абраша «Graphics Programming Black Book» . Это было собрание статей из журнала Dr. Dobb’s и наработок, касающихся графической подсистемы Quake.


Имя:*
E-Mail:
Комментарий: