kids encyclopedia robot

Douglas McIlroy facts for kids

Kids Encyclopedia Facts
Quick facts for kids
Malcolm Douglas McIlroy
Douglas McIlroy.jpeg
McIlroy at the Japan Prize Foundation in 2011
Born (1932-04-24) April 24, 1932 (age 93)
Newburgh, New York
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.

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

Images for kids

kids search engine
Douglas McIlroy Facts for Kids. Kiddle Encyclopedia.