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 1932) is an American mathematician, engineer, and programmer. He is known for his important work in computer science. As of 2019, he teaches Computer Science at Dartmouth College.
McIlroy is famous for suggesting Unix pipelines. These let computer programs work together, passing information from one to another. He also created many useful Unix tools. Some of these include echo, spell, diff, sort, join, and tr. Many of these tools are still used today.
He was also a pioneer in macro processors. These are tools that help extend programming languages. McIlroy helped design several important programming languages. These include PL/I, SNOBOL, and C++. His ideas about breaking software into smaller parts, called "components," were very important. This helped create modern software engineering.
Contents
About Douglas McIlroy
Douglas McIlroy earned his first degree in engineering physics. He studied at Cornell University. Later, he received his Ph.D. in applied mathematics from MIT in 1959. His advanced studies focused on solving complex math problems.
He taught at MIT from 1954 to 1958. In 1958, McIlroy joined Bell Laboratories. This was a famous research center. From 1965 to 1986, he led the Computing Techniques Research Department. This department was where the Unix operating system was created.
McIlroy also taught at Oxford University from 1967 to 1968. In 1997, he retired from Bell Labs. He then became a professor at Dartmouth College.
He also worked with the Association for Computing Machinery. This is a large group for computer professionals. He helped with their publications and awards.
Key Contributions to Computing
Douglas McIlroy made many important contributions to computer science. His work helped shape how we use computers today.
Macro Processors
McIlroy is seen as a pioneer in macro processors. In 1959, he added new features to the SAP assembler. This allowed for more flexible computer programs. His ideas helped create a tradition of using macros at Bell Labs. Macros are like shortcuts that let programmers write less code.
He also helped create the M6 macro processor. This tool was used in early versions of Unix.
Unix System Tools
Throughout the 1960s and 1970s, McIlroy created many programs. These were for the Multics and Unix operating systems. Many of these tools are still used today. They are part of the POSIX standard.
He introduced the idea of Unix pipelines. This allows simple programs to be linked together. Each program does one task, and then passes its result to the next. This makes complex tasks easier to manage.
McIlroy also created tools like diff, echo, tr, and join. The diff tool helps find differences between files. The echo tool displays text.
He also helped with the Unix manual. This manual explains how to use Unix programs. He made sure the manual was very clear and well-written. This encouraged high standards for all Unix programs.
Computer Language Design
McIlroy also influenced how programming languages were designed. He helped with the SNOBOL language. This language is good for working with text. He insisted that SNOBOL4 include a "table" type. This is like a dictionary that stores information.
In the 1960s, he helped design the PL/I programming language. He also worked on the ALTRAN language.
McIlroy also had a big impact on the C++ programming language. For example, he suggested the `<<` operator. This is used to easily print information to the screen.
Algorithms
In the 1990s, McIlroy worked on improving sorting methods. Sorting means arranging data in a certain order. He helped create a faster version of the qsort algorithm.
In 1969, he developed an efficient way to find all spanning trees in a graph. A spanning tree is a way to connect all points in a network without loops.
Awards and Honors
Douglas McIlroy has received many awards for his work. In 1995, he became a Fellow of the American Association for the Advancement of Science. This is a high honor for scientists.
In 2004, he won the USENIX Lifetime Achievement Award. He also received the Software Tools User Group (STUG) award. In 2006, he was elected to the National Academy of Engineering. This is one of the highest honors for engineers.
Views on Programming
McIlroy is known for a famous quote about programming. He said, "The real hero of programming is the one who writes negative code." This means that a great programmer can improve code by making it shorter. If you can make a program better by removing unnecessary lines, that's a big achievement. It shows that the code is more efficient and easier to understand.
See also
- Darwin (programming game)
- Homoiconicity
- Unix philosophy