# David Ungar

> American computer scientist

**Wikidata**: [Q5240563](https://www.wikidata.org/wiki/Q5240563)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/David_Ungar)  
**Source**: https://4ort.xyz/entity/david-ungar

## Summary
David Ungar is an American computer scientist and researcher best known for the creation of the Self programming language in 1987. He is a pioneer in the design and optimization of object-oriented programming languages, particularly through his work on dynamic typing and virtual machine performance.

## Biography
- **Born:** 1954-03-19
- **Nationality:** United States
- **Education:** University of California, Berkeley (PhD advisor: David A. Patterson)
- **Known for:** Creation of the Self programming language and research into optimizing dynamically-typed object-oriented languages.
- **Employer(s):** IBM Research, Stanford University, Apple Inc. (2017)
- **Field(s):** Computer science, artificial intelligence, object-oriented programming

## Contributions
David Ungar has made foundational contributions to the field of computer science, specifically in the implementation and optimization of programming languages. In 1987, he developed **Self**, a prototype-based object-oriented programming language that diverged from traditional class-based systems. This work provided a new model for object inheritance and served as a primary vehicle for his research into high-performance virtual machines.

Ungar is responsible for several landmark publications that addressed the performance limitations of dynamically-typed languages. His notable works include "Optimizing dynamically-typed object-oriented languages with polymorphic inline caches" and "Optimizing dynamically-dispatched calls with run-time type feedback." These papers introduced techniques to handle dynamic dispatch efficiently, which have since become standard in modern just-in-time (JIT) compilers.

Throughout his career, Ungar has held research and teaching positions at **Stanford University** and **IBM Research**, and was affiliated with **Apple Inc.** in 2017. He has also been a significant mentor in the field, serving as the doctoral advisor for influential computer scientists such as Urs Hölzle and Craig Chambers.

## FAQs
### Q: What is David Ungar's most significant contribution to programming?
A: David Ungar is most significant for creating the **Self** programming language in 1987, which introduced the prototype-based model of object-oriented programming.

### Q: What awards has David Ungar received for his work?
A: He has received several prestigious honors, including the **ACM Doctoral Dissertation Award** (1986), the **Dahl–Nygaard Prize** (2009), and was named an **ACM Fellow** in 2010.

### Q: Which major technology companies has David Ungar worked for?
A: Ungar has held positions at **IBM Research** and was affiliated with **Apple Inc.** as of 2017.

## Why They Matter
David Ungar’s work fundamentally shifted the trajectory of object-oriented language implementation. Before his research, dynamically-typed languages were often viewed as inherently slower than their statically-typed counterparts. By developing and proving the effectiveness of **polymorphic inline caches** and **run-time type feedback**, Ungar demonstrated that dynamic languages could achieve high levels of performance.

His creation of the **Self** language introduced the prototype-based paradigm, which influenced the design of several subsequent languages, most notably JavaScript. Beyond his technical artifacts, Ungar’s influence persists through his students; his mentees have gone on to lead major engineering efforts at companies like Google, applying the optimization principles Ungar pioneered to the systems that power the modern internet.

## Notable For
*   **Creator of Self:** Developed the influential prototype-based programming language in 1987.
*   **ACM Fellow (2010):** Honored for contributions to the design and implementation of object-oriented programming languages.
*   **Dahl–Nygaard Prize (2009):** Recognized for significant career impact on the field of object-orientation.
*   **Optimization Research:** Authored foundational papers on polymorphic inline caches and dynamic dispatch optimization.

## Body
### Academic Background and Early Career
*   David Ungar attended the **University of California, Berkeley**, where he studied under doctoral advisor **David A. Patterson**.
*   In 1986, he was awarded the **ACM Doctoral Dissertation Award** for his research.

### Programming Language Innovation
*   In 1987, Ungar introduced **Self**, a language that replaced classes with prototypes, allowing for a more flexible object model.
*   Self became a research platform for advanced compiler techniques, including pioneering work in just-in-time compilation.

### Research and Publications
*   Ungar focused on the field of **computer science** and **artificial intelligence**.
*   He authored "Optimizing dynamically-typed object-oriented languages with polymorphic inline caches," a key text in virtual machine optimization.
*   Another landmark work is "Optimizing dynamically-dispatched calls with run-time type feedback," which improved how software handles method calls at runtime.

### Professional Affiliations and Mentorship
*   Ungar has held roles at **Stanford University** and **IBM Research**.
*   In 2017, he was affiliated with **Apple Inc.**
*   He served as a doctoral advisor to several prominent figures, including **Urs Hölzle**, **Craig Chambers**, **Bay-Wei W. Chang**, and **Ole Agesen**.

### Honors and Recognition
*   He was named an **ACM Distinguished Member** in 2006.
*   He received the **Dahl–Nygaard Prize** in 2009.
*   On December 7, 2010, he was officially named an **ACM Fellow** for his contributions to object-oriented languages.

```json
{
  "@context": "https://schema.org",
  "@type": "Person",
  "name": "David Ungar",
  "jobTitle": "Computer Scientist",
  "worksFor": [
    {"@type": "Organization", "name": "IBM Research"},
    {"@type": "Organization", "name": "Stanford University"},
    {"@type": "Organization", "name": "Apple Inc."}
  ],
  "nationality": {"@type": "Country", "name": "United States"},
  "birthDate": "1954-03-19",
  "alumniOf": [{"@type": "EducationalOrganization", "name": "University of California, Berkeley"}],
  "knowsAbout": ["Computer Science", "Artificial Intelligence", "Programming Languages", "Self"],
  "sameAs": ["https://en.wikipedia.org/wiki/David_Ungar"],
  "description": "American computer scientist known for creating the Self programming language and pioneering optimization techniques for object-oriented languages."
}

## References

1. [Source](https://www.acm.org/media-center/2010/december/acm-names-41-fellows-from-worlds-leading-institutions)
2. Mathematics Genealogy Project
3. CiNii Research
4. [David M Ungar in U.S. Public Records Index, 1950-1993, Volume 2. Ancestry](https://search.ancestry.com/cgi-bin/sse.dll?indiv=1&dbid=1732&h=188127866)
5. Virtual International Authority File
6. Scopus
7. [Source](https://conf.researchr.org/profile/dls-2017/davidungar)
8. ResearchGate
9. Semantic Scholar
10. Microsoft Academic