Dave Parnas
Here is a comprehensive profile of David Lorge “Dave” Parnas (born February 10, 1941) — a pioneering figure in software engineering and modular design.
Introduction
David Lorge Parnas is a distinguished software engineer, computer scientist, and educator, best known for defining the concept of information hiding in modular program design. His ideas have profoundly shaped how we build large, maintainable, reliable software systems. Although often referred to (e.g. “Dave Parnas”), his full name is David Parnas.
Early Life, Background & Education
-
David Parnas was born on February 10, 1941, in Plattsburgh, New York, U.S.
-
He completed his PhD in Electrical Engineering / Computer Science at Carnegie Mellon University, working under advisors such as Alan Perlis and Everard Mott Williams.
-
Over his career, he has held academic posts at institutions including the University of Victoria, McMaster University, Queen’s University, the University of Limerick, University of North Carolina, and Technische Universität Darmstadt.
Career & Contributions
Information Hiding & Modular Design
Parnas’s most famous contribution is his 1972 seminal paper, “On the Criteria To Be Used in Decomposing Systems into Modules”, where he proposed information hiding as a guiding principle for dividing software into modules: each module should hide design decisions and expose only necessary, minimal interfaces.
This concept laid foundational work for later ideas of encapsulation, cohesion, and loose coupling in software design. Even though the terms “cohesion” and “coupling” were not used in his original formulation, his prescriptions align with those later-coined principles.
Software Engineering Advocacy & Ethics
-
Parnas has been a strong advocate for treating software development with engineering discipline: precise specification, documentation, modular structure, and accountability.
-
In the 1980s, he publicly criticized the U.S. Strategic Defense Initiative (“Star Wars”) on the basis that the complexity and unreliability of software systems made it implausible to build a trustworthy defense shield.
-
He has also critiqued academic evaluation metrics that overemphasize publication counts rather than substantive contribution. In his 2007 paper “Stop the Numbers Game”, he warned that overreliance on metrics can stifle meaningful research.
Influence & Recognition
-
Parnas has received many honors, such as ACM “Best Paper” awards (1979), the Norbert Wiener Award for Social and Professional Responsibility (1987), and multiple “Most Influential Paper” awards in software engineering conferences.
-
He holds fellowships and honorary doctorates from prestigious institutions (ETH Zürich, Vienna University of Technology, among others) and is a Fellow of the Royal Society of Canada, ACM, IEEE, and Gesellschaft für Informatik.
Personality, Philosophy & Style
-
Parnas is known for intellectual rigor and principled stances: he is willing to take controversial public positions (e.g. on “Star Wars” software feasibility) based on his professional judgment.
-
He values clarity, precision, and accountability in software — viewing software design not as art or craft alone, but as an engineered discipline.
-
His critiques of academic norms reflect a willingness to question institutional incentives and prioritize substance over metrics.
Selected Quotes & Insights
Here are a few illustrative statements attributed to Parnas:
“As a rule, software systems do not work well until they have been used, and have failed repeatedly, in real applications.”
“Whenever anyone says, ‘theoretically,’ they really mean, ‘not really.’”
“There are no standards for computer programmers and no group to certify them … Yet when someone builds you a software program … your safety may be just as dependent upon that software working as it is upon the bridge supporting your weight.”
“My judgment is that research in ‘Star Wars’ is going to fail … I’m willing to stake my professional reputation on this.”
These reflect his pragmatism, skepticism of overclaims, and emphasis on grounding theory in real systems.
Lessons from David Parnas’s Life & Work
From Parnas’s career, several lessons emerge for software engineers, technologists, and researchers:
-
Design with information hiding in mind
Concealing internal decisions and exposing minimal interfaces fosters robust, evolvable systems. -
Ground theory in practice
Even the most elegant ideas must be tested in real deployments; repeated failures often reveal true constraints. -
Prioritize documentation & transparency
Code alone is not enough — clear specification, contracts, and documentation matter deeply. -
Challenge institutional incentives
Don’t uncritically follow metrics or norms; judge quality on lasting influence, not per-year output. -
Stand by engineering realities
Claiming what is not achievable (especially for political or funding reasons) risks undermining trust and safety. -
Be courageous in critique
Parnas’s willingness to critique ambitious projects (like SDI) from his domain expertise is a model for responsible technical citizenship.
Conclusion
David “Dave” Parnas remains a towering figure in software engineering: not for flashy products, but for shaping how we think about modularity, accountability, and the ethics of software in society. His work on information hiding has permeated programming languages, system architecture, and engineering education. Beyond technical contributions, his public stances exemplify how engineers can influence policy, ethics, and professional norms.