Douglas McIlroy facts for kids
Quick facts for kids
Malcolm Douglas McIlroy
|
|
---|---|
![]() McIlroy at the Japan Prize Foundation in 2011
|
|
Born | Newburgh, New York
|
April 24, 1932
Alma mater | Cornell University (B.S., 1954) Massachusetts Institute of Technology (Ph.D., 1959) |
Known for | Macros, Unix pipelines, Unix philosophy, software componentry, echo, diff, sort, join, RUNOFF, tr, Unix manual |
Scientific career | |
Fields | Computer science, mathematics, engineering |
Thesis | On the Solution of the Differential Equations of Conical Shells (1959) |
Doctoral advisors | Eric Reissner |
Malcolm Douglas McIlroy, born in 1932, is an American mathematician, engineer, and computer programmer. As of 2019, he teaches computer science at Dartmouth College.
He is famous for suggesting "Unix pipelines," which help computer programs work together. He also created many important tools for the Unix operating system, like 'echo,' 'spell,' 'diff,' and 'sort.' McIlroy was also a leader in developing "macro processors" and making programming languages more flexible. He helped design many well-known programming languages, including PL/I, SNOBOL, and C++.
His ideas about breaking software into smaller parts (like building blocks) and reusing code were very important. This made him a pioneer in how software is built today.
Contents
Malcolm McIlroy's Early Life and Career
McIlroy earned his first degree in engineering physics from Cornell University. Later, he received his Ph.D. in applied mathematics from MIT in 1959. His Ph.D. paper was about solving equations for conical shells.
He taught at MIT from 1954 to 1958.
Working at Bell Laboratories
In 1958, McIlroy joined Bell Laboratories, a famous research company. From 1965 to 1986, he led the Computing Techniques Research Department. This department was where the Unix operating system was created. After that, he became a Distinguished Member of Technical Staff.
From 1967 to 1968, McIlroy also taught as a visiting lecturer at Oxford University.
In 1997, McIlroy retired from Bell Labs. He then became a professor at the Dartmouth College Computer Science Department.
He also served the Association for Computing Machinery (ACM) in many roles. He was a national lecturer and helped with publications for the ACM's journals.
Key Contributions to Computer Science
McIlroy made many important contributions to how computers work and how programs are made.
Developing Macro Processors
McIlroy is seen as a pioneer in "macro processors." In 1959, he helped add special features to a program called SAP. These features allowed for more complex and reusable code.
His 1960 paper was very important for extending programming languages using macro processors. These ideas influenced many programming tools at Bell Labs. McIlroy also helped create the M6 macro processor, which was used in early versions of Unix.
Contributions to Unix
Throughout the 1960s and 1970s, McIlroy created programs for the Multics and Unix operating systems. These included tools like 'diff', 'echo', 'tr', and 'join'. Versions of these tools are still widely used today.
He introduced the idea of Unix pipelines. This allows different computer programs to work together by sending their output to each other.
McIlroy also helped create the TMG compiler-compiler. This was the first high-level programming language to run on Unix. It influenced the development of other important languages like B and tools like Yacc.
He also took over the job of putting together the Unix manual. This manual explained how to use all the Unix programs. He made sure the manual had very high standards, which meant the programs themselves had to be good too.
Designing Computer Languages
McIlroy influenced the design of the SNOBOL programming language. His ideas for handling text were used in its first version in 1962. He also insisted that a special data type called "table" be added to SNOBOL4 in 1969.
In the 1960s, he helped design the PL/I programming language. He was part of the committee that created it. He also helped write an early compiler for PL/I for the Multics project.
Around 1965, McIlroy helped create the first version of the ALTRAN programming language.
McIlroy also had a big impact on the design of the C++ programming language. For example, he suggested using the `<<` symbol for sending output to the screen.
Improving Computer Algorithms
In the 1990s, McIlroy worked on making sorting techniques better. He helped create an improved version of the `qsort` algorithm with Jon Bentley.
In 1969, he also contributed an efficient way to find all "spanning trees" in a graph.
Awards and Recognition
McIlroy has received several awards for his work.
- In 1995, he was chosen as a Fellow of the American Association for the Advancement of Science.
- In 2004, he won the USENIX Lifetime Achievement Award.
- In 2006, he became a member of the National Academy of Engineering.
Malcolm McIlroy's Views on Computing
McIlroy is known for the quote: "The real hero of programming is the one who writes negative code." This means that a great programmer is someone who can make a program better by actually reducing the number of lines of code. This happens when they make the code simpler, clearer, or faster, even if it means deleting old parts.
See also
In Spanish: Douglas McIlroy para niños
- Unix philosophy