David Ungar
{{short description|American computer scientist}}
{{Infobox scientist
| name = David Ungar
| other_names = David Michael Ungar
| image = David Ungar.jpg
| caption =
| birth_date =
| birth_place =
| residence =
| citizenship = American
| nationality =
| fields = Computer Science
| workplaces = Stanford
Sun Microsystems
IBM Research
| education =
| alma_mater = U.C. Berkeley
| thesis_title = The Design and Evaluation of a High-Performance Smalltalk System
| thesis_url = http://digitalassets.lib.berkeley.edu/techreports/ucb/text/CSD-86-287.pdf
| thesis_year = 1986
| doctoral_advisor = David A. Patterson
| academic_advisors =
| known_for =
| influences =
| influenced =
| awards = ACM Fellow
ACM Dissertation Award
Dahl-Nygaard Prize
| author_abbrev_bot =
| author_abbrev_zoo =
| website =
| footnotes =
}}
David Michael Ungar, an American computer scientist, co-created the Self programming language with Randall Smith. The Self development environment's animated user experience was described in the paper Animation: From Cartoons to the User Interface co-written with Bay-Wei Chang, which won a lasting impact award at the ACM Symposium on User Interface Software and Technology 2004.
Ungar graduated as a doctor of philosophy in computer science from the University of California, Berkeley, in 1985.
His doctoral advisor was David Patterson and his dissertation was entitled The Design and Evaluation of a High-Performance Smalltalk System; it won the 1986 ACM Doctoral Dissertation Award.
He was an assistant professor at Stanford University, Dept. of Electrical Engineering, Computer Systems Lab, where he taught programming languages and computer architecture, from 1985 to 1990.
In 1991, he joined Sun Microsystems and became a distinguished engineer.
In 2006 he was recognized as a Distinguished Engineer by the Association for Computing Machinery and in 2010 a Fellow.{{Cite web |url=http://www.acm.org/press-room/news-releases/2010/fellows-2010 |title=ACM Names 41 Fellows from World's Leading Institutions — Association for Computing Machinery |access-date=2010-12-08 |archive-url=https://web.archive.org/web/20120428113630/http://www.acm.org/press-room/news-releases/2010/fellows-2010 |archive-date=2012-04-28 |url-status=dead }}
From 2007 to 2017, he worked at IBM Research, where he was a member of the Dynamic Optimization Group, and investigated new paradigms including ensemble and subjective programming. From 2017 to 2022, he worked at Apple, where he sped up Swift language compilation. Currently retired, he builds apps for his personal use on various Apple platforms.
Ungar holds over 20 US patents.
In 2006 the 1987 Self paper, coauthored by Ungar and Randall B. Smith, was selected as one of the three most influential OOPSLA papers presented between 1986 and 1996.{{cite web |author=ACM |title=SIGPLAN - Awards |url=http://www.sigplan.org/Awards/OOPSLA/}}
Self was also one influence on the design of the JavaScript programming language.{{Cite journal |last=Severance |first=C. |date=February 2012 |title=JavaScript: Designing a Language in 10 Days |journal=Computer |volume=45 |issue=2 |pages=7–8 |doi=10.1109/MC.2012.57 |s2cid=29215508 |issn=0018-9162}} Ungar's 1984 paper, Generation Scavenging: A Non-disruptive High Performance Storage Reclamation Algorithm, which introduced generational garbage collection, won a Retrospective ACM SIGSOFT Impact Paper Award in 2008.{{cite web |author=ACM |title=SIGSOFT Impact Paper Award |url=http://www.sigsoft.org/awards/ImpactAward.htm |url-status=dead |archiveurl=https://web.archive.org/web/20100715044424/http://www.sigsoft.org/awards/ImpactAward.htm |archivedate=2010-07-15 }}
Dave Ungar was awarded the Dahl-Nygaard Senior Prize in 2009.{{cite web |author=Association Internationale pour les Technologies Objets |title=The AITO Dahl-Nygaard Prize Winner for 2009 |url=http://www.aito.org/Dahl-Nygaard/2009.html |accessdate=2009-10-15}}
Major publications
- [http://www.oreilly.com/programming/free/extending-swift-values-to-the-server.csp 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 [http://portal.acm.org/citation.cfm?id=1238844.1238853&coll=GUIDE&dl=GUIDE&type=series&idx=SERIES003&part=series&WantType=Proceedings&title=HOPL&CFID=32568898&CFTOKEN=60061704].
- 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.
- [http://www.cc.gatech.edu/classes/AY2009/cs4470_fall/readings/animation.pdf Animation: From Cartoons to the User Interface], Bay-Wei Chang and David Ungar, UIST 1993
- [http://ranger.uta.edu/~nystrom/courses/cse3302-fa10/selfPower.pdf Self: The Power of Simplicity], Randall B. Smith and David Ungar, OOPSLA, October, 1987
- [http://doi.acm.org/10.1145/800020.808261 Generation Scavenging: A non-disruptive high performance storage reclamation algorithm.], David Ungar, 1984
Selected patents
- 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)
See also
References
{{Reflist}}
External links
- [http://researcher.watson.ibm.com/researcher/view.php?person=us-davidungar At IBM].
- [https://web.archive.org/web/20090207005311/http://research.sun.com/people/ungar/ At Sun].
- {{DBLP}}
- {{LinkedIn page}}
{{Authority control}}
{{DEFAULTSORT:Ungar, David}}
Category:American computer programmers
Category:American computer scientists
Category:Year of birth missing (living people)
Category:UC Berkeley College of Engineering alumni
Category:Stanford University School of Engineering faculty
Category:2010 fellows of the Association for Computing Machinery