主题:[转帖]《UNIX编程环境》摘抄
UNIX操作系统已有十多年的历史了,但目前运行UNIX的计算机数量的增长远比以往快得多。对于一个设计初衷并没有考虑市场目标或意图的系统而言,它取得了异乎寻常的成功。
UNIX在商业上的成功的主要原因也许是它的可移植性--即除了编译器和小部分内核程序之外,所有的程序都可不经修改的运行在任何计算机上。那些在计算机上运行UNIX软件的制造商只需要少量的工作就可让系统运行在计算机上。那些在其计算机上运行UNIX软件的制造商只需要少量的工作就可让系统运行在新的硬件上,并可从拓展UNIX程序的商业市场方面受益。
但UNIX系统早在它取得商业上的成功之前就很受欢迎,甚至在它还只是运行在PDP-11上时就如此了。1974年Ritchie和thompson发表在CACM上的论文引起了学术界的注意,到1975年第6版系统便在各大学盛行。整个70年代中期对UNIX的了解是通过口头传播的:尽管系统不被支持并且没有保证,但使用它的人们依然热情十足地说服别人去尝试,一旦人们试图通过它之后,便往往喜欢上了它。UNIX获得目前的成功的另一个原因,是那些使用过学院UNIX系统的那一代程序员现在期望在他们工作的地方也有UNIX环境。
首先,它为什么这么受欢迎?最主要的因素是该系统是由两个极赋天才的人设计并构件的,他们的唯一目的是创建一个便于程序开发的环境,而且他们也有完成该设想的自由。没有市场的压力,早期的系统小得足以令一个人明白和理解。John Lions曾在澳大利亚的新南威尔士大学为本科生的操作系统课程讲授第6版的UNIX内核,他在讲义中写到:“……整个文档可合理地携带在学生的公文包中”。
在早期的系统中封装了许多计算机科学中很富有创造性的应用,包括流处理机制(管道)、正则表达式、语言原理(lex、yacc等)和更多的诸如diff算法这样的特定实例,把它们都绑在一起就是一个“即使在大系统的操作系统中也很少见到的功能”的内核。
....
再次,分段完成工作。先建立有用的最简单的程序,扩展提高而不仅仅是往其中添加。扩展程序建立的好的话,这样的程序往往又可成为常用工具箱的一部分。
....
所以尽管UNIX已开始显露人到中年的某些征兆,但它依然富有朝气并获得了广泛的欢迎。而这种欢迎可以追溯到1969年那几个人的清晰思路,他们在黑板上画出了一个舒适的编程环境的设计概图。尽管当初他们并没有料到他们的系统会广泛应用到成千上万台计算机上,但整整一代程序员却很乐意它能够如此。
UNIX在商业上的成功的主要原因也许是它的可移植性--即除了编译器和小部分内核程序之外,所有的程序都可不经修改的运行在任何计算机上。那些在计算机上运行UNIX软件的制造商只需要少量的工作就可让系统运行在计算机上。那些在其计算机上运行UNIX软件的制造商只需要少量的工作就可让系统运行在新的硬件上,并可从拓展UNIX程序的商业市场方面受益。
但UNIX系统早在它取得商业上的成功之前就很受欢迎,甚至在它还只是运行在PDP-11上时就如此了。1974年Ritchie和thompson发表在CACM上的论文引起了学术界的注意,到1975年第6版系统便在各大学盛行。整个70年代中期对UNIX的了解是通过口头传播的:尽管系统不被支持并且没有保证,但使用它的人们依然热情十足地说服别人去尝试,一旦人们试图通过它之后,便往往喜欢上了它。UNIX获得目前的成功的另一个原因,是那些使用过学院UNIX系统的那一代程序员现在期望在他们工作的地方也有UNIX环境。
首先,它为什么这么受欢迎?最主要的因素是该系统是由两个极赋天才的人设计并构件的,他们的唯一目的是创建一个便于程序开发的环境,而且他们也有完成该设想的自由。没有市场的压力,早期的系统小得足以令一个人明白和理解。John Lions曾在澳大利亚的新南威尔士大学为本科生的操作系统课程讲授第6版的UNIX内核,他在讲义中写到:“……整个文档可合理地携带在学生的公文包中”。
在早期的系统中封装了许多计算机科学中很富有创造性的应用,包括流处理机制(管道)、正则表达式、语言原理(lex、yacc等)和更多的诸如diff算法这样的特定实例,把它们都绑在一起就是一个“即使在大系统的操作系统中也很少见到的功能”的内核。
....
再次,分段完成工作。先建立有用的最简单的程序,扩展提高而不仅仅是往其中添加。扩展程序建立的好的话,这样的程序往往又可成为常用工具箱的一部分。
....
所以尽管UNIX已开始显露人到中年的某些征兆,但它依然富有朝气并获得了广泛的欢迎。而这种欢迎可以追溯到1969年那几个人的清晰思路,他们在黑板上画出了一个舒适的编程环境的设计概图。尽管当初他们并没有料到他们的系统会广泛应用到成千上万台计算机上,但整整一代程序员却很乐意它能够如此。