# David Parnas

> Canadian software engineer

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

## Summary
David Parnas is a Canadian software engineer and computer scientist known for pioneering modular programming and software design principles. He is a pioneer in software engineering, particularly for his work on modularity and information hiding, which laid the foundation for modern software development practices. Parnas has held faculty positions at McMaster University, Carnegie Mellon University, and the University of Limerick, and has received numerous awards and honors, including the ACM Fellow distinction and honorary doctorates from prestigious institutions.

## Biography
- Born: February 10, 1941, in Plattsburgh, New York, USA
- Nationality: Canadian
- Education: Doctor of Philosophy in Computer Science from Carnegie Mellon University (1965)
- Known for: Developing modular programming principles and information hiding in software engineering
- Employer(s): McMaster University, Carnegie Mellon University, University of Limerick, Technical University of Darmstadt
- Field(s): Software engineering, computer science

## Contributions
David Parnas is best known for his foundational work in software engineering, particularly his 1972 paper "On the Criteria to Be Used in Decomposing Systems into Modules," which introduced the concept of information hiding and modularity. This work became a cornerstone of software design, influencing modern programming practices. He also co-authored the 1976 paper "A Technique for Software Module Specification with Examples," further refining modular design principles. Parnas has made significant contributions to the field through his academic leadership and publications, shaping the way software is developed and maintained.

## FAQs
**What is David Parnas known for?**
David Parnas is known for pioneering modular programming and software design principles, particularly through his work on information hiding and modularity, which laid the foundation for modern software development practices.

**Where has David Parnas worked?**
David Parnas has held faculty positions at McMaster University, Carnegie Mellon University, the University of Limerick, and the Technical University of Darmstadt.

**What awards has David Parnas received?**
David Parnas has received the ACM Fellow distinction, the Norbert Wiener Award for Social and Professional Responsibility, honorary doctorates from ETH Zürich, the Catholic University of Louvain, and the Vienna Technical University, and the Harlan D. Mills Award.

**What is David Parnas's educational background?**
David Parnas earned his Doctor of Philosophy in Computer Science from Carnegie Mellon University in 1965.

**What are David Parnas's notable publications?**
David Parnas is notable for his 1972 paper "On the Criteria to Be Used in Decomposing Systems into Modules" and the 1976 paper "A Technique for Software Module Specification with Examples," both of which are foundational works in software engineering.

## Why They Matter
David Parnas's work on modular programming and information hiding revolutionized software engineering, making systems more maintainable and scalable. His principles have become fundamental to modern software development, influencing countless projects and developers. Parnas's contributions have shaped the way software is designed and maintained, ensuring better organization and reduced complexity. His influence extends to academia, where his teachings continue to guide students and researchers in the field.

## Notable For
- Pioneer of modular programming and information hiding in software engineering
- ACM Fellow (1994)
- Recipient of the Norbert Wiener Award for Social and Professional Responsibility (1987)
- Honorary doctor of ETH Zürich (1986)
- Honorary doctor of the Catholic University of Louvain
- Honorary doctor of the Vienna Technical University
- Recipient of the Harlan D. Mills Award (1999)
- Member of the Royal Society of Canada (1992)
- Member of the Royal Irish Academy

## Body
### Early Life and Education
David Parnas was born on February 10, 1941, in Plattsburgh, New York, USA. He earned his Doctor of Philosophy in Computer Science from Carnegie Mellon University in 1965, where he was advised by Alan Perlis and Everard Mott Williams. His doctoral work laid the groundwork for his later contributions to software engineering.

### Career and Academic Leadership
Parnas held faculty positions at McMaster University, Carnegie Mellon University, the University of Limerick, and the Technical University of Darmstadt. His academic leadership and publications have had a profound impact on the field of software engineering.

### Foundational Contributions to Software Engineering
Parnas's most significant contributions include his 1972 paper "On the Criteria to Be Used in Decomposing Systems into Modules," which introduced the concept of information hiding and modularity. This work became a cornerstone of software design, influencing modern programming practices. He further refined these principles in his 1976 paper "A Technique for Software Module Specification with Examples," which provided practical techniques for software module specification.

### Awards and Honors
Parnas has received numerous awards and honors, including the ACM Fellow distinction (1994), the Norbert Wiener Award for Social and Professional Responsibility (1987), honorary doctorates from ETH Zürich (1986), the Catholic University of Louvain, and the Vienna Technical University, and the Harlan D. Mills Award (1999). He is also a member of the Royal Society of Canada (1992) and the Royal Irish Academy.

### Influence and Legacy
David Parnas's work has had a lasting impact on software engineering, shaping the way software is developed and maintained. His principles of modularity and information hiding have become fundamental to modern software development, ensuring better organization and reduced complexity. His influence extends to academia, where his teachings continue to guide students and researchers in the field. Parnas's contributions have made him a pivotal figure in the history of computer science and software engineering.

## References

1. Integrated Authority File
2. Mathematics Genealogy Project
3. [Source](https://www.computer.org/profiles/david-parnas)
4. BnF authorities
5. [Source](https://awards.acm.org/fellows/award-recipients)
6. [Source](https://inf.ethz.ch/de/departement/auszeichnungen-und-rankings/ehrendoktoren.html)
7. [Source](https://www.computer.org/volunteering/awards/mills)
8. [Mathematics Genealogy Project](http://www.genealogy.ams.org/id.php?id=86340)
9. International Standard Name Identifier
10. Virtual International Authority File
11. Freebase Data Dumps. 2013