Douglas McIlroy
American computer scientist, mathematician, engineer, and programmer
About Douglas McIlroy
Born 1932. Douglas McIlroy is an American mathematician, engineer, programmer, university teacher and computer scientist, known for Diff, Echo (command) and Join (Unix).
Malcolm Douglas McIlroy (born April 24, 1932) is an American computer scientist, mathematician, and programmer. As of 2019 he is an Adjunct Professor of Computer Science at Dartmouth College. McIlroy is best known for having originally proposed Unix pipelines and developed several Unix tools, such as echo, spell, diff, sort, join, graph, speak, and tr. and code reuse 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. In 1959, together with Douglas E. Eastwood of Bell Labs, he introduced conditional and recursive macros into popular SAP assembler, creating what is known as Macro SAP. His 1960 paper was also seminal in the area of extending any (including high-level) programming languages through macro processors. McIlroy's macro processing ideas were also the main inspiration for TRAC macro processor.
He also coauthored M6 macro processor in FORTRAN IV, which was used in ALTRAN ) and Unix operating systems (such as diff, echo, tr, join and look ), versions of which are widespread to this day through adoption of the POSIX standard and Unix-like operating systems. He introduced the idea of Unix pipelines.
McIlroy also took over from Dennis Ritchie compilation of the Unix manual "as a labor of love". Particularly, he edited volume 1 of the manual pages for Version 7 Unix. According to Sandy Fraser: "The fact that there was a manual, that he [McIlroy] insisted on a high standard for the manual, meant that he insisted on a high standard for every one of the programs that was documented".
Computer language design McIlroy influenced the design and implementation of SNOBOL programming language. His string manipulation macros were used extensively in the initial SNOBOL implementation of 1962, and figured prominently in subsequent work, eventually leading to its machine-independent implementation language SIL. The table type (associative array) was added to SNOBOL4 on McIlroy's insistence in 1969.
In 1960s, he participated in the design of PL/I programming language. He was a member of the IBM–SHARE committee that designed the language and, together with Robert Morris, wrote the Early PL/I (EPL) compiler in TMG for the Multics project.
Around 1965, McIlroy, together with W. Stanley Brown, implemented the original version of ALTRAN programming language for IBM 7094 computers.
Algorithms In the 1990s, McIlroy worked on improving sorting techniques, particularly he co-authored an optimized qsort with Jon Bentley.
In 1969, he contributed an efficient algorithm to generate all spanning trees in a graph (first discovered by George J. Minty in 1965).
Darwin In 1961, together with Victor A. Vyssotsky and Robert Morris, McIlroy co-created Darwin, the first programming game, on an IBM 7090 at Bell Labs.
Awards and recognition In 1995, he was elected as a Fellow of the American Association for the Advancement of Science. In 2004, he won both the USENIX Lifetime Achievement Award ("The Flame") and its Software Tools User Group (STUG) award. In 2006, he was elected as a member of the National Academy of Engineering.
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, Bill Atkinson, team anecdote (i.e., when a change in a program source makes the number of lines of code decrease ('negative' code), while its overall quality, readability or speed improves).
Don’t just read it —
keep it.
Full-length biographies made to live with: read them, listen on the way to work, watch them tonight.
- E-book
- Audio
- Video
Instant download · yours to keep · every purchase keeps this site free
Important facts
more
Software componentry, Sort (Unix), Tr (Unix), Unix manual, Unix philosophyPeople in Douglas McIlroy's life
Named in this biography and alive at the same time
Contemporaries
People whose lives overlapped Douglas McIlroy's
Frequently asked questions
Who is Douglas McIlroy?
American computer scientist, mathematician, engineer, and programmer
When was Douglas McIlroy born?
Douglas McIlroy was born on 24 April 1932 in Newburgh.
What is Douglas McIlroy's occupation?
Douglas McIlroy is a mathematician, engineer, programmer, university teacher and computer scientist.
What is Douglas McIlroy known for?
Douglas McIlroy is known for Diff, Echo (command), Join (Unix), Macro (computer science), Pipeline (Unix) and RUNOFF.
What nationality is Douglas McIlroy?
Douglas McIlroy is American.
Sources & further reading
Cite this page
APA: Biography.guide. (2026). Douglas McIlroy. https://biography.guide/douglas-mcilroy/
MLA: "Douglas McIlroy." Biography.guide, https://biography.guide/douglas-mcilroy/.
Chicago: "Douglas McIlroy." Biography.guide. https://biography.guide/douglas-mcilroy/.
Data last updated: 2026-09-21 · Spot an error? Report a correction.
Portrait: Wikimedia Commons · author & licence
Page generated 2026-09-27 05:00 UTC