Interested Article - Абраш, Майкл

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

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

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

После работы в 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 .

Примечания

  1. (англ.) . (англ.) . — Scott Foresman Trade, 1990. — ISBN 978-0-673-38602-1 .
  2. (англ.) . (англ.) . — Coriolis Group; Bk&Disk edition, 1994. — ISBN 978-1-883577-08-7 .
  3. Hague, James . 2 октября 2012 года.
  4. Abrash, Michael . www.drdobbs.com (1 февраля 1996). Дата обращения: 10 июля 2010. 2 октября 2012 года.
  5. Abrash, Michael . www.drdobbs.com/architecture-and-design (1 апреля 2009). Дата обращения: 10 июля 2010. 2 октября 2012 года.
  6. Walker, John . Rock, Paper, Shotgun (21 ноября 2007). Дата обращения: 22 января 2010. 2 октября 2012 года.
  7. Crossley, Rob . Develop (13 мая 2011). Дата обращения: 16 мая 2011. 2 октября 2012 года.
  8. Hague, James . prog21.dadgum.com (18 февраля 2008). Дата обращения: 10 июля 2010. 2 октября 2012 года.
  9. (англ.) . (англ.) . — Coriolis Group Books, 1994. — ISBN 978-1-883577-89-6 .
  10. Abrash, Michael; Michael Abrash. (англ.) . — Coriolis Group Books, 1997. — ISBN 978-1-57610-174-2 .
  11. Abrash, Michael (англ.) . www.drdobbs.com/high-performance-computing (1 ноября 2001). Дата обращения: 10 июля 2010. 2 октября 2012 года.

Ссылки

  • , блог Майкла Абраша.
  • , детальное описание графического движка, использованного в Quake ( ).
  • , для скачивания .
  • , «Graphics Programming Black Book».
  • , «Graphics Programming».
  • , «Black Book Special Edition».
  • , аудио интервью с Майклом Абрашем на конференции QuakeCon 2012, обсуждение его работы в Valve.
Источник —

Same as Абраш, Майкл