Malcolm Douglas McIlroy (born 1932) is a mathematician, engineer, and programmer. As of 2007 he is an Adjunct Professor of Computer Science at Dartmouth College. Dr. McIlroy is best known for having originally developed the Unix pipeline implementation, software componentry and several Unix tools, such as spell, diff, sort, join, graph, speak, and tr.
His seminal work on software componentization makes him a pioneer of component-based software engineering and software product line engineering.
Dr. McIlroy earned his Bachelor's degree in engineering physics from Cornell University in 1954, and a Ph.D. 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 Unix 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 Engineering, and has won both the USENIX Lifetime Achievement Award ("The Flame") and its Software Tools award. He has previously served the Association for Computing Machinery as national lecturer, Turing Award 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 CSNET.
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.
2008年5月14-16日,在德国迷人的小镇Garmisch,举办了软件工程四十年纪念会议,Peter Naur、Brian Randell、M. Douglas McIlroy、Albert Endres、Luigi Dadda等40年前软件工程会议的关键人物重聚旧地。
40年前的1968年,正是在此地举行的NATO(北约)科技委员会会议上,“软件工程”作为正式的术语被确定下来,标志着一个新学科的开始。 Peter Naur和Brian Randell主编的会议报告中这样写道:“我们特意选择‘软件工程’这个颇具争议性的词,是为了暗示这样一种意见:软件的生产有必要建立在某些理论基础和实践指导之上——在工程学的某些成效卓著的分支中,这些理论基础和实践指导早已成为了一种传统。”