Абраш, Майкл

Майкл Абраш — программист и технический писатель, специализирующийся на оптимизации кода, программировании на ассемблере под архитектуру 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.

Примечания

Ссылки 
 Ramblings in Valve Time, блог Майкла Абраша.
 Ramblings in Realtime by Michael Abrash, детальное описание графического движка, использованного в Quake (PDF version).
 «Graphics Programming Black Book» by Michael Abrash, для скачивания альтернативный источник.
 Another source of his Graphics Programming Black Book, «Graphics Programming Black Book».
 Byte.com’s copy of «Graphics Programming» (Active February 2008), «Graphics Programming».
 Black Book Special Edition, «Black Book Special Edition».
 ''40 minutes with Michael Abrash of Valve Software", аудио интервью с Майклом Абрашем на конференции QuakeCon 2012, обсуждение его работы в Valve.

Технические писатели США
Разработчики компьютерных игр
Программисты США
Сотрудники Microsoft
Id Software
GPGPU