David Ungar

Retired at Self

Mountain View, California, United States
email-iconphone-icongithub-logolinkedin-logotwitter-logostackoverflow-logofacebook-logo
Join Prog.AI to see contacts
email-iconphone-icongithub-logolinkedin-logotwitter-logostackoverflow-logofacebook-logo
Join Prog.AI to see contacts

Summary

🤩
Rockstar
🎓
Top School
David Ungar is a pioneering software researcher and engineer whose ideas underpin modern virtual machines and dynamic languages, including influential work that shaped Java and JavaScript runtimes and the Self language. With a career spanning Stanford, Sun, IBM, and Apple, he invented techniques such as dynamic optimization/deoptimization, generational GC ideas, and map-based storage that enabled high-performance, live-editable systems. A Dahl‑Nygaard and ACM Fellow honoree, he pairs deep research impact—four ACM-recognized papers—with hands-on engineering, from prototyping iOS apps to improving Swift’s compiler and debugger infrastructure. Even in retirement he continues to push language and tooling boundaries, recently contributing to swift-driver and swift-lldb for incremental compilation and debugging. Not obvious from titles alone, he also applied cartoon animation principles to UI design and built metacircular VMs and contextual programming prototypes, blending creativity with rigorous systems work.
code15 years of coding experience
job25 years of employment as a software developer
bookPh.D., Computer Science, an ACM Outstanding dissertation, Ph.D., Computer Science, an ACM Outstanding dissertation at University of California, Berkeley
bookDiploma, Diploma at Albert Einstein Senior High School
bookComputer Science, Mathematics, Computer Science, Mathematics at Montgomery County Jr. College
bookMSEE&CS, BSEE, BSAMCS, Electrical Engineering, Computer Science, Applied Math, MSEE&CS, BSEE, BSAMCS, Electrical Engineering, Computer Science, Applied Math at Wasington University, St.Louis, MO
github-logo-circle

Github Skills (14)

swift10
compiler-design10
build-system10
incremental-compiler10
c-language10
cprogramming-language10
compile-time10
incremental-builds10
lldb10
compile10
build-automation9
automated-build9
irr9
debugging9

Programming languages (5)

C++CLLVMSwiftSelf

Github contributions (5)

github-logo-circle
swiftlang/swift-driver

Oct 2019 - Jan 2022

Swift compiler driver reimplementation in Swift
Role in this project:
userBack-end Developer & Build/Release Engineer
Contributions:344 reviews, 549 commits, 303 PRs in 2 years 3 months
Contributions summary:David made several commits related to incremental compilation logic within the Swift driver, including the addition of new components and functionality for managing dependencies and build artifacts. The commits introduce new types for handling dependency information, along with methods for processing and integrating changes to ensure correct builds. The contributions focus on developing and enhancing the build process, specifically concerning incremental compilation, adding support for external module handling and improvements to ensure correctness.
driverswiftswift-compiler
apple/swift-lldb

Feb 2018 - Sep 2019

This is the version of LLDB that supports the Swift programming language & REPL.
Role in this project:
userBack-end Developer
Contributions:16 commits, 14 PRs, 5 pushes in 1 year 8 months
Contributions summary:David primarily focused on enhancing the Swift LLDB debugger. Their contributions involved modifying the Swift expression parser and the Swift AST context to accommodate batch mode changes. This included passing `PrimarySpecificPaths` to key functions like `createEmptyModule` and `IRGenModule`. Further improvements included adding and renaming parameters in diagnostic handling functions.
lldbprogramming-languageswift
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.
Request Free Trial