David Parnas

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

David Parnas
Born (1941-02-10) February 10, 1941 (age 85)
Plattsburgh, New York, United States
Known forInformation hiding, Strategic Defense Initiative activism
Scientific career
Doctoral advisorAlan Perlis
Everard Mott Williams
Doctoral studentsRichard J. Lipton
Steven M. Bellovin

David Lorge Parnas (born February 10, 1941) is a Canadian early pioneer of software engineering, who developed the concept of information hiding in modular programming, which is an important element of object-oriented programming today. He is also noted for his advocacy of precise documentation.

Parnas earned his PhD at Carnegie Mellon University in electrical engineering. Parnas also earned a professional engineering license in Canada and was one of the first to apply traditional engineering principles to software design. He worked there as a professor for many years. He also taught at the University of North Carolina at Chapel Hill (U.S.), at the Department of Computer Science of the Technische Universität Darmstadt (Germany), the University of Victoria (British Columbia, Canada), Queen's University in Kingston, Ontario, McMaster University in Hamilton, Ontario, and University of Limerick (Ireland).

David Parnas received a number of awards and honors:

Modular design

[edit | edit source]

In modular design, his double dictum[citation needed] of high cohesion within modules and loose coupling between modules is fundamental to modular design in software. However, in Parnas's seminal 1972 paper On the Criteria to Be Used in Decomposing Systems into Modules, this dictum is expressed in terms of information hiding, and the terms cohesion and coupling are not used. [3]

Technical activism

[edit | edit source]

Dr Parnas took a public stand against the US Strategic Defense Initiative (also known as "Star Wars") in the mid 1980s, arguing that it would be impossible to write an application of sufficient quality that it could be trusted to prevent a nuclear attack.[4] He has also been in the forefront of those urging the professionalization of "software engineering" (a term that he characterizes as "an unconsummated marriage"[5]). Dr. Parnas is also a heavy promoter of ethics in the field of software engineering.

Stance on academic evaluation methods

[edit | edit source]

Parnas has joined the group of scientists which openly criticize the number-of-publications-based approach towards ranking academic production. On his November 2007 paper Stop the Numbers Game,[6] he elaborates on several reasons on why the current number-based academic evaluation system used in many fields by universities all over the world (be it either oriented to the amount of publications or the amount of quotations each of those get) is flawed and, instead of contributing to scientific progress, it leads to knowledge stagnation.

Bibliography

[edit | edit source]
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).

See also

[edit | edit source]

References

[edit | edit source]
  1. ^ RSC Fellow search, retrieved 2018-01-04.
  2. ^ GI-Fellow citation Archived 2011-08-13 at the Wayback Machine, retrieved 2012-03-09.
  3. ^ Parnas 1972.
  4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).

Further reading

[edit | edit source]
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
[edit | edit source]

Lua error in Module:Authority_control at line 153: attempt to index field 'wikibase' (a nil value).