科技: 人物 企业 技术 IT业 TMT
科普: 自然 科学 科幻 宇宙 科学家
通信: 历史 技术 手机 词典 3G馆
索引: 分类 推荐 专题 热点 排行榜
互联网: 广告 营销 政务 游戏 google
新媒体: 社交 博客 学者 人物 传播学
新思想: 网站 新书 新知 新词 思想家
图书馆: 文化 商业 管理 经济 期刊
网络文化: 社会 红人 黑客 治理 亚文化
创业百科: VC 词典 指南 案例 创业史
前沿科技: 清洁 绿色 纳米 生物 环保
知识产权: 盗版 共享 学人 法规 著作
用户名: 密码: 注册 忘记密码?
    创建新词条

历史版本2:Douglas McIlroy 返回词条

马尔科姆·道格拉斯·迈克尔罗伊(Malcolm Douglas McIlroy),著名工程师、数学家和程序员。和Ken Thompson、Dennis Ritchie一起于1969年在AT&T的贝尔实验室开发Unix系统。
目录

[显示全部]

简介回目录

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.

早期的计算机病毒回目录

在生物学领域中,病毒本来是指一类比较原始的、有生命特征的、能够自我复制和只能够在细胞内寄生的非细胞生物。但在计算机科学领域里,所谓病毒,“是指编制或者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码。”(1994年2月18日颁布的《中华人民共和国计算机信息系统安全保护条例》第二十八条)

从这个定义可以看出,计算机病毒(Computer Virus)与其他计算机程序的重要区别在于自我复制性以及它的破坏性。

实际上早在电子计算机发明以前,约翰·冯·诺依曼(John Von Neumann)就在一篇名为《复杂自动装置的理论及组识的进行》的论文里提出了可自我复制的程序的概念。顺便提一句,现在几乎所有计算机都是按照冯·诺依曼提出的构想而设计的,都属于“冯·诺依曼机”,而冯·诺依曼本人也被称为“计算机之父”。

01 John Von Neumann

冯·诺依曼,帅哥

在20世纪60年代初,美国电报电话公司(AT&T)的贝尔实验室(Bell Lab)中的三个年轻人维克多·A·维索特斯克(Victor A Vysottsky)、马尔科姆·道格拉斯·迈克尔罗伊(Malcolm Douglas McIlroy)和罗伯特·H·莫里斯(Robert “Bob”H Morris)在忙于设计和开发UNIX操作系统之余,开发了一个叫做“达尔文”(Darwin)的游戏,在一台IBM 7090计算机上运行,以模拟生物的进化过程。他们这个游戏中,应用了冯·诺依曼曾经提到过的程序自我复制的理论。后来这个程序也被称为“磁芯大战”(Core War),参与者自己撰写程序来和别人的程序争夺地盘,并且争取消灭别的程序。当时他们使用的编程语言是“Redcode”。1983年A.K.Dewdney(Alexander Keewatin Dewdney)在《科学美国人》(Scientific American) 杂志上发表了一篇名为《计算机娱乐》(Computer Recreations)的文章,把这种游戏介绍给大众。因为这种游戏只能在指定的环境中运行,因此虽然其中的某些程序具备了自我复制的能力,但是还不能称之为病毒。实际上,在他发表这篇文章的时候,“计算机病毒”这个名词还没有被发明出来呢。这个名词是直到1983年11月才首次提出的。

1983年,弗雷德·科恩(Fred Cohen)正在南加州大学(University of Southern California)攻读他的博士学位,他写出了可自我复制及感染能力的程序。他发现,这个程序能够在一个小时内传遍他的整个电脑系统,快的话只需要五分钟。11月10日他在一个电脑安全研讨会上公布了自己的研究结果,并且指出:“这一类型的程序可在电脑网络中象在电脑之间一样传播,这将给许多系统带来广泛和迅速的威胁。”他的导师艾德勒曼(Len Adleman)将这一类型的程序命名为计算机病毒。(BTW,艾德勒曼也是牛人来的。RSA加密算法中的A,就是他。)

Douglas McIlroy的梦想回目录

他在1968年关於“构件工厂”的那篇着名文章中所提出来的东西(M.Douglas McIlroy博士现在在贝尔实验室计算机科学研究中心工作,那篇文章的题目是Mass Produced Software Components, 现在还可以在http://cm.bell-labs.com/cm/cs/who/doug/components.txt找到这篇论文 译者)。STL就是这种“构件工厂”的一个范例。当然,还需要有主流的力量介入这种技术的发展之中,光靠研究机构不行,工业界应该想程序员提供组件和工具,帮助他们找到所需的组件,把组件粘合到一起,然後确定复杂度是否满足预期要求。

四十年软件工程故事 回目录

  2008年5月14-16日,在德国迷人的小镇Garmisch,举办了软件工程四十年纪念会议,Peter Naur、Brian Randell、M. Douglas McIlroy、Albert Endres、Luigi Dadda等40年前软件工程会议的关键人物重聚旧地。
  40年前的1968年,正是在此地举行的NATO(北约)科技委员会会议上,“软件工程”作为正式的术语被确定下来,标志着一个新学科的开始。 Peter Naur和Brian Randell主编的会议报告中这样写道:“我们特意选择‘软件工程’这个颇具争议性的词,是为了暗示这样一种意见:软件的生产有必要建立在某些理论基础和实践指导之上——在工程学的某些成效卓著的分支中,这些理论基础和实践指导早已成为了一种传统。”

  软件工程这个学科还很年轻,Peter Naur和Brian Randell今天依然健在。作为著名的编程语言归约BNF范式中的N,Peter Naur因设计和定义了ALGOL 60而在2005年获得图灵奖。因IBM System360的工作于1999年获得图灵奖的Fred Brooks在《人月神话》的结尾比较了化学工程和软件工程。他认为:软件系统可能是人类所创造的最错综复杂的事物,软件工程还很年轻,需要继续探索和尝试。

  这四十年的过程就是探索和尝试的过程,让我们来细细品味其中的科学精神之美。

Unix回目录

Unix系统,是一个强大的多用户、多任务操作系统,支持多种处理器架构,最早由Ken Thompson、Dennis Ritchie和Douglas McIlroy于1969年在AT&T的贝尔实验室开发。经过长期的发展和完善,目前已成长为一种主流的操作系统技术和基于这种技术的产品大家族。

由于Unix系统具有技术成熟、可靠性高、网络和数据库功能强、伸缩性突出和开放性好等特色,可满足各行各业的实际需要,特别能满足企业重要业务的需要,已经成为主要的工作站平台和重要的企业操作平台。目前每年仍以两位数字以上的速度稳步增长。

相关链接回目录

参考文献回目录

http://en.wikipedia.org/wiki/Douglas_McIlroy

→如果您认为本词条还有待完善,请 编辑词条

标签: Douglas McIlroy M.Douglas McIlroy