Malcolm Douglas McIlroy is a
mathematicianA mathematician is a person whose primary area of study is the field of mathematics. Mathematicians are concerned with quantity, structure, space, and change....
,
engineerAn engineer is a professional practitioner of engineering, concerned with applying scientific knowledge, mathematics and ingenuity to develop solutions for technical problems. Engineers design materials, structures, machines and systems while considering the limitations imposed by practicality,...
, and
programmerA programmer, computer programmer or coder is someone who writes computer software. The term computer programmer can refer to a specialist in one area of computer programming or to a generalist who writes code for many kinds of software. One who practices or professes a formal approach to...
. As of 2007 he is an Adjunct Professor of
Computer ScienceComputer science or computing science is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems...
at
Dartmouth CollegeDartmouth College is a private, Ivy League university in Hanover, New Hampshire, United States. The institution comprises a liberal arts college, Dartmouth Medical School, Thayer School of Engineering, and the Tuck School of Business, as well as 19 graduate programs in the arts and sciences...
. Dr. McIlroy is best known for having originally developed
Unix pipelinesIn Unix-like computer operating systems , a pipeline is the original software pipeline: a set of processes chained by their standard streams, so that the output of each process feeds directly as input to the next one. Each connection is implemented by an anonymous pipe...
, software componentry and several
UnixUnix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...
tools, such as
spellSpell is the standard English language spell checker for Unix.Spell was originally written by Stephen C. Johnson of Bell Labs in 1975. Douglas McIlroy later improved its accuracy, performance, and memory use, and described his work and spell in general in his 1982 paper .Spell has a simple...
,
diffIn computing, diff is a file comparison utility that outputs the differences between two files. It is typically used to show the changes between one version of a file and a former version of the same file. Diff displays the changes made per line for text files. Modern implementations also...
,
sortsort is a standard Unix command line program that prints the lines of its input or concatenation of all files listed in its argument list in sorted order. Sorting is done based on one or more sort keys extracted from each line of input. By default, the entire input is taken as sort key...
, join, graph,
speakspeak was a Unix utility that used a predefined set of rules to turn a file of English text into phoneme data compatible with a Federal Screw Works model VS4 "Votrax" Speech Synthesizer. It was first included in Unix v3 and possibly later ones, with the OS-end support files and help files...
, and
trtr is a command in Unix-like operating systems.When executed, the program reads from the standard input and writes to the standard output. It takes as parameters two sets of characters, and replaces occurrences of the characters in the first set with the corresponding elements from the other set...
.
His seminal work on software componentization, makes him a pioneer of
component-based software engineeringComponent-based software engineering is a branch of software engineering that emphasizes the separation of concerns in respect of the wide-ranging functionality available throughout a given software system...
and software product line engineering.
Dr. McIlroy earned his
Bachelor's degreeA bachelor's degree is usually an academic degree awarded for an undergraduate course or major that generally lasts for three or four years, but can range anywhere from two to six years depending on the region of the world...
in engineering physics from
Cornell UniversityCornell University is an Ivy League university located in Ithaca, New York, United States. It is a private land-grant university, receiving annual funding from the State of New York for certain educational missions...
in 1954, and a
Ph.D.Doctor of Philosophy, abbreviated as Ph.D., PhD, D.Phil., or DPhil , in English-speaking countries, is a postgraduate academic degree awarded by universities...
in applied mathematics from MIT in 1959 for his thesis
On the Solution of the Differential Equations of Conical Shells. He joined Bell Laboratories in 1958, from 1965-1986 was head of its Computing Techniques Research Department (the
birthplace of the
UnixUnix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...
operating system), and thereafter was Distinguished Member of Technical Staff. He retired from Bell Labs in 1997, and currently serves as an Adjunct Professor in the Dartmouth College Computer Science Department.
He is a member of the
National Academy of EngineeringThe National Academy of Engineering is a government-created non-profit institution in the United States, that was founded in 1964 under the same congressional act that led to the founding of the National Academy of Sciences...
, and has won both the
USENIX-External links:* *...
Lifetime Achievement Award ("The Flame") and its Software Tools award. He has previously served the
Association for Computing MachineryThe Association for Computing Machinery is a learned society for computing. It was founded in 1947 as the world's first scientific and educational computing society. Its membership is more than 92,000 as of 2009...
as national lecturer,
Turing AwardThe Turing Award, in full The ACM A.M. Turing Award, is an annual award given by the Association for Computing Machinery to "an individual selected for contributions of a technical nature made to the computing community. The contributions should be of lasting and major technical importance to the...
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
CSNETThe Computer Science Network was a computer network that began operation in 1981 in the United States. Its purpose was to extend networking benefits, for computer science departments at academic and research institutions that could not be directly connected to ARPANET, due to funding or...
.
Quotes
- 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
- Darwin (programming game)
Darwin was a programming game invented in August 1961 by Victor A. Vyssotsky, Robert Morris Sr., and M. Douglas McIlroy. The game was developed at Bell Labs, and played on an IBM 7090 mainframe there...
- Early PL/I (EPL)
- Homoiconicity
In computer programming, homoiconicity is a property of some programming languages, in which the primary representation of programs is also a data structure in a primitive type of the language itself, from the Greek words homo meaning the same and icon meaning representation...
- Hunt-McIlroy algorithm
The Hunt–McIlroy algorithm is a solution to the longest common subsequence problem. It was one of the first non-heuristic algorithms used in diff...
External links