编译器的发展史

作者&投稿:典岸 (若有异议请与网页底部的电邮联系)
电脑软件的发展史?~

电脑软件的发展史
第一代软件(1946-1953)
第一代软件是用机器语言编写的,机器语言是内置在计算机电路中的指令,由0和1组成。
第二代软件(1954-1964)
当硬件变得更强大时,就需要更强大的软件工具使计算机得到更有效地使用。汇编语言向正确的方向前进了一大步,但是程序员还是必须记住很多汇编指令。
第三代软件(1965-1970)
在这个时期,由于用集成电路取代了晶体管,处理器的运算速度得到了大幅度的提高,处理器在等待运算器准备下一个作业时,无所事事。因此需要编写一种程序,使所有计算机资源处于计算机的控制中,这种程序就是操作系统。
第四代软件(1971-1989)
20世纪70年代出现了结构化程序设计技术,Pascal语言和Modula-2语言都是采用结构化程序设计规则制定的,Basic这种为第三代计算机设计的语言也被升级为具有结构化的版本,此外,还出现了灵活且功能强大的C语言。
第五代软件(1990-至今)
第五代软件中有三个著名事件:在计算机软件业具有主导地位的Microsoft公司的崛起、面向对象的程序设计方法的出现以及万维网(World Wide Web)的普及。

扩展资料
依据许可方式的不同,大致可将软件区分为几类:
1、专属软件:
此类授权通常不允许用户随意的复制、研究、修改或散布该软件。违反此类授权通常会有严重的法律责任。传统的商业软件公司会采用此类授权,例如微软的Windows和办公软件。专属软件的源码通常被公司视为私有财产而予以严密的保护。
2、自由软件:
此类授权正好与专属软件相反,赋予用户复制、研究、修改和散布该软件的权利,并提供源码供用户自由使用,仅给予些许的其它限制。以Linux、Firefox 和OpenOffice 可做为此类软件的代表。
3、共享软件:
通常可免费的取得并使用其试用版,但在功能或使用期间上受到限制。开发者会鼓励用户付费以取得功能完整的商业版本。根据共享软件作者的授权,用户可以从各种渠道免费得到它的拷贝,也可以自由传播它。
4、免费软件:
可免费取得和转载,但并不提供源码,也无法修改。
5、公共软件:
原作者已放弃权利,著作权过期,或作者已经不可考究的软件。使用上无任何限制。

C++是从C语言中发展而来的。C语言是1972年由美国贝尔实验室(AT&TBell)的D.M.Ritchie研制成功的。它不是为了初学者设计的,而是为计算机专业人员设计的。最初它是作为写UNIX操作系统的一种工具,在贝尔实验室内部使用。后来C语言不断改进,人们发现它功能丰富、表达能力强、使用灵活方便、应用面广、目标程序效率高、可移植性好,既具有高级语言的优点,又具有低级语言的许多优点,特别适合于写系统软件,因此C语言从实验室走向美国,从美国走向世界。到20世纪70年代,它已风靡全世界。无论是在中国还是在外国,C语言都成为了计算机开发人员的基本功。但是随着软件规模的增大,用C语言编写程序渐渐显得有些吃力了。C语言是结构化和模块化的语言,它是面向过程的。在处理较小规模的程序时,程序员用C语言还是比较得心应手。但是当问题比较复杂、程序的规模比较大时,结构化程序的设计方法就显出它的不足。为了解决软件设计的危机,在20世纪80年代,人们提出了面向对象的程序设计(object oriented programming,OOP),需要设计出能支持面向对象的程序设计方法的新的语言。在实践中,人们发现由于C语言是如此的深入人心,使用如此广泛,面对程序设计方法的革命,最好的办法不是另外发明一种语言去代替它,而是在它原有的基础上加以发展。在这种形式下,C++应运而生。C++是由贝尔实验室(AT&TBell)的Bjarne Stroustrup博士及其同事于20世纪80年代初在C语言的基础上开发成功的。AT&TBell发布的第一个Dev-C++编译系统实际上是一个预编译器(前端编译器),真正的Dev-C++程序是在1988年诞生的。C++中提供丰富的STL模板库,不仅适合算法竞赛,同样适合软件开发。

编译器编译器,是将便于人编写,阅读,维护的高级计算机语言翻译为计算机能识别,运行的低级机器语言的程序。编译器将源程序(Sourcenbsp;program)作为输入,翻译产生使用目标语言(Targetnbsp;language)的等价程序。源程序一般为高级语言(High-levelnbsp;language),如Pascal,C++等,而目标语言则是汇编语言或目标机器的目标代码(Objectnbsp;code),有时也称作机器代码(Machinenbsp;code)。一个现代编译器的主要工作流程如下:源程序(sourcenbsp;code)→预处理器(preprocessor)→编译器(compiler)→汇编程序(assembler)→目标程序(objectnbsp;code)→连接器(链接器,Linker)→可执行程序(executables)nbsp;目录nbsp;[隐藏]1nbsp;工作原理nbsp;2nbsp;编译器种类nbsp;3nbsp;预处理器(preprocessor)nbsp;4nbsp;编译器前端(frontend)nbsp;5nbsp;编译器后端(backend)nbsp;6nbsp;编译语言与解释语言对比nbsp;7nbsp;历史nbsp;8nbsp;参见nbsp;工作原理翻译是从源代码(通常为高级语言)到能直接被计算机或虚拟机执行的目标代码(通常为低级语言或机器言)。然而,也存在从低级语言到高级语言的编译器,这类编译器中用来从由高级语言生成的低级语言代码重新生成高级语言代码的又被叫做反编译器。也有从一种高级语言生成另一种高级语言的编译器,或者生成一种需要进一步处理的的中间代码的编译器(又叫级联)。典型的编译器输出是由包含入口点的名字和地址以及外部调用(到不在这个目标文件中的函数调用)的机器代码所组成的目标文件。一组目标文件,不必是同一编译器产生,但使用的编译器必需采用同样的输出格式,可以链接在一起并生成可以由用户直接执行的可执行程序。编译器种类编译器可以生成用来在与编译器本身所在的计算机和操作系统(平台)相同的环境下运行的目标代码,这种编译器又叫做“本地”编译器。另外,编译器也可以生成用来在其它平台上运行的目标代码,这种编译器又叫做交叉编译器。交叉编译器在生成新的硬件平台时非常有用。“源码到源码编译器”是指用一种高级语言作为输入,输出也是高级语言的编译器。例如:nbsp;自动并行化编译器经常采用一种高级语言作为输入,转换其中的代码,并用并行代码注释对它进行注释(如OpenMP)或者用语言构造进行注释(如FORTRAN的DOALL指令)。预处理器(preprocessor)作用是通过代入预定义等程序段将源程序补充完整。编译器前端(frontend)前端主要负责解析(parse)输入的源程序,由词法分析器和语法分析器协同工作。词法分析器负责把源程序中的‘单词’(Token)找出来,语法分析器把这些分散的单词按预先定义好的语法组装成有意义的表达式,语句nbsp;,函数等等。nbsp;例如“anbsp;=nbsp;bnbsp;+nbsp;c;”前端词法分析器看到的是“a,nbsp;=,nbsp;bnbsp;,nbsp;+,nbsp;c;”,语法分析器按定义的语法,先把他们组装成表达式“bnbsp;+nbsp;c”,再组装成“anbsp;=nbsp;bnbsp;+nbsp;c”的语句。nbsp;前端还负责语义(semanticnbsp;checking)的检查,例如检测参与运算的变量是否是同一类型的,简单的错误处理。最终的结果常常是一个抽象的语法树(abstractnbsp;syntaxnbsp;tree,或nbsp;AST),这样后端可以在此基础上进一步优化,处理。编译器后端(backend)编译器后端主要负责分析,优化中间代码(Intermediatenbsp;representation)以及生成机器代码(Codenbsp;Generation)。一般说来所有的编译器分析,优化,变型都可以分成两大类:nbsp;函数内(intraprocedural)还是函数之间(interprocedural)进行。很明显,函数间的分析,优化更准确,但需要更长的时间来完成。编译器分析(compilernbsp;analysis)的对象是前端生成并传递过来的中间代码,现代的优化型编译器(optimizingnbsp;compiler)常常用好几种层次的中间代码来表示程序,高层的中间代码(highnbsp;levelnbsp;IR)接近输入的源程序的格式,与输入语言相关(languagenbsp;dependent),包含更多的全局性的信息,和源程序的结构;中层的中间代码(middle


ERP的发展史是什么?
ERP的发展史 一、企业管理理论的发展过程: 40年代:为解决库存控制问题,人们提出了订货点法,当时计算机系统还没有出现。60年代的时段式MRP:随着计算机系统的发展,使得短时间内对大量数据的复杂运算成为可能,人们为解决订货点法的缺陷,提出了MRP理论,作为一种库存订货计划──MRP(Material Requirements Planning),即物料...

高分求高手翻译!用翻译器翻译的别来!
Hello, everyone! I'm very happy to join in this winter camp. I come from Guangdong province, China. It's a very prosperity city next to Hong Kong. The people there are having a happy and easy life for the economy develops quickly. Besides, Guangdong\/Guangzhou is a city(...

有没有把现代语转换成文言文的转换器?
有,百度文言文翻译。现今存在的可靠的将现代语转换成文言文的在线翻译器有百度翻译。它能较为准确的把您输入的现代语转换为文言文。它也可以将文言文转换成现代语,很是方便。

英译中,稍长,谢绝翻译器...2
希望能对你有帮助,相互提高 18岁时,她入读波士顿Berklee音乐学院学习作曲与编曲,当时与她成为同学的有Branford Marsalis, Kevin Eubanks, Donald Harrison以及Jeff Watts。她在一年之内就取得了毕业证并且 新泽西州的 和Dizzy Gillespie一起教了一阵音乐课。80年代和90年代早期,她还与包括Gillespie, ...

请专业人员进来翻译一下,不会的请不要进来!不要给我去什么翻译器...
1. Military Museum of the Chinese People`s Revolution opened in Beijing, the museum began to be built in 1958 and finished in 1959, it was the first special museum displaying the military historical materials, military documents and weapons after the founding of new China.2.The ...

电脑的发展史?
电脑的发展历史 电脑的学名叫计算机,电脑是用来做计算的。在古时候,人们最早使用的计算工具可能是手指,英文单词“digit”既有“数字”的意思,又有“手指“...由于集成技术的发展,半导体芯片的集成度更高,每块芯片可容纳数万乃至数百万个晶体管,并且可以把运算器和控制器都集中在一个芯片上、从而出现了微处理器,并且...

请问能帮我翻译成韩语么 但不要翻译器翻译的 谢谢啦! 因字数多分成两个...
이 얼빤한 새끼들이 朝鲜民族原本生息繁衍在中国东北的以北地区 이게< 한국 사람은 중국 동북 지역의 북쪽&...

电脑的发展历史
硬件方面,逻辑元件采用大规模和超大规模集成电路(LSI和VLSI)。软件方面出现了数据库管理系统、网络管理系统和面向对象语言等。特点是1971年世界上第一台微处理器在美国硅谷诞生,开创了微型计算机的新时代。应用领域从科学计算、事务管理、过程控制逐步走向家庭。由于集成技术的发展,半导体芯片的集成度更高...

汉字的演变 发展阶段 不同的字体大约是什么时候产生的
到了西周后期,汉字发展演变为大篆。大篆的发展结果产生了两个特点:一是线条化,早期粗细不匀的线条变得...殷代图像金文:先秦称铜为金,故铸刻在青铜器上的文字叫做金文,又叫钟鼎文、彝器款识。与甲骨文相比,...从大篆到小篆的文字变革,其在中国文字史上具有极重大的意义 4隶书 从小篆向隶书演变的第一步,最显...

计算机的发展史是什么样的
一、计算机发展史简介 人类所使用的计算工具是随着生产的发展和社会的进步,从简单到复杂、从低级到高级的发展过程,计算工具相继出现了如算盘、计算尺、手摇机械计算机、电动机械计算机等。 1946年,世界上第一台电子数字计算机(ENIAC)在美国诞生。 这台计算机共用了18000多个电于管组成,占地170m2,总重量为30t,耗电140...

两当县13996259806: 编译器的发展史 -
播松清脑: 编译器编译器,是将便于人编写,阅读,维护的高级计算机语言翻译为计算机能识别,运行的低级机器语言的程序.编译器将源程序(Sourcenbsp;program)作为输入,翻译产生使用目标语言(Targetnbsp;language)的等价程序.源程序一般...

两当县13996259806: 编译器的发展历史是怎样的呢?
播松清脑: 1999年,SGI公布了他们的一个工业化的并行化优化编译器Pro64(TM)的源代码,后被全世界多个编译器研究小组用来做研究平台进行改进,并命名为Open64

两当县13996259806: 关于编译器的产生 -
播松清脑: 编译器本身也是程序,通常也是C语言写的,世界上第一个编译器的部分内容肯定只能用机器码写...但机器码建立的一些文本处理功后,自然就用这个功能处理宏文本来代替机器码...当然第一台计算机能用一种文本语言来代替机器码,...

两当县13996259806: 世界上第一个编译器是用什么编译器编译出来的 -
播松清脑: 最初的语言 就是01代码 也就是机器语言 是不需要编译的 第一个编译器 就是这样一点点写出来的,是汇编到二进制的编译器 所以 第一个编译器本身不需要编译,直接运行即可.

两当县13996259806: 第一个 C 语言编译器是用什么语言编写的 -
播松清脑: 参考 Dennis M. Ritchie 写的 The Development of the C Language:Chistory,C 语言诞生的基本过程就是 Ken Thomson 不满意 BCPL,于是设计了 B 语言,并且用 BCPL 为 B 语言写了一个编译器,然后从这个编译器开始自举写新的 B ...

两当县13996259806: 第一个java编译器是那一年推出的 -
播松清脑: 1995年5月 jdk 就是 一个编译器 只是要手动在dos下面去编译而已 所以 java 是1995年5月发布的 同时 也发布了jdk 所以 编译器就产生了

两当县13996259806: java的编译器是哪一年推出的? -
播松清脑: 关于Sun JDK,大致可以分作如下几个阶段:*1996年1月,JDK 1.0,JDK的首个版本.*1996年12月,JDK 1.1,重写AWT(引入新的事件模型),JavaBean组件规范,inner class,math包*1998年,JDK 1.2,Swing,Java 2D,Collection Framework...

两当县13996259806: 汇编语言编译器是怎么来的? -
播松清脑: 第一个软件,显然是用机器语言写的.当用机器语言写成了文字处理软件,才能用屏幕、键盘打字.当用机器语言写成了编译软件,才能把打好的字,编译成机器码.

两当县13996259806: C#的发展历史 -
播松清脑: C#的发展史1999年,就听说微软公司在研发一种名为“cool”的新开发语言,而具体内幕一直是个谜,直到2000年6月26日微软在奥兰多举行的“职业开发人员技术大会”(PDC 2000)上,这个谜底终于揭晓了,这种新的、先进的、面向对...

两当县13996259806: 编译技术的发展和应用是什么?
播松清脑: 人们通常将其误称为优化技术(optimizationtechnique),但因其从未真正地得到过被优化了的目标代码而仅仅改进了它的有效性,因此实际上应称作代码改进技术(codeimprovementtechnique)

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网