Douglas McIlroy

From Infogalactic: the planetary knowledge core
(Redirected from M. Douglas McIlroy)
Jump to: navigation, search
File:Dennis Ritchie (right) Receiving Japan Prize.jpeg
McIlroy (left) with former colleague Dennis Ritchie at the Japan Prize Foundation in May 2011.
Malcolm Douglas McIlroy
Born 1932 (age 85–86)
Alma mater Cornell University (B.S., Engineering Physics, 1954)
Massachusetts Institute of Technology (Ph.D., Applied Mathematics, 1959)
Occupation mathematician, engineer, programmer
Known for Unix pipelines, software componentry, spell, diff, sort, join, graph, speak, tr

Malcolm Douglas McIlroy (born 1932) is a mathematician, engineer, and programmer. As of 2007 he is an Adjunct Professor of Computer Science at Dartmouth College. McIlroy is best known for having originally developed Unix pipelines, software componentry and several Unix tools, such as spell, diff, sort, join, graph, speak, and tr.

His seminal work on software componentization[1] makes him a pioneer of component-based software engineering and software product line engineering.


McIlroy earned his Bachelor's degree in engineering physics from Cornell University in 1954, and a Ph.D. in applied mathematics from MIT in 1959 for his thesis On the Solution of the Differential Equations of Conical Shells. He taught at MIT from 1954 to 1958.

McIlroy joined Bell Laboratories in 1958, from 1965 to 1986 was head of its Computing Techniques Research Department (the birthplace of the Unix operating system), and thereafter was Distinguished Member of Technical Staff.

From 1967 to 1968, McIlroy also served as a visiting lecturer at Oxford University.

In 1997, McIlroy retired from Bell Labs, and took a position as an Adjunct Professor in the Dartmouth College Computer Science Department.


McIlroy is a member of the National Academy of Engineering, and has won both the USENIX Lifetime Achievement Award ("The Flame") and its Software Tools award. He has previously served the Association for Computing Machinery as national lecturer, Turing Award chairman, member of the publications planning committee, and associate editor for the Communications of the ACM, the Journal of the ACM, and ACM Transactions on Programming Languages and Systems. He also served on the executive committee of CSNET.

Views on computing

McIlroy is attributed the quote "The real hero of programming is the one who writes negative code," where the meaning of negative code is taken to be similar to the famous Apple developer team anecdote [2] (i.e., when a change in a program source makes the amount of lines of code decrease ('negative' code), while its overall quality, readability or speed improves).


  • Those types are not "abstract"; they are as real as int and float.
  • As a programmer, it is your job to put yourself out of business. What you do today can be automated tomorrow.
  • Keep it simple, make it general, and make it intelligible.
  • The real hero of programming is the one who writes negative code.

See also


  1. McIlroy, Malcolm Douglas (January 1969). "Mass produced software components" (PDF). Software Engineering: Report of a conference sponsored by the NATO Science Committee, Garmisch, Germany, 7-11 Oct. 1968. Scientific Affairs Division, NATO. p. 79. 
  2. "MacPaint and QuickDraw Source Code — How do you measure programmer productivity?". Computer History Museum. 

External links