导航:首页 > 源码编译 > 编译器商业价值

编译器商业价值

发布时间:2022-10-01 07:13:18

❶ 哪本"编译原理"的书比较好

我们学校用的是《编译原理》与《编译原理与实践》这两本书,这两本书都是国外的教材。我觉得《编译原理与实践》这本书不错,自学应该能看懂,而且代码比较多,书最后还有整个小型编译器的源代码。
编译不好学,你就慢慢学吧。

下面的资料请作参考:

当代编译技术三大圣经级别的教材

1.龙书(Dragon book)
书名是Compilers: Principles,Techniques,and Tools
作者是:Alfred V.Aho,Ravi Sethi,Jeffrey D.Ullman

内容简介
《编译原理》作者Alfred V.Aho、Ravi Sethi和Jeffrey D.Ullman是世界着名的计算机 科学家,他们在计算机科学理论、数据库等很多领域都做出了杰出贡献。《编译原理》 是编译领域无可替代的经典着作,被广大计算机专业人士誉为“龙书”。《编译原理》一 直被世界各地的着名高等院校和科研机构(如贝尔实验室、哥伦比亚大学、普 林斯顿大学和斯坦福大学等)广泛用作本科生和研究生编译原理与技术课程的 教材,《编译原理》对我国计算机教育界也具有重大影响。 书中深入讨论了编译器设计的重要主题,包括词法分析、语法分析、语法制 导分析、类型检查、运行环境、中间代码生成、代码生成、代码优化等,并在 最后两章中讨论了实现编译器的一些编程问题和几个编译器实例,而且每章都 提供了大量的练习和参考文献。

与上一版相比,《编译原理》第二版进行了全面的修订,涵盖了编译器开发方面的最新进展。每章中都提供了大量的系统及参考文献。《编译原理》是编译原理课程方面的经典教材,内容丰富,适合作为高等院校计算机及相关专业本科生及研究生的编译原理课程的教材,也是广大技术人员的极佳参考读物。

作者简介
Alfred V.Aho,美国歌伦比亚大学教授,美国国家工程院院士,ACM和IEEE会士,曾获得IEEE的冯·诺伊曼奖。着有多部算法、数据结构、编译器、数据库系统及计算机科学基础方面的着作。
Monica S.Lam,斯坦福大学计算机科学系教授,曾任Tensilica的首席科学家,也是Moka5的首任CEO。曾经主持SUIF项目,该项目产生了最流行的研究用编译器之一。
Ravi Sethi,Avaya实验室总裁,曾任贝尔实验室高级副总裁TLucent Technologies通信软件的CTO。他曾在宾夕法尼亚州立大学、亚利桑那州立大学和普林斯顿大学任教,是ACM会士。
Jeffrey D.Ullman斯坦福大学计算机科学系教授和Gradiance CEO,他的研究兴趣包括数据库理论、数据库集成、数据挖掘和利用信息基础设施教学等。他是美国国家工程院院士、IEEE会士,获得过ACM的KarIstrom杰出教育家奖和Knuth奖。
第一版中文版
第二版中文版

2.鲸书(Whale book)
书名是:Advanced Compiler Design and Implementation
作者是:Steven S.Muchnick

内容简介
本书迎接现代语言和体系结构的挑战,帮助读者作好准备,去应对将来要遇到的编译器设计的问题。
本书涵盖现代微处理器编译器的设计和实现方面的所有高级主题。本书从编译设计基础领域中的高级问题开始,广泛而深入地阐述各种重要的代码优化技术,分析各种优化之间的相对重要关系,以及实现这些优化的最有效方法。
本书特点
●为理解高级编译器设计的主要问题奠定了基础
●深入阐述优化问题
●用Sun的SPARC、IBM的POWER和PowerPC、DEC的Alpha以及Intel的Pentium和相关商业编译 器作为案例,说明编译器结构、中间代码设计和各种优化方法
●给出大量定义清晰的关于代码生成、优化和其他问题的算法
●介绍由作者设计的以清晰、简洁的方式描述算法的语言ICAN (非形式编译算法表示)。

本书是经典的编译器着作,与“龙书”齐名,称为鲸书。书中针对现代语言和体系结构全面介绍了编译器设计与实现的高级论题,从编译器的基础领域中的高级问题开始,然后深入讨论了各种重要的代码优化。本书专为编译器专业人士和计算机专业本科生,研究生编写,在设计和实现高度优化的编译器以及确定优化的重要性和实现优化的最有效的方法等方面,为读者提供了非常有价值的指导。

作者简介
Steven S.Muchnick,曾是计算机科学教授,后作为惠普的PA-RISC和SUN的SPARC两种计算机体系结构的核心开发成员,将自己的知识和经验应用于编译器设计,并担任这些系统的高级编译器设计与实现小组的领导人。他在研究和开发方面的双重经验,对于指导读者作出编译器设计决策极具价值。

3.虎书(Tiger book)
书名是:Modern Compiler Implementation in C /java /ML,Second Edition
作者是:Andrew W.Appel,with Jens Palsberg

内容简介
《现代编译原理——C语言描述(英文版)/图灵原版计算机科学系列》全面讲述了现代编译器的各个组成部分,包括:词法分析、语法分析、抽象语法、语义检查、中间代码表示、指令选择、数据流分析、寄存器分配以及运行时系统等。与大多数编译原理的教材不同,《现代编译原理——C语言描述(英文版)/图灵原版计算机科学系列》采用了函数语言和面向对象语言来描述代码生成和寄存器分配,对于编译器中各个模块之间的接口都给出了实际的 C 语言头文件。 全书分成两部分,第一部分是编译的基础知识,适用于第一门编译原理课程(一个学期);第二部分是高级主题,包括面向对象语言和函数语言、垃圾收集、循环优化、 SSA(静态单赋值)形式、循环调度、存储结构优化等。
本书是一本着名的编译原理课程的教材。国际上众多名校均采用本书作为编译原理课程的教材,包括美国麻省理工学院、加州大学伯克利分校、普林斯顿大学和英国剑桥大学等。本书在国外享有“虎书”的称号,与有“龙书”之称的《编译原理》(Alfred Aho 等编着)齐名。与编译原理方面的其他名着相比,本书出版时间晚,内容新。 书中专门为学生提供了一个用 C 语言编写的实习项目,包括前端和后端设计,学生可以在一学期内创建一个功能完整的编译器。

作者简介
Andrew W.Appel,美国普林斯顿大学计算机科学系教授,第26届ACM SIGPLAN-SIGACT程序设计原理年会大会执行主席,1998-1999年在贝尔实验室做研究工作。主要研究方向是计算机安全、编译器设计、程序设计语言等。

❷ 人工智能领域有哪几位科学家获图灵奖,他们分别为人工智能做出了什么贡献

图灵奖,是美国计算机协会(ACM)于1966年设立的,又叫“A.M. 图灵奖”,专门奖励那些对计算机事业作出重要贡献的个人。其名称取自计算机科学的先驱、英国科学家阿兰·图灵,这个奖设立目的之一是纪念这位科学家。获奖者的贡献必须是在计算机领域具有持久而重大的技术先进性的。大多数获奖者是计算机科学家。
图灵奖是计算机界最负盛名的奖项,有“计算机界诺贝尔奖”之称。图灵奖对获奖者的要求极高,评奖程序也极严,一般每年只奖励一名计算机科学家,只有极少数年度有两名以上在同一方向上做出贡献的科学家同时获奖。目前图灵奖由英特尔公司赞助,奖金为100,000美元。
每年,美国计算机协会将要求提名人推荐本年度的图灵奖候选人,并附加一份200到500字的文章,说明被提名者为什么应获此奖。任何人都可成为提名人。美国计算机协会将组成评选委员会对被提名者进行严格的评审,并最终确定当年的获奖者。
截止至2005年,获此殊荣的华人仅有一位,他是2000年图灵奖得主姚期智。
编辑本段历年图灵奖获得者
2007 Edmund M. Clarke、Allen Emerson和Joseph Sifakis
获奖原因:在将模型检查发展为被硬件和软件业中所广泛采纳的高效验证技术上的贡献。而DDJ则将三人的贡献称为“在发现计算机硬件和软件中设计错误的自动化方法方面的工作”。
2006 Fran Allen
获奖原因:对于优化编译器技术的理论和实践做出的先驱性贡献,这些技术为现代优化编译器和自动并行执行打下了基础。
2005 Peter Naur
获奖原因:由于在设计Algol60程序设计语言上的贡献。Algol60语言定义清晰,是许多现代程序设计语言的原型。
2004 Vinton G. Cerf、Robert E. Kahn
获奖原因:由于在互联网方面开创性的工作,这包括设计和实现了互联网的基础通讯协议,TCP/IP,以及在网络方面卓越的领导。
2003 Alan Kay
获奖原因:由于在面向对象语言方面原创性思想,领导了Smalltalk的开发团队,以及对PC的基础性贡献。
至理名言:预测未来的最好方法是创造它。
2002 Ronald L. Rivest、Adi Shamir、Leonard M. Adleman
获奖原因:由于在公共密钥理论和实践方面的基础性工作。
2001 Ole-Johan Dahl、Kristen Nygaard
获奖原因:由于面向对象编程始发于他们基础性的构想,这些构想集中体现在他们所设计的编程语言SIMULA I 和SIMULA 67中。
2000 Andrew Chi-Chih Yao(姚期智)
获奖原因:由于在计算理论方面的贡献而获奖,包括伪随机数的生成算法、加密算法和通讯复杂性。
1999 Frederick P. Brooks, Jr.
获奖原因:由于在计算机体系架构、操作系统以及软件工程方面所做出的具有里程碑式意义的贡献。人月神话的作者。
1998 James Gray
获奖原因:由于在数据库、事务处理研究和相关系统实现的技术领导工作。
1997 Douglas Engelbart
获奖原因:由于提出了激动人心的交互式计算机未来构想,以及发明了实现这一构想的关键技术。
1996 Amir Pnueli
获奖原因:由于在计算科学中引入temporal逻辑以及对编程和系统认证方面的杰出贡献。
1995 Manuel Blum
获奖原因:由于在计算复杂性理论、密码学以及程序校验方面的基础性贡献。
1994 Edward Feigenbaum、Raj Reddy
获奖原因:由于他们所设计和建造的大规模人工智能系统,证明了人工智能技术的重要性和其潜在的商业价值。
1993 Juris Hartmanis、Richard E. Stearns
获奖原因:由于他们的论文奠定了计算复杂性理论的基础。
1992 Butler W. Lampson
获奖原因:由于在个人分布式计算机系统及其实现技术上的贡献,这包括:工作站、网络、操作系统、编程系统、显示、安全和文档发布。
1991 Robin Milner
获奖原因:由于在可计算函数逻辑(LCF)、ML和并行理论(CCS)这三个方面突出和完美的贡献。
1990 Fernando J. Corbato'
获奖原因:由于组织和领导了多功能、大规模、时间和资源共享的计算机系统的开发。
1989 William (Velvel) Kahan
获奖原因:由于在数值分析方面的基础性贡献。
1988 Ivan Sutherland
获奖原因:由于在计算机图形学方面开创性和远见性的贡献,其所建立的技术历经二、三十年依然有效。
1987 John Cocke
获奖原因:由于在编译器设计和理论、大规模系统架构以及开发RISC等方面的重要贡献。
1986 John Hopcroft、Robert Tarjan
获奖原因:由于在算法及数据结构设计和分析方面的基础性成就。
1985 Richard M. Karp
获奖原因:由于在算法理论方面,特别是NP-completeness理论方面,连续不断的贡献。
1984 Niklaus Wirth
获奖原因:由于开发了EULER、 ALGOL-W、 MODULA和PASCAL一系列崭新的计算语言。
1983 Ken Thompson、Dennis M. Ritchie
获奖原因:由于在通用操作系统理论研究,特别是UNIX操作系统的实现上的贡献。
1982 Stephen A. Cook
获奖原因:由于其于1971年发表的论文,奠定了NP-Completeness理论的基础。
1981 Edgar F. Codd
获奖原因:由于在数椐库管理系统的理论和实践方面基础性和连续不断的贡献,关系数据库之父。
1980 C. Antony R. Hoare
获奖原因:由于在编程语言的定义和设计方面的基础性贡献。
1979 Kenneth E. Iverson
获奖原因:由于在编程语言的理论和实践方面,特别是APL,所进行的开创性的工作。
1978 Robert W. Floyd
获奖原因:由于在如何开发高效、可靠的软件方法论方面的贡献,这包括:建立分析理论、编程语言的语义学、自动程序检验、自动程序综合和算法分析在内的多项
计算机子学科。
1977 John Backus
获奖原因:由于在高级语言方面所做出的具有广泛和深远意义的贡献,特别是其在Fortran语言方面。
1976 Michael O. Rabin、Dana S. Scott
获奖原因:由于他们的论文"有限自动机与它们的决策问题",被证明具有巨大的价值。
1975 Allen Newell、Herbert A. Simon
获奖原因:由于在人工智能、人类识别心理和表处理的基础贡献。
1974 Donald E. Knuth
获奖原因:由于在算法分析和程序语言设计方面的重要贡献,计算机程序设计艺术的作者。
1973 Charles W. Bachman
获奖原因:由于在数据库方面的杰出贡献。
1972 E.W. Dijkstra
获奖原因:由于对开发ALGOL做出了原理性贡献。
1971 John McCarthy
获奖原因:由于其讲稿"The Present State of Research on Artificial
Intellegence",对人工智能领域的贡献。
1970 J.H. Wilkinson
获奖原因:由于其在数值分析方面的研究工作。
1969 Marvin Minsky
获奖原因:人工智能理论及软件
1968 Richard Hamming
获奖原因:由于其在计数方法、自动编码系统、检测及纠正错码方面的工作。
1967 Maurice V. Wilkes
获奖原因:由于设计和制造了第一台内部存储程序的计算机EDSAC。
1966 A.J. Perlis
获奖原因:由于其在先进编程技术和编译架构方面的贡献。

❸ 软件工程大一暑假应该自学点什么

C++好些。我们的项目就是C++和Java联合起来做的,C++写的是核心代码,Java做的是外围的代码。
个人觉得C++好些。
当然了,这也要看你从事的项目了。如果做网站之类的,还是用Java
一般软件C++还是比较多的
你要是仅仅说找工作,只要你把一种语言学好了,这两者差不多。
但好像C++薪水会高一些

c++是c的升级版本,增加了许多功能,debug能力也比c要突出,稳定性也比c要高,更易上手。

而java是基于c++开发的,不过将c语言的很多功能加以整合,而且有相当强大的编译器,稳定性也是最高的。java是现在最主流的语言,也是初学者最容易上手的语言。

现在来说java最最热门,商业价值最高。c语言想要搞出点名堂需要付出更多的努力。

java学好了c也难不到你,因为虽然有区别,但毕竟基本概念是一样的。

❹ 人月神话对信息系统分析与设计主要贡献

1966 A.J. Perlis
获奖原因:由于其在先进编程技术和编译架构方面的贡献。

1966 A.J. Perlis ALGOL语言和计算机科学的"催生者(ZT)

艾伦.佩利(Alan J.Perlis)由于在ALGOL语言的定义和扩充上所作出的重大贡献,以及在创始计算机科学教育,使计算机科学成为一门独立的学科上所发挥的巨大作用而成为首届图灵奖当之无愧的获得者。

佩利1922年4月1日生于美国宾夕法尼亚洲的匹兹堡。在卡内基理工学院(现卡内基-梅大学)学的专业是化学,1942年毕业取得学士学位。因当时还处于二次世界大战期间,而且在珍珠港事件后美国已宣布正式参战,因此佩利被应征入伍,在空军服役。战后他进入加州理工学院研究生院继续深造,改学数学,于1947年取得硕士学位,然后又到麻省理工学院(MIT)攻读博士学位,于1950年取得该学位。1951年他在美国陆军军械部设在马里兰州的阿伯丁试验基地内的"弹道研究实验室"(冯.诺伊曼曾在该研究实验室当顾问)干了一年,然后回到母校MIT参加"旋风"(Whirlwind)计算机计划,为"旋风"编制程序。为了说明佩利参与"旋风"计划的意义,我们先简要回顾一下计算机诞生初期的发展历史。

大家知道,世界上第一台计算机叫"ENIAC"(这是Electronic Numerical Integrator
and Computer的词头缩写,意为"电子数字积分器和计算机",是宾夕法尼亚大学莫尔学院(Moore School)根据上述阿伯丁弹道研究实验室为各种火炮计算弹道、编制射击表的需要于1943年6月与联邦政府签订10万美元的合同而研制的。项目由约翰.莫奇利(John William Mauchly,1907-1980)负责逻辑设计,伊克特(John Presper Eckert, Jr, 1919-1995)负责电路设计。ENIAC是一台十进制并行计算机,能同时处理10个十进制数,采用电子管电路,时钟频率100000Hz,加法时间0.2 ms,乘法时间2.8 ms,是一个占地1 500 ft2 (约139m2),重30t,功耗150 kW的庞然大物,于1946年2月完成,未能参加第二次世界大战,但被洛斯阿拉莫斯(Los Alamos)国家实验室用于计算原子弹爆炸的突变问题,后来又曾用于阿伯丁的空军试验场,一直运行到1955年10月才停止工作。世人一直公认莫奇利和伊克特是ENIAC 的发明者,但后来在两家计算机公司的诉讼中,法院判定他们剽窍了约翰.阿塔那索夫(John Vincent Atanasoff,1903-1995)的构思和设计。这个涉及世界上第一台电子计算机的发明权案曾经轰动美国。但有趣的是,虽然阿塔那索夫确实曾在1941年把自己关于构思计算机的设想告诉过莫厅利,后者也确实因此受到启发而写出了有关论证报告并设计出了ENIAC,但社会舆论似乎并不支持法院的判决,现在一提到ENIAC,几乎众口一词地仍然说是莫奇利和伊克特发明的,没有人说是阿塔那索夫发明的,这对美国法院的判决真是一种讽刺。
ENIAC虽然是世界上第一台电子计算机而被载入史册,但它不具备存储程序的能力,程序要通过外接电路输入。要改变程序必须改接相应的电路板,对于每种类型的题目,都要设计相应的外接插板。这不是理想的结构,不符合冯.诺伊曼早就提出的存储程序的设想。那末世界上第一台存储程序式计算机是哪一台呢?有此资料认为是前面曾经提到过的曼彻斯特大学的MARKI,但现在一般说法是英国剑桥大学威尔克斯(M.V.Wilkes,1967年图灵奖获得者)设计和完成于1949年5 月的EDSAC。实际上,最早开始设计与实施存储程序式计算机的还是莫尔学院的EDVAC(Electonic Discrete Variable Automatic Computer的词头缩写,意为"电子分离变量自动计算机"。这是1945年3月(当时ENIAC正在安装调试阶段),由冯.诺伊曼本人与莫奇利、伊克特等人经过两天会谈、讨论后制定的设计方案,采用电子管和半导体二级管,用水银延迟线作存储器,时钟频率1 MHz,字长32bit。由于ENIAC的原因,EDVAC的研制从1947年才开始,加上莫奇利和伊克特两人后来因故离开了莫尔学院,使工程遇到困难,1952年(有的资料说1951年)才完成,这才使威尔克斯的EDSAC"后来居上"(详见后面关于威尔克斯的介绍)。

但不管EDSAC也好,EDVAC也好,都是串行计算机(serial computer),即数据的传送和运算是按位逐一进行的,这样的计算机运算部件少,运算也简单,但速度慢,不能满足某些应用的需要。那末世界上第一台存储程序式的并行计算机是哪一台呢?这就是前述"旋风"计算机。 "旋风"的主要设计者和研制者是MIT的弗里斯特(Jay Wright Forrest)。弗里斯特也是受军方委托,用风洞来研究飞机稳定性时根据数据处理的需要而设计"旋风"的。"旋风" 受EDVAC的影响采用存储程序方式,但鉴于处理飞机稳定性需要2 000条以上指令,必须 改串行为并行,但又要照顾机器体积不宜过大,因此设计成16位字长的并行计算机。"旋风" 的另一项创新是采用英国曼彻斯特大学威廉斯(Frederic Calland Williams,1911-1977)发明不久的阴极射线管作内存储器。 "旋风"的研制工作从1946年开始,1950年试运行成功。
20世纪50年代冷战加剧的形势下,美国军方对"旋风"寄予极大希望,空军每年投资100万美元(试比较一下,ENIAC的总经费才10万美元),MIT也专门成立了着名的"林肯实验室",以弗里斯特原先的实验室为核心,研究"旋风"的军事应用。1951年,"旋风"与当时着名的SAGE(Semi-Automatic Ground Environment,即半自动地面防空系统,包括全美17个防区)首次实现连接,把位于卡德角的防空警戒雷达所载获的信息送到MIT,由"旋风"计算机进行处理、分析和存储。这是历史上计算机与通信相结合的先驱。弗里斯特还在20世纪40年代末和美籍华人科学家兼企业家王安(Wang An,1920-1990)几乎同时分别独立地发明了磁心存储器,并把它用在"旋风"中以代替阴极射线存储器,从而进一步大大提高了"旋风"的性能。

佩利在"旋风"上工作到1952年9月。之后他来到普渡大学,在那里他创建了全美大学中的第一个计算中心,开创了在大学中建立计算中心的先河。他出任普渡大学计算中心的第一任主任。在他的努力下,计算中心先安装了一台IBM的CPC计算机(Card Programmed Calculator),以后更新为Datatron 205。佩利为之设计了称为IT(Internal Translator)的语言,并开发了IT的编译器。1956年佩利转到卡内基理工学院,"故伎重演",又推动该校成立了计算中心并出任主任,配置了IBM 650计算机。佩利把他在普渡大学开发的IT及其编译器移植到 IBM 650上,曾经在美国许多大学的IBM 650上被广泛采用。在IT的基础上,佩利和史密斯(J. Smith)、佐轮(H. Zoren)、伊万斯(A. Evans)等人一起为IBM 650设计与开发了新的代数语言和汇编语言。这些工作奠定了佩利作为计算机程序设计语言的先行者的地位。因此,当ACM于1957年成立程序设计语言委员会以便与欧洲的同行合作,设计通用的代数语言的时候,佩利被理所当然地看作是最佳人选而被任命为这个委员会的主席。1958年,在苏黎世举行的ACM小组和以当时联邦德国的应用数学和力学协会GAMM为主的欧洲小组的联合会议上,两个小组把他们关于算法表示法的建议综合为一,形成了Algol 58 (开始时的名称叫做"国防代数语言",即International Algebraic Language,简称IAL。后来改叫Algol 58)。在Algol 58的基础上,1960年1月在巴黎举行的有全世界一流软件专家参加的讨论会上,确定 了程序设计语言 Algol 60,发表了"算法语言Algol 60报告"。1962年又发表了"算法语言Algol60的修改报告"。Algol 60是程序设计语言发展史上的一个里程碑,它标志着程序设计语言由一种"技艺"转而成为一门"科学",开拓了程序设计语言的研究领域,又为后来软件自动化的工作以及软件可靠性问题的发展奠定了基础。而后像1967年出现的首次引进"类型"的概念,把数据和被允许施行于这些数据之上的运算结合为一个统一体,因而成为现代抽象数据类型的开端以及第一个面向对象的语言SIMULA 67,1971年出现的着名的PASCAL等
语言,也都是在Algol 60的基础上加以扩充而形成的。Algol 60的主要特点有:
1.局部性 首次引进局部性概念,既扩充了语言的表达能力,又可节省内存空间,提高 < r o l i a. n e t >
程序的紧凑性。
2.动态性 语言含有动态成分,从而明显提高了语言的表达能力(当然也相应增加了实
现中的开销)。
3.递归性 递归性的引进开拓了软件的研究领域,促进了软件的发展。
4.严谨性 它的语法和语义均有严格的描述,特别是语法,采用了着名的巴克斯范式BNF, 结构清晰,理论严谨。
在Algol 58 和Algol 60的形成和修改过程中,佩利都起了核心和关键的作用。佩利之所以荣获首届图灵奖,主要就是因为他在这方面的重大贡献。
与此同时,在佩利的积极组织下,卡内基理工学院率先在大学生中开设程序设计课程。在此之前,有关程序设计的知识是作为"数值分析"课程内容的一部分予以介绍的。程序设计课的开设是计算机科学教育的开端。这引起了计算机的最大用户--美国国防部的重视,由它的高级研究计划署ARPA出面,出资资助对计算机科学及其教育立项研究,其结果是20世纪60年代中期首先在卡内基理工学院、斯坦福大学、MIT等少数几个大学建立起了计算机科学系和计算机科学研究生院,使计算机科学脱离电气工程、数学等学科而成为一门独立的学科。鉴于佩利在其中所起的巨大作用,佩利被称?quot;使计算机科学成为独立学科的奠基人"--A founding father of Computer Science as a separate discipline。而在卡内基理工学院(现卡内基-梅隆大学),佩利和西蒙(H. A. Simon)、纽厄尔(A. Newell),后二人是1975年图灵奖获得者,三人被称为"计算机系的三驾马车"。

1971年,佩利离开了卡内基-梅隆大学,加盟新成立的耶鲁大学计算机系,曾数度出任系主任,为耶鲁大学计算机系的建设和发展作出了重大贡献。其间,1977-1978年,他曾在加州理工学院执教。因此,佩利可谓"桃李满天下",尤其是美国的第一批计算机科学博士生,绝大部分都是佩利的弟子。

佩利也是计算机学术组织和学术交流活动的积极倡导者和组织者。1962-1964年他出任ACM也是由他倡议创办的,并在1958-1962年担任第一任主编。作为鸹学者,他经常到世界各国讲学或作报告,足迹遍及前苏联、丹麦、意大利、以色列、墨西哥、秘鲁、英国、荷兰、委内瑞拉……其中也曾两次到中国讲学。他也是"乒乓外交"后,最早(1972年7月)到中国访问的美国计算机科学家代表团的成员之一。

佩利说过这样一句话:"任何名词都可以变为动词"(any noun can be verbed)。他的意思是说,任何远大的理想、志向、抱负和对新事物的追求,通过努力和不懈的实践,都是可以实现的。这是佩利总结自己的一生所形成的至理名言。

佩利的主要着作有:
《对程序设计语言的思考》(A View of Programming Languages, Addison-Wesley,1970)
《计算机科学导论》(Introction to Computer Science, Harper & Row,1972,1975)
《软件可重用性》(Software Reusability,ACM Pr.,1989)

最后这部书分两卷,第一卷:概念与模型(Concepts and Models),第二卷:应用与经验(Applications andExperience),是佩利与比格斯托夫(T. J. Biggerstaff)合编的。这是他生前的最后一部着作,反映了他晚年对软件工程的关心和重视。
佩利1973年当选为美国艺术和科学院院士,1976年当选为美国工程院院士。除了获得图灵奖外,他还在1984年获得AFIPS的教育奖,曾被曾渡大学、滑铁卢大学等多所大学授予名誉博士学位。1990年2月7日,佩利因心脏病在康涅狄格洲的纽哈芬去世,享年68岁。
佩利是在1966年8月举行的ACM第21届全国大会上被授予图灵奖的。佩利发表了题为"算法系统的综合"(The Synthesis of Algorithmic Systems)的演说(刊于杂志Journal of ACM, 1967年1月,1-9页,也可见《前20年的图灵奖演说集》(ACM Turing Award Lectures--The First 20 Years:1966-1985,ACM Pr.,5-16页)。佩利发表演说的1966年,编程还要通过专门设计的"编码纸"(coding sheet)和穿孔卡片进行。但佩利的眼光已经描向未来。他在强调指出图灵计算模型的重要意义以后,讨论了程序设计语言和系统下一步应朝哪些方向发展,包括更丰富的数据类型和数据结构,以及与之相联系的更丰富的操作等。佩利所指出的方向有些已被随后的研究与开发所实现,如LISP, Smalltalk,有些则至今有待进一步的研究.

图灵奖
图灵奖,是国际计算机协会(ACM)于1966年设立的,又叫“A.M. 图灵奖”,专门奖励那些对计算机事业作出重要贡献的个人。其名称取自计算机科学的先驱、英国科学家阿兰·图灵,这个奖设立目的之一是纪念这位科学家。获奖者的贡献必须是在计算机领域具有持久而重大的技术先进性的。大多数获奖者是计算机科学家。

图灵奖是计算机界最负盛名的奖项,有“计算机界诺贝尔奖”之称。图灵奖对获奖者的要求极高,评奖程序也极严,一般每年只奖励一名计算机科学家,只有极少数年度有两名以上在同一方向上做出贡献的科学家同时获奖。目前图灵奖由英特尔公司赞助,奖金为100,000美元。

每年,美国计算机协会将要求提名人推荐本年度的图灵奖候选人,并附加一份200到500字的文章,说明被提名者为什么应获此奖。任何人都可成为提名人。美国计算机协会将组成评选委员会对被提名者进行严格的评审,并最终确定当年的获奖者。

截止至2005年,获此殊荣的华人仅有一位,他是2000年图灵奖得主姚期智。

图灵奖对获奖者的要求极高,评奖程序极严,一般每年只奖励一名计算机科学家,只有极少数年度有两名在同一方向上做出贡献的科学家同时获奖。因此,尽管“图灵”的奖金数额不算高,但它却是计算机界最负盛名的奖项,有“计算机界 诺贝尔奖 ”之称。

每年,美国计算机协会将要求提名人推荐本年度的图灵奖候选人,并附加一份200到500字的文章,说明被提名者为什么应获此奖。任何人都可成为提名人。美国计算机协会将组成评选委员会对被提名者进行严格的评审,并最终确定当年的获奖者。

图灵奖获得者:

2005 Peter Naur
获奖原因:由于在设计Algol60程序设计语言上的贡献。Algol60语言定义清晰,是许多现代程序设计语言的原型。
2004 Vinton G. Cerf、Robert E. Kahn
获奖原因:由于在互联网方面开创性的工作,这包括设计和实现了互联网的基础通讯协议,TCP/IP,以及在网络方面卓越的领导。
2003 Alan Kay
获奖原因:由于在面向对象语言方面原创性思想,领导了Smalltalk的开发团队,以及对PC的基础性贡献。
至理名言:预测未来的最好方法是创造它。
2002 Ronald L. Rivest、Adi Shamir、Leonard M. Adleman
获奖原因:由于在公共密钥理论和实践方面的基础性工作。
2001 Ole-Johan Dahl、Kristen Nygaard
获奖原因:由于面向对象编程始发于他们基础性的构想,这些构想集中体现在他们所设计的编程语言SIMULA I 和SIMULA 67中。
2000 Andrew Chi-Chih Yao(姚期智)
获奖原因:由于在计算理论方面的贡献而获奖,包括伪随机数的生成算法、加密算法和通讯复杂性。
1999 Frederick P. Brooks, Jr.
获奖原因:由于在计算机体系架构、操作系统以及软件工程方面所做出的具有里程碑式意义的贡献。人月神话的作者。
1998 James Gray
获奖原因:由于在数据库、事务处理研究和相关系统实现的技术领导工作。
1997 Douglas Engelbart
获奖原因:由于提出了激动人心的交互式计算机未来构想,以及发明了实现这一构想的关键技术。
1996 Amir Pnueli
获奖原因:由于在计算科学中引入temporal逻辑以及对编程和系统认证方面的杰出贡献。
1995 Manuel Blum
获奖原因:由于在计算复杂性理论、密码学以及程序校验方面的基础性贡献。
1994 Edward Feigenbaum、Raj Reddy
获奖原因:由于他们所设计和建造的大规模人工智能系统,证明了人工智能技术的重要性和其潜在的商业价值。
1993 Juris Hartmanis、Richard E. Stearns
获奖原因:由于他们的论文奠定了计算复杂性理论的基础。
1992 Butler W. Lampson
获奖原因:由于在个人分布式计算机系统及其实现技术上的贡献,这包括:工作站、网络、操作系统、编程系统、显示、安全和文档发布。
1991 Robin Milner
获奖原因:由于在可计算函数逻辑(LCF)、ML和并行理论(CCS)这三个方面突出和完美的贡献。
1990 Fernando J. Corbato'
获奖原因:由于组织和领导了多功能、大规模、时间和资源共享的计算机系统的开发。
1989 William (Velvel) Kahan
获奖原因:由于在数值分析方面的基础性贡献。
1988 Ivan Sutherland
获奖原因:由于在计算机图形学方面开创性和远见性的贡献,其所建立的技术历经二、三十年依然有效。
1987 John Cocke
获奖原因:由于在编译器设计和理论、大规模系统架构以及开发RISC等方面的重要贡献。
1986 John Hopcroft、Robert Tarjan
获奖原因:由于在算法及数据结构设计和分析方面的基础性成就。
1985 Richard M. Karp
获奖原因:由于在算法理论方面,特别是NP-completeness理论方面,连续不断的贡献。
1984 Niklaus Wirth
获奖原因:由于开发了EULER、 ALGOL-W、 MODULA和PASCAL一系列崭新的计算语言。
1983 Ken Thompson、Dennis M. Ritchie
获奖原因:由于在通用操作系统理论研究,特别是UNIX操作系统的实现上的贡献。
1982 Stephen A. Cook
获奖原因:由于其于1971年发表的论文,奠定了NP-Completeness理论的基础。
1981 Edgar F. Codd
获奖原因:由于在数椐库管理系统的理论和实践方面基础性和连续不断的贡献,关系数据库之父。
1980 C. Antony R. Hoare
获奖原因:由于在编程语言的定义和设计方面的基础性贡献。
1979 Kenneth E. Iverson
获奖原因:由于在编程语言的理论和实践方面,特别是APL,所进行的开创性的工作。
1978 Robert W. Floyd
获奖原因:由于在如何开发高效、可靠的软件方法论方面的贡献,这包括:建立分析理论、编程语言的语义学、自动程序检验、自动程序综合和算法分析在内的多项
计算机子学科。
1977 John Backus
获奖原因:由于在高级语言方面所做出的具有广泛和深远意义的贡献,特别是其在Fortran语言方面。
1976 Michael O. Rabin、Dana S. Scott
获奖原因:由于他们的论文"有限自动机与它们的决策问题",被证明具有巨大的价值。
1975 Allen Newell、Herbert A. Simon
获奖原因:由于在人工智能、人类识别心理和表处理的基础贡献。
1974 Donald E. Knuth
获奖原因:由于在算法分析和程序语言设计方面的重要贡献,计算机程序设计艺术的作者。
1973 Charles W. Bachman
获奖原因:由于在数据库方面的杰出贡献。
1972 E.W. Dijkstra
获奖原因:由于对开发ALGOL做出了原理性贡献。
1971 John McCarthy
获奖原因:由于其讲稿"The Present State of Research on Artificial
Intellegence",对人工智能领域的贡献。
1970 J.H. Wilkinson
获奖原因:由于其在数值分析方面的研究工作。
1969 Marvin Minsky
获奖原因:不祥
1968 Richard Hamming
获奖原因:由于其在计数方法、自动编码系统、检测及纠正错码方面的工作。
1967 Maurice V. Wilkes
获奖原因:由于设计和制造了第一台内部存储程序的计算机EDSAC。
1966 A.J. Perlis
获奖原因:由于其在先进编程技术和编译架构方面的贡献

❺ 东南大学软件学院复试题(软件工程基础知识)~~

软件工程基础_软件工程的基本概念-结构化分析方法.flv免费下载

链接:https://pan..com/s/1_Yx3QuHG9QGjW7skrl8opA

提取码:t5ci

《软件工程基础》是2006年由中国电力出版社出版的图书,作者是(意)盖伊曼德若利。本书通过严格的形式化方法和非形式化方法阐述了软件工程原则和方法的重要性,有选择地介绍了软件工程基础;强调并确定了适用于整个软件生命期的基本原则,全面而深入地介绍了这些基本原则在软件设计、规范、验证、软件生产过程和管理活动中的运用。

❻ 一直有个问题,编程语言分开源和非开源语言,那么用开源语言来写非开源程序会怎样呢

开源是指公开源代码 这两者基本没有关系。
JAVA的源代码是公开的 所以说JAVA是开源的 你用JAVA写了一个程序,如果你把源代码放到网上,你的程序就是开源的,否则就是非开源的。你用C++写的程序的源代码公开,那这个程序也是开源的。
所以没有一个会怎么样的结果。
=============================
其实我倒没听过开源语言与非开源语言这一说。
也许对于开源语言,你可以知道它的某些具体操作是怎么实现的,这样更有利于我们编写更简洁,更有效的程序。但是我们写一般的程序,甚至是做开发,我感觉这并不是十分重要。
还有一个相关的就是经济利益问题。大型公司做开发,绝对不像我们写程序一样,用盗版的集成开发环境软件(如VC),所以,用开源的语言,不用付费,会降低开发的成本。

❼ Unix是干什么用的

UNIX操作系统(尤尼斯),是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统,最早由KenThompson、Dennis Ritchie和Douglas McIlroy于1969年在AT&T的贝尔实验室开发。目前它的商标权由国际开放标准组织所拥有,只有符合单一UNIX规范的UNIX系统才能使用UNIX这个名称,否则只能称为类UNIX(UNIX-like)。


UNIX特性:

  1. UNIX系统是一个多用户,多任务的分时操作系统。

  2. UNIX的系统结构可分为三部分:操作系统内核(是UNIX系统核心管理和控制中心,在系统启动或常驻内存),系统调用(供程序开发者开发应用程序时调用系统组件,包括进程管理,文件管理,设备状态等),应用程序(包括各种开发工具,编译器,网络通讯处理程序等,所有应用程序都在Shell的管理和控制下为用户服务)。

  3. UNIX系统大部分是由C语言编写的,这使得系统易读,易修改,易移植。

  4. UNIX提供了丰富的,精心挑选的系统调用,整个系统的实现十分紧凑,简洁。

  5. UNIX提供了功能强大的可编程的Shell语言(外壳语言)作为用户界面具有简洁,高效的特点。

  6. UNIX系统采用树状目录结构,具有良好的安全性,保密性和可维护性。

  7. UNIX系统采用进程对换(Swapping)的内存管理机制和请求调页的存储方式,实现了虚拟内存管理,大大提高了内存的使用效率。

  8. UNIX系统提供多种通信机制,如:管道通信,软中断通信,消息通信,共享存储器通信,信号灯通信。

❽ 怎么使用IntelliJ IDEA 2016编写JAVA程序,编译器什么的怎么配置求解求解!

作为整个BEAWebLogicPlatform的开发环境、行数。在4,可扩充的环境和XML和WSDL语言紧密相关,它是第一个支持JavaServerPages(JSP)规格书1,能够用纯Java来开发,以及9iAS,用户可以开发出复杂的商业应用系统。IDE支持多重的JVM设置,它能够用于创建更多种类的应用,IBM公司捐出价值4,Jbuilder同时还简化了EJB的自动部署功能。JSP是一种强大的服务器端技术,不仅是运行目标它还支持编译与运行程序前后运行目标、有效的方法能够,Ant是专用于Java项目平台,集中精力专注业务逻辑,或特定的OS类型上、简化,如Unix。这种创新意味着。它的缺点显示执行结果只能是DOS字符界面;最佳业务方案",这套软件就是以其聪明的即时分析和方便的refactoring功能深获大家所喜爱。JRunPro能够在生产环境下承受大访问量的负载.0,使开发者可以专注在实际的嵌入式目标上。可视化设计器以及直观的概念。在编辑一个Ant建立XML文件时、多功能编绎器、快速开发JDBC页向导程序,它还提供了通常的监视,向导功能以及完全可自定义的用户界面。VisualAgeforJava独特的管理文件方式使其集成外部工具非常困难,选工具主要的依据自己将要从事的领域是什么,并充当插件的耦合点。VisualCafe还提供了一个扩充的源代码开发工具集、集成了J2EE和XML的开发环境、Eclipse,并可以在相同的框架内同时瞄准不同的进程或节点,并发的JVM。②构建企业级应用通过在可伸缩、内置Profiling工具。2,非平行的编码检查和创新的GUI设计器,那么当我们用调试器逐一检查应用时,为Java编程人员提供了一个新的开发环境.0的商业化产品、WebGain的VisualCafeforJavaVisualCafe是只能在Symantec公司的Java虚拟机,所有应用的创建都使用标准的J2EE组件、编写工作流,它只是包含了一个内置文件锁定系统,Java开发人员对WebSphere全套工具的感觉或许会好了许多,支持EJB的开发应用,这样。与VisualAge紧密结合的WebsphereStudio本身并不提供源代码和版本管理的支持。不管是创建门户应用。而且。8。JRun目前有3个版本、MicrosoftVJ++VisualJ++是Microsoft公司推出的可视化的Java语言集成开发环境(IDE)。如果这些互相补充的独立工具采用Eclipse扩展点彼此连接,JUnit和CVS集成、JavaWorkshop3、UDDI(UniversalDescription。③降低IT复杂性BEAWebLogicWorkshop提供各种Java控件,例如项目管理功能。Ant就不同了。NetBeans是业界第一款支持创新型Java开发的开放源码IDE,你无法让VisualAgeforJava与其他工具一起联合开发应用,较复杂,所以Java程序员对其语法相当熟悉,对机器的硬件要求较高,Symantec公司为Java开发工作提供一个在Macintosh操作系统下可以运行的RAD工具。可选task与Ant的内置task分开。Oracle9iJDeveloper的主要特点如下、更经济的维护成本,尽管它不包括对个别应用服务器的特殊支持,又保持了最大的灵活性,然后执行命令(这些命令与你在命令行敲的命令没太大区别)。IBM为建设Web站点所推出的及其包含的软件已全面转向以Java为中心,并实现了工具之间的互操作性。JDeveloper不仅仅是很好的Java编程工具、构建和调试地的周期之中。6,理解起来比较困难。所有开发人员,我们可以自动地在断点之外设置现场访问,它是用于创建复杂Web应用的一整套快速应用开发系统。6)Jbuilder拥有专业化的图形调试接口。理论上来说,VisualCafe会自动将文件存盘。Jbuilder与InpriseApplicationServer紧密集成,单独打包。JRunProUnlimited包括了所有JRunPro的功能。VisualAgeforJava作为IBM电子商务解决方案其中产品之一。开发人员可以利用业界强大的开发工具来构建桌面。这个可选包可以从你下载Ant的同一个地方下载。无论集成性。除了明显的速度提高之外,迅速完成从设计。JBuilder环境开发程序方便、linux和Windows平台,Idea支持JSP的结构。IDEA把Java开发人员从一些耗时的常规工作中解放出来。Ant支持一些可选task。因为Ant的原作者在多种(硬件)平台上开发软件时。13。这就意味着你可以很容易地通过使用OS特有的或编写新的(命令)程序扩展该工具,比make脚本来说还要好维护一些,并且与Java结合得相当好、NetBeansIDE,Sun开发出了JavaOneStudio5,能够与以前的Oracle服务器软件以及其他厂商支持J2EE的应用服务器产品相兼容、安全可靠的企业级架构上实施各种应用,支持所有主要的Webservers和计算机平台。Eclipse框架的这种灵活性来源于其扩展点,同时支持JSP调试。②配备有高速Java调试器(Debuger)。VisualCafe综合了Java软件的可视化源程序开发工具。利用Eclipse。NetBeans3,使开发人员能以更低的成本。Eclipse的最大特点是它能接受由Java开发者自己编写的开放源代码插件,它是纯的Java开发环境。缺点就是对于初学者来说,因此。对源代码的改变自动更新可视化视图;支持EJB。在可视化视图中进行的修改立即反映在源代码中,各有特点,它是CGI(CommonGatewayInterface)或Perlscripts的极佳的替代产品,适合企业的J2EE开发。Eclipse为工具开发商提供了更好的灵活性,任何开发人员都能以最大的生产效率.1基础上.0版软件。9。Studio所提供的工具有。但它的缺点也是非常明显的就是从事大规模企业级Java应用开发非常困难。ANT本身就是这样一个流程脚本引擎,包括单步执行,NetscapeEnterpriseServer,优化信息的可用性。WebLogicWorkshop的主要特点如下。这就让使用Studio的Web页面设计人员和使用VisualAge的Java程序员可以相互交换文件,也比较难、IBM的是一个非常成熟的开发工具,内置的代码库可以自动地根据用户做出改动而修改程序代码,最终被大多数不熟悉Java和J2EE的应用开发人员所掌握、门户和集成项目、服务或Web站点(包括内联网),这一新的应用程序框架能够直接访问Windows应用程序接口(API),不能进行复杂的java程序开发。Sun不久还将推出ProjectRave,从而提高了开发部门的生产力水平。在功能上与Sun公司所公布的JDK等文字模式开发工具相较之下来得容易,Ant,DiscoveryandIntegration)逗统一描述、JCreatorJCreator是一个Java程序开发工具,Idea还对组成Ant工程的XML部分提供支持,使得与IT资源的连接更轻而易举,它可以在WindowsOS和UnixOS下运行,实现了基于事件的开发。14。BEAWebLogicWorkshop是BEA的产品战略核心,为了方便人们工作而开发的,是一个相当出色的开发工具、高效。小结现在常用的Java项目开发环境有,可以快速地在表单中访问和显示数据,用户可以从一个标准对象数据库中集合完整的Java应用程序和Applet,支持利用CICS连接遗传大型机应用,可以开发基于J2ME的移动设备上的应用等。它是Java开发环境中最为有用的一个,测试等,这类似于微软公司的VisualStudio和Sun微系统公司的NetBeans平台。任何Eclipse插件定义的扩展点都能够被其它插件使用。除了解由扩展点定义的接口外,它有些类似于(Unix)C中的make。具有运行更快速,在使用这些开发工具之前,它支持最新的Java标准,使开发人员不必掌握复杂的J2EEAPI和面向对象的程序设计原理。10。除了基于JAVA是平台无关的外,支持远程调试和多线程调试,较复杂,与其它工具的完美集成,加快了价值的实现、C/,软件还支持诸如MicrosoftVisualSourceSafe这样的第三方源代码控制系统,通过调用target树,构建各种Web服务、Web或移动应用,但它的移植性较差,并成为全面支持关键企业级应用(如异步,XML和Webservices的复杂的、ForteforJava。与基于shell命令的扩展模式不同、简单。它是一种初学者很容易上手的java开发工具、标签文档,我们可以通过一个批处理同时编绎多个项目,它们可以方便地帮助用户快速地生成Java程序。Eclipse联盟已经宣布将在2004年中期发布其3,并且。3)Jbuilder支持各种应用服务器,BEAWebLogicWorkshop大大降低了开发风险,)对SUN公司的JDK作了扩展。编程工具只是工具,使单一,这也意味着你将自己限制在了特定的OS,如WebSphere,就可执行各种task。这种强大,适用于各种客户机和Web应用。VisualJ++能结合微软的一贯的编程风格,理解起来较为困难,支持ApacheSOAP。NetBeans3,它使得设置多重的自定义的类途径变得简单:智能编码辅助和自动控制,它能够运行于Java安装的平台。它包括了很多辅助的功能。一般开发J2EE项目时都需要安装各公司的应用服务器(中间件)和相应的开发工具。4)Jbuilder能用Servlet和JSP开发和调试动态Web应用、属性和控件等,项目模板功能,支持本地和远程的调试,当编辑项目的时候可以防止其他人对这些文件的错误修改,ActiveXDataObjects)来检索数据和执行简单数据的绑定:①具有UML(UnifiedModelingLanguage。集成开发环境(IDE)经常将其应用范围限定在逗开发,从而使IT部门的工作效率提高一个数量级,以便根据实际情况选择应用。通过WFC可以方便地使用ActiveX数据对象(ADO,VisualCafe将自动生成所指明关系的必要Java代码:①使J2EE开发切实可行,能够无缝化跨平台之间的应用开发,多层的Java应用程序提供了一个完全集成的开发环境、发现和集成协议地、开发到部署应用的整个过程。在修改后进行编译基继续进行调试时。VisualJ++具有下面的特点,几个编译程序和Ant建造系统,菜单中提供了在两种软件

❾ 装linux有什么用

不是DOS方式,而是一个用户shell,linux不是一个服务器
,linux也有病毒,linux并不是绝对安全
Linux是什么?

1991年,芬兰赫而辛基的学生LinusTorvalds为了自己使用与学习的需要,他开发了类似Unix且运行在80386平台上运行的操作系统,命名为Linux。为了使每个需要它的人都能够容易的得到它,LinusTorvalds把它变成了"自由"软件。

感谢Internet的飞速发展使得全世界的程序开发员有了一种全新的有效沟通方法。还要感谢在数年之前由RichardStallman主持的GNU项目。Linux在几年后变成了一个完整的操作系统。它的能量得到了释放,变得非常可靠,并且每天都会有新的改进加入进去。

为了使Linux变得容易使用,Linux也有了许多发布版本,发布版实际上就是一整套完整的程序组合。现在已经有许多不同的Linux发行版和各自的版本号,为了不产生混淆,我们先解释一些常提到的术语。

当我们提到Linux时,一般是指"RealLinux",即内核,是所有UNIX操作系统的“心脏”。但光有linux并不能成为一个可用的操作系统。还需要许多软件包,编译器,程序库文件,Xwindow系统等等。因为组合方式不同,面向用户对象不同,所以这就是为什么有许多不同的Linux发行版的原因。

Linux的特点

Linux操作系统在短短的几年之内得到了非常迅猛的发展,这与Linux具有的良好特性是分不开的。Linux包含了Unix的全部功能和特性。简单的说,Linux具有以下主要特性:

1.开放性

开放性是指系统遵循世界标准规范,特别是遵循开放系统互连(OSI)国际标准。凡遵循国际标准所开发的硬件和软件,都能彼此兼容,可方便地实现互连。

2.多用户

多用户是指系统资源可以被不同用户各自拥有使用,即每个用户对自己的资源(例如:文件、设备)有特定的权限,互不影响。Linux和Unix都具有多用户的特性。

3.多任务

多任务是现代计算机的最主要的一个特点。它是指计算机同时执行多个程序,而且各个程序的运行互相独立。Linux系统调度每一个进程,平等地访问微处理器。由于CPU的处理速度非常快,其结果是,启动的应用程序看起来好像在并行运行。事实上,从处理器执行一个应用程序中的一组指令到Linux调度微处理器再次运行这个程序之间只有很短的时间延迟,用户是感觉不出来的。

4.良好的用户界面

Linux向用户提供了两种界面:用户界面和系统调用。Linux的传统用户界面是基于文本的命令行界面,即shell,它既可以联机使用,又可存在文件上脱机使用。shell有很强的程序设计能力,用户可方便地用它编制程序,从而为用户扩充系统功能提供了更高级的手段。可编程Shell是指将多条命令组合在一起,形成一个Shell程序,这个程序可以单独运行,也可以与其他程序同时运行。
系统调用给用户提供编程时使用的界面。用户可以在编程时直接使用系统提供的系统调用命令。系统通过这个界面为用户程序提供低级、高效率的服务。Linux还为用户提供了图形用户界面。它利用鼠标、菜单、窗口、滚动条等设施,给用户呈现一个直观、易操作、交互性强的友好的图形化界面。

5.设备独立性

设备独立性是指操作系统把所有外部设备统一当作成文件来看待,只要安装它们的驱动程序,任何用户都可以象使用文件一样,操纵、使用这些设备,而不必知道它们的具体存在形式。
具有设备独立性的操作系统,通过把每一个外围设备看作一个独立文件来简化增加新设备的工作。当需要增加新设备时、系统管理员就在内核中增加必要的连接。这种连接(也称作设备驱动程序)保证每次调用设备提供服务时,内核以相同的方式来处理它们。当新的及更好的外设被开发并交付给用户时,操作允许在这些设备连接到内核后,就能不受限制地立即访问它们。设备独立性的关键在于内核的适应能力。其他操作系统只允许一定数量或一定种类的外部设备连接。而设备独立性的操作系统能够容纳任意种类及任意数量的设备,因为每一个设备都是通过其与内核的专用连接独立进行访问。
Linux是具有设备独立性的操作系统,它的内核具有高度适应能力,随着更多的程序员加入Linux编程,会有更多硬件设备加入到各种Linux内核和发行版本中。另外,由于用户可以免费得到Linux的内核源代码,因此,用户可以修改内核源代码,以便适应新增加的外部设备。

6.提供了丰富的网络功能

完善的内置网络是Linux的一大特点。Linux在通信和网络功能方面优于其他操作系统。其他操作系统不包含如此紧密地和内核结合在一起的连接网络的能力,也没有内置这些联网特性的灵活性。而Linux为用户提供了完善的、强大的网络功能。
支持Internet是其网络功能之一。Linux免费提供了大量支持Internet的软件,Internet是在Unix领域中建立并繁荣起来的,在这方面使用Linux是相当方便的,用户能用Linux与世界上的其他人通过Internet网络进行通信。
文件传输是其网络功能之二。用户能通过一些Linux命令完成内部信息或文件的传输。
远程访问是其网络功能之三。Linux不仅允许进行文件和程序的传输,它还为系统管理员和技术人员提供了访问其他系统的窗口。通过这种远程访问的功能,一位技术人员能够有效地为多个系统服务,即使那些系统位于相距很远的地方。

7.可靠的系统安全

Linux采取了许多安全技术措施,包括对读、写进行权限控制、带保护的子系统、审计跟踪、核心授权等,这为网络多用户环境中的用户提供了必要的安全保障。

8.良好的可移植性

可移植性是指将操作系统从一个平台转移到另一个平台使它仍然能按其自身的方式运行的能力。
Linux是一种可移植的操作系统,能够在从微型计算机到大型计算机的任何环境中和任何平台上运行。可移植性为运行Linux的不同计算机平台与其他任何机器进行准确而有效的通信提供了手段,不需要另外增加特殊的和昂贵的通信接口。

我们为什么要用Linux?

Linux是"免费"的,上面又有那么多"免费"的软件,为什么不用?

Windows实在太不稳定了,受不了,换个平台吧。

想学习UNIX,可是钱包里的钞票不多,先从Linux开始吧。

想学习操作系统,哪里有开放源代码的OS?而且还要很活跃,有前途的。

基于Linux的并行计算,不但费用低廉,而且功能强大,有潜力,重要的是有源代码。

想成为一名Hacker(当然是网侠一类),Linux当然是最好的工具之一。

Linux潜在的商业价值不可限量,性能相当地好,稳定性也很好,用其替换商业操作系统真是明智的选择。

Oracle,Infomix,Sysbase,IBM都支持Linux了,用其作数据库平台挺不错。烦了一次又一次去买许可证(奸商经常设这样的陷阱),Linux遵循公共版权许可证(GPL)正合我意。

Linux太适合Internet/Intranet,本身就是通过网络来协同开发的,网络时代为什么不用Linux?

采用Linux可以极大的降低拥有者总成本(TCO)。等待商业操作系统补丁的耐心是有限度的,更受不了总被商家牵着鼻子走,开放源代码的Linux至少可以使用户有一定的控制权。开放源代码使用户可以按照自己的需要添加或删除某些功能,用户可定制性,真是太好了!

利用开放源代码的Linux还可以开发路由器,嵌入式系统,网络计算机,个人数字助理等等,GNU真是巨大的知识宝库,何乐而不用?

崇尚自由软件精神和梦想,贡献自己的力量!

阅读全文

与编译器商业价值相关的资料

热点内容
5周岁看电影可以吗 浏览:900
男女亲热把房子弄倒的韩国电影 浏览:979
什么APP看台湾节目 浏览:350
csgo如何看服务器 浏览:894
有一部美国电影叫什么花? 浏览:138
命令行安装dmg 浏览:646
阿加莎无人生还电影免费观看 浏览:256
能看的那种网你知道几个 浏览:115
关闭命令在 浏览:660
吃鱼子全死了的电影 浏览:551
柬爱女老板开美容院的女主叫什么 浏览:337
在线观看地址有推荐吗 浏览:709
铁岭新玛特大地影院节目表 浏览:181
gui编程前途 浏览:641
山东学英语app软件定制哪里好 浏览:477
民国和现代来回穿越小说 浏览:692
phpwebservice搭建 浏览:253
安卓机器为什么会卡顿 浏览:881
邮政信用卡app是什么 浏览:666
怎么查以前电影的场次 浏览:465