デヴィッド・マイケル・アンガー()は、アメリカ合衆国の計算機科学者。

Randall Smithとともにプログラミング言語『Self』を開発し、そのユーザ体験が論文『Animation』で紹介された。また、Bay-Wei Changとの共著で、ACM Symposium on User Interface Software and Technology 2004においてLasting Impact Awardを受賞した。1985年にカリフォルニア大学バークレー校をコンピュータサイエンスを卒業し、博士を取得した。博士論文のタイトルは『The Design and Evaluation of a High-Performance Smalltalk System』で、1986年のACM博士論文賞を受賞している。

1985年から1990年まで、スタンフォード大学電気工学部コンピュータシステム研究室の助教授を務め、プログラミング言語とコンピュータアーキテクチャを教えた。1991年、サン・マイクロシステムズ社に入社し、卓越したエンジニアとなる。2006年には、Association for Computing MachineryからDistinguished Engineerに認定され、2010年にはFellowに認定された。2007年にIBM Researchに入社し、Dynamic Optimization Groupに所属している。また、アンガーは20件の米国特許を保有している。

2006年、アンガーとRandall Smithの共著による1987年のSelfに関する論文は、1986年から1996年の間に発表されたOOPSLA論文の中で最も影響力のある3つの論文の1つに選出された。また、Selfはプログラミング言語JavaScriptの設計に影響を与えたひとつでもある。また、1984年に執筆した論文『Generation Scavenging: A Non-disruptive High Performance Storage Reclamation Algorithm』は、Tracing garbage collectionを導入し、2008年にRetrospective ACM SIGSOFT Impact Paper Awardを受賞した。そのほか、2009年にダール・ニゴール賞を受賞した。

主な出版など Extending Swift Value(s) to the Server, David Ungar and Robert Dickerson, O'Reilly, 2016. The History of Self, David Ungar, Randall B. Smith. ACM HOPL-III, 2007. Proc. of the Third ACM SIGPLAN History of Programming Languages Conference (HOPL-III), B. Ryder, B, Hailpern (Eds.), San Diego, California, USA, 9–10 June 2007. Paper and video at . Reconciling Responsiveness with Performance in Pure Object-Oriented Languages, Urs Hölzle and David Ungar. TOPLAS 18, 4 (July 1996). Programming as an Experience: The Inspiration for Self, R. Smith & D. Ungar, invited paper, ECOOP’95. Animation: From Cartoons to the User Interface, Bay-Wei Chang and David Ungar, UIST 1993 Self: The Power of Simplicity, Randall B. Smith and David Ungar, OOPSLA, October, 1987 Generation Scavenging: A non-disruptive high performance storage reclamation algorithm., David Ungar, 1984

主な特許 Perceptual-based color selection for text highlighting. (Jan. 11, 2005) Method and apparatus for increasing scavenging garbage collection effectiveness - (Jan 20, 2004) Method and apparatus for testing a process in a computer system - (Jul 15, 2003) Method and apparatus for finding bugs related to garbage collection in a virtual machine - (Dec 4, 2001) Method and apparatus of translating and executing native code in a virtual machine environment - (Aug 28, 2001) Method and apparatus for supporting efficient programming in dynamic pointer-safe languages - (Aug 21, 2001)

脚注

関連項目 Inline caching

外部リンク At IBM. At Sun.