Abrash, Michael

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 20 iunie 2021; verificările necesită 3 modificări .
Michael Abrash
Data nașterii Secolului 20
Țară
Ocupaţie inginer , programator de jocuri , informatician

Michael Abrash  este un programator și scriitor tehnic specializat în optimizarea codului , programarea în limbaj de asamblare pentru arhitectura 80x86 . Reputația de specialist i-a fost fixată după apariția în 1990 a cărții sale Zen of Assembly Language Volume 1: Knowledge [1] . Această temă a fost continuată mai târziu în noua sa carte Zen of Graphics Programming [2] . El își începe adesea discuțiile tehnice cu o anecdotă care arată o paralelă între experiența sa din viața reală și subiectul discuției. Stilul său de prezentare îi face pe cititori să gândească diferit (în afara cutiei) și să caute o abordare complet nouă pentru rezolvarea problemelor tehnice.

Programator de jocuri

Înainte de a deveni un scriitor tehnic, Abrash a fost programator de jocuri în primele zile ale IBM PC . Primul său joc comercial a fost Space Strike , lansat în 1982. A scris mai multe jocuri împreună cu Dan Illowski, care a scris anterior „ Snack Attack ” pentru Apple II . Abrash și Illowski au lucrat împreună la „ Cosmic Crusader ” (1982), „ Big Top ” (1983) și „ Snack Attack II ” [3] .

După ce a lucrat pentru Microsoft pe grafică și asamblare în Windows NT 3.1 , sa întors în industria jocurilor video și sa alăturat id Software la mijlocul anilor 1990 pentru a lucra la Quake . În acele vremuri, Michael a luat parte și la dezvoltarea lui Doom . Unele dintre tehnologiile folosite în Quake sunt descrise în Abrash's Ramblings in Realtime, publicat în Dr. Dobb [4] . După ce Quake a fost lansat, Abrash s-a întors la Microsoft unde a lucrat la recunoașterea limbajului natural, apoi s-a mutat în echipa Xbox până în 2001.

În 2002, Abrash s-a alăturat RAD Game Tools , unde a co-creat Pixomatic, un software de randare care emulează funcționalitatea plăcilor video de nivel DirectX 7 utilizate în Unreal Tournament 2004 . La sfârșitul anului 2005, Pixomatic a fost achiziționat de Intel . În timpul dezvoltării Pixomatic, Abrash și Mike Sartain au proiectat arhitectura Larrabee , care este acum utilizată de Intel în tehnologia sa GPGPU [5] .

Gabe Newell , directorul Valve , a spus că „a încercat să-l angajeze pe Michael Abrash tot timpul. Cam o dată pe trimestru ieșeam împreună la prânz și am întrebat: „Ești gata să ni te alături?” [6] . În 2011, Abrash sa alăturat Valve [7] .

În 2014, Abrash a părăsit Valve pentru a se alătura companiei Oculus VR , o companie de dezvoltare de dispozitive de realitate virtuală (cu câteva luni mai devreme, programatorul id Software John Carmack, cu care Abrash a lucrat la Quake, s-a alăturat companiei).

Scriitor tehnic

Michael Abrash a fost editorialist pentru Programmer's Journal în anii 1980. În 1989, aceste articole au fost adunate în cartea Power Graphics Programming.

A doua sa carte, Zen of Assembly Language (1990), sa concentrat pe scrierea unui cod de asamblare eficient pentru procesoare Intel 8086 pe 16 biți , dar după publicarea sa, noul procesor Intel 80486 [8] era deja disponibil . O a doua parte planificată a unei cărți despre programarea grafică nu a fost niciodată lansată. Mesajul cheie al Zen of Assembly Language a fost că performanța ar trebui întotdeauna măsurată, iar cartea a inclus un instrument pentru a face acest lucru, numit Zen Timer, pentru a testa dacă optimizările teoretice ale codului ar funcționa.

O mare parte din conținutul din Zen of Assembly Language a fost actualizat în Zen of Code Optimization: The Ultimate Guide to Writing Software That Pushes PCs to the Limit (1994) și a fost adăugat material nou [9] . Prezentarea Îmbunătățirea programului incremental a demonstrat cum upgrade-urile algoritmilor pot îmbunătăți performanța de până la 100 de ori. Pe de altă parte, rescrierea în asamblare poate îmbunătăți performanța doar de până la 10 ori.

Cartea lui Abrash „Graphics Programming Black Book” [10] [11] a fost publicată în 1997 . Era o colecție de articole de la Dr. Dobb și evoluțiile referitoare la subsistemul grafic Quake .

Note

  1. Abrash, MichaelZen al limbajului de asamblare :Cunoaștere  . - Scott Foresman Trade, 1990. - ISBN 978-0-673-38602-1 .
  2. Abrash, MichaelZen of Graphics Programming: The Ultimate Guide to Writing Fast PC Graphics . — Grupul Coriolis; Ediția Bk&Disk, 1994. - ISBN 978-1-883577-08-7 .
  3. Hague, James Lista uriașă a programatorilor de jocuri clasice . Arhivat din original pe 2 octombrie 2012.
  4. Abrash, Michael Ramblings în timp real . www.drdobbs.com (1 februarie 1996). Consultat la 10 iulie 2010. Arhivat din original la 2 octombrie 2012.
  5. Abrash, Michael O primă privire asupra noilor instrucțiuni Larrabee (LRBni) . www.drdobbs.com/architecture-and-design (1 aprilie 2009). Consultat la 10 iulie 2010. Arhivat din original la 2 octombrie 2012.
  6. Walker, John RPS Exclusiv: Interviu cu Gabe Newell . Rock, Paper, Shotgun (21 noiembrie 2007). Data accesului: 22 ianuarie 2010. Arhivat din original pe 2 octombrie 2012.
  7. Crossley, Rob Valve angajează un trio de dezvoltare de talie mondială . Dezvoltați (13 mai 2011). Data accesului: 16 mai 2011. Arhivat din original pe 2 octombrie 2012.
  8. Hague, James Cinci cărți memorabile despre programare . prog21.dadgum.com (18 februarie 2008). Consultat la 10 iulie 2010. Arhivat din original la 2 octombrie 2012.
  9. Abrash, Michael Zen of Code Optimization: Ghidul suprem pentru scrierea unui software care împinge computerele la  limită . - Cărțile Grupului Coriolis, 1994. - ISBN 978-1-883577-89-6 .
  10. Abrash, Michael; Michael Abrash. Programare grafică Black Book  . - Cărțile Grupului Coriolis, 1997. - ISBN 978-1-57610-174-2 .
  11. ↑ Abrash , Michael Graphics Programming Black Book  . www.drdobbs.com/high-performance-computing (1 noiembrie 2001). Consultat la 10 iulie 2010. Arhivat din original la 2 octombrie 2012.

Link -uri