Lably
Skip to content

David Ungar

  • 2 min read
  • 2 chapters

Related on Lably

Through JavaScript

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. 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. Self was also one influence on the design of the JavaScript programming language. 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.

Dave Ungar was awarded the Dahl-Nygaard Senior Prize in 2009.

Major publications

  • 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

Sign in to keep reading

One more chapter is free with a Lably account.

More in Computing and communication