David Ungar | |
---|---|
Other names | David Michael Ungar |
Citizenship | American |
Alma mater | U.C. Berkeley |
Awards | ACM Fellow ACM Dissertation Award Dahl-Nygaard Prize |
Scientific career | |
Fields | Computer Science |
Institutions | Stanford Sun Microsystems IBM Research |
Thesis | The Design and Evaluation of a High-Performance Smalltalk System (1986) |
Doctoral advisor | David A. Patterson |
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. [1] 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. [2] Self was also one influence on the design of the JavaScript programming language. [3] 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. [4]
Dave Ungar was awarded the Dahl-Nygaard Senior Prize in 2009. [5]
In computer science, reference counting is a programming technique of storing the number of references, pointers, or handles to a resource, such as an object, a block of memory, disk space, and others.
In computing, a virtual machine (VM) is the virtualization or emulation of a computer system. Virtual machines are based on computer architectures and provide the functionality of a physical computer. Their implementations may involve specialized hardware, software, or a combination of the two. Virtual machines differ and are organized by their function, shown here:
SIGPLAN is the Association for Computing Machinery's Special Interest Group on programming languages.
Daniel Henry Holmes Ingalls Jr. is a pioneer of object-oriented computer programming and the principal architect, designer and implementer of five generations of Smalltalk environments. He designed the bytecoded virtual machine that made Smalltalk practical in 1976. He also invented bit blit, the general-purpose graphical operation that underlies most bitmap computer graphics systems today, and pop-up menus. He designed the generalizations of BitBlt to arbitrary color depth, with built-in scaling, rotation, and anti-aliasing. He made major contributions to the Squeak version of Smalltalk, including the original concept of a Smalltalk written in itself and made portable and efficient by a Smalltalk-to-C translator.
FORMAC, the FORmula MAnipulation Compiler, was the first computer algebra system to have significant use. It was developed by Jean E. Sammet and her team, as an extension of FORTRAN IV. The compiler was implemented as a preprocessor taking the FORMAC program and converting it to a FORTRAN IV program which was in turn compiled without further user intervention.
Ralph E. Johnson is a Research Associate Professor in the Department of Computer Science at the University of Illinois at Urbana-Champaign. He is a co-author of the influential computer science textbook Design Patterns: Elements of Reusable Object-Oriented Software, for which he won the 2010 ACM SIGSOFT Outstanding Research Award. In 2006 he was awarded the Dahl–Nygaard Prize for his contributions to the state of the art embodied in that book as well.
Brent Hailpern is a computer scientist retired from IBM Research. His research work focused on programming languages, software engineering, and concurrency.
Peri Tarr received her BS in Zoology from the University of Massachusetts Amherst in 1986, and her MS and PhD in Computer Science from the University of Massachusetts Amherst. Between her BS and MS/PhD, she worked full-time at the University of Massachusetts Physical Plant, attempting to introduce an automated system to help with the Plant's operations. After receiving her PhD, she joined the IBM Thomas J. Watson Research Center as a Research Staff Member in 1996, where she worked on and led various projects relating to issues of software composition, morphogenic software, and aspect-oriented software development.
History of Programming Languages (HOPL) is an infrequent ACM SIGPLAN conference. Past conferences were held in 1978, 1993, and 2007. The fourth conference was originally intended to take place in June 2020, but was postponed to 2021.
William Randall Cook was an American computer scientist, who was an associate professor in the Department of Computer Sciences at the University of Texas at Austin.
Kathryn S. McKinley is an American computer scientist noted for her research on compilers, runtime systems, and computer architecture. She is also known for her leadership in broadening participation in computing. McKinley was co-chair of CRA-W from 2011 to 2014.
Thomas W. Reps is an American computer scientist known for his contributions to automatic program analysis. Dr. Reps is Professor of Computer Science in the Computer Sciences Department of the University of Wisconsin–Madison, which he joined in 1985. Reps is the author or co-author of four books and more than one hundred seventy-five papers describing his research. His work has covered a wide variety of topics, including program slicing, data-flow analysis, pointer analysis, model checking, computer security, instrumentation, language-based program-development environments, the use of program profiling in software testing, software renovation, incremental algorithms, and attribute grammars.
Susan Beth Horwitz was an American computer scientist noted for her research on programming languages and software engineering, and in particular on program slicing and dataflow-analysis. She had several best paper and an impact paper award mentioned below under awards.
Kathleen Shanahan Fisher is an American computer scientist who specializes in programming languages and their implementation.
David A. Moon is a programmer and computer scientist, known for his work on the Lisp programming language, as co-author of the Emacs text editor, as the inventor of ephemeral garbage collection, and as one of the designers of the Dylan programming language. Guy L. Steele Jr. and Richard P. Gabriel (1993) name him as a leader of the Common Lisp movement and describe him as "a seductively powerful thinker, quiet and often insulting, whose arguments are almost impossible to refute".
Mooly (Shmuel) Sagiv is an Israeli computer scientist known for his work on static program analysis. He is currently Chair of Software Systems in the School of Computer Science at Tel Aviv University, and CEO of Certora, a startup company providing formal verification of smart contracts.
Yannis Smaragdakis is a Greek-American software engineer, computer programmer, and researcher. He is a professor in the Department of Informatics and Telecommunications at the University of Athens. He is the author of more than 130 research articles on a variety of topics, including program analysis, declarative languages, program generators, language design, and concurrency. He is best known for work in program generation and program analysis and the Doop framework.
Ilya Sergey is a Russian computer scientist and an Associate Professor at the School of Computing at the National University of Singapore, where he leads the Verified Systems Engineering lab. Sergey does research in programming language design and implementation, software verification, distributed systems, program synthesis, and program repair. He is known for designing the Scilla programming language for smart contracts. He is the author of the free online book Programs and Proofs: Mechanizing Mathematics with Dependent Types, Lecture notes with exercises, which introduce the basic concepts of mechanized reasoning and interactive theorem proving using Coq.