编程语言简史课件_第1页
编程语言简史课件_第2页
编程语言简史课件_第3页
编程语言简史课件_第4页
编程语言简史课件_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

引言编程语言在短短50多年的时间里竟然出现了2500多种

很多语言相互借鉴,关系错综复杂

引言编程语言在短短50多年的时间里竟然出现了很多语言相互借鉴1远古时代(1614—1945)

此后300多年的时间,人们制作了许多各式各样的计算机器,原始而又笨拙。这个时期没有真正意义上的计算机,当然,也没有任何编程语言的存在1614年苏格兰人John

Napier提出了用机器计算的理论远古时代(1614—1945)此后300多年的时间,人们制2低级语言时代(1946—1953)低级语言时代(1946—1953)3光电阅读机将记录在穿孔卡片上数据读入计算机,计算的结果则利用打孔机在卡片上打出的一些小孔,就表示输出的数据。卡片上的小孔就组成了计算机和专家明白但绝大多数人不明白的天书——机器语言,也就是完全用0,1代码写的程序。1、天书——机器语言光电阅读机将记录在穿孔卡片上数据读入计算1、天书——机器语言42、汇编语言由于机器语言的难易理解,莫奇莱等人开始想到用助记符来代替0,1代码,于是汇编语言出现了2、汇编语言由于机器语言的难易理解,莫奇莱5section.data

msgdb"Hello,world!",0xA

lenequ$-msg

; 字串长度section.text

; 代码段声明

global_start

; 指定入口函数

_start:

; 在屏幕上显示一个字符串

movedx,len

; 参数三:字符串长度

movecx,msg; 参数二:要显示的字符串

movebx,1

; 参数一:文件描述符(stdout)

moveax,4

; 系统调用号(sys_write)

int0x80

; 调用内核功能

movebx,0

; 参数一:退出代码

moveax,1

; 系统调用号(sys_exit)

int0x80

; 调用内核功能section.data

msgd6高级语言时代(1954—1995)随着世界上第一个高级语言fortran的出现,新的编程语言开始不断涌现出来。各有特色,各有优势,随着时间的检验,一些流行至今,一些则逐渐消失高级语言时代(1954—1995)随着世界上第一个高级语言71、FORTRAN问世1957年世界上第一个高级语言—FORTRAN

开发成功。FORTRAN取的是FORmulaTRANslator两个单词前几个字母拼成的。意思是公式翻译语言作者是约翰·巴库斯(JohnBackus)1、FORTRAN问世1957年世界上第一个高级语言—FO8编程语言简史ppt课件92、第一个结构化的语言1960:

ALGOL:第一个结构化程序设计语言推出ALGOL这个名称是算法语言的简称,是纯粹面向描述计算过程的,也就是所谓面向算法描述的ALGOL是第一个清晰定义的语言,其语法是用严格公式化的方法说明的Algol60是程序设计语言发展史上的一个里程碑,它标志着程序设计语言成为一门独立的科学学科2、第一个结构化的语言1960:

ALGOL:第一个结构化103、最简单的语言—BASIC

1964年美国达特茅斯学院的两个教员(约翰.凯梅尼(J.Kemeny)和托马斯·卡茨(T.Kurtz))开发了basic语言该语言只有26个变量名,,17条语句,12个函数和3个命令这门语言叫做初学者通用符号指令代码”——BeginnersAllpurposeSymbolicIntructionCode

3、最简单的语言—BASIC

1964年美国达特茅斯学院的11编程语言简史ppt课件124、被遗忘的PASCAL1967年Niklaus

Wirth开始开发PASCAL语言,1971年完成。主要特点有:严格的结构化形式;丰富完备的数据类型;运行效率高;查错能力强,可以被方便地用于描述各种算法与数据结构有益于培养良好的程序设计风格和习惯PASCAL是一个重要的里程碑结构化程序设计概念的语言4、被遗忘的PASCAL1967年Niklaus

Wirth135、两个聪明绝顶的人5、两个聪明绝顶的人146、王者初现6、王者初现151975年Bill

Gates和Paul

Allen完成了第一个在MITS

的Altair计算机上运行的BASIC程序。之后,比尔盖茨和保罗艾伦逐步建立起了微软帝国。计算机语言方面的贡献则是开发了一些语言的编译环境以及整个.net架构

1975年Bill

Gates和Paul

Allen完成了第16编程语言简史ppt课件17编程语言简史ppt课件187、王者的对手7、王者的对手191983年PhilippeKahn(菲利普·卡恩)和AndersHejlsberg(安德斯·海尔斯伯格,)在美国加州的ScottsValley成立Borland公司,从事软件开发,自此也拉开了和微软长达20年的对抗。1983年PhilippeKahn(菲利普·卡恩)和20第一回合:编译器之争编译器的作用是把某种语言写的代码转变为机器语言,从而能够让计算机识别并运行。第一个高级语言的作者设计fortran时就说过语言设计很容易,但是写编译器却是非常困难第一回合:编译器之争编译器的作用是把某种语言写的代码转变为机21Tuibopascal borland的第一个组品。获得极好的声誉Microsoftbasic 靠basic起家的微软也推出了qbasic, 但是反响不是很好。Turboc:最熟悉的编译工具Micorsoftc 对于c的编译器,仍是borland技高一筹 ,占领了大部分市场份额。Tuibopascal22面向对象时代(1995—今)面向对象程序设计(Object-OrientedProgramming,简称OOP)是一种起源于六十年代的Simula语言,发展已经将近三十年的程序设计思想。其自身理论已经十分完善,并被多种面向对象程序设计语言实现面向对象时代(1995—今)面向对象程序设计(Object231、第二回合:IDE之争IDE(IntegratedDevelopEnvironment)是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具。就是集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫做集成开以环境1、第二回合:IDE之争IDE(IntegratedD24VB—basic的继续微软采用QuickBASIC的语法,引入事件驱动,开发了一个IDE产品,这个产品最终被定名为VisualBasicVB支持拖拽,可视化的编程环境,并支持动态调试。提出了RAD(rapidapplicationdevelop(快速应用开发))的概念

于91年发布1.0版。VB—basic的继续微软采用QuickBASIC的25DELPHI—pascal的继续borland以pascal语言为主体,并进行改造,加入面向对象的一些思想,于95年发布了delphi1.0。delphi和VB一样拥有可视化编程环境,事件驱动等功能,而且编译速度更快。DELPHI—pascal的继续borland以pascal26编程语言简史ppt课件27c++的IDEBorlandC++:EugeneWang设计,曾经占到了C、C++市场的绝大部分微软的VisualC++:开始版本完全败给了borland但是后续版本逐渐赢回了市场份额。

c++的IDEBorlandC++:282、太阳的光辉—Java就在VB和delphi难解难分的时候,以生产服务器和工作站为主的SUN公司无意中开发的java语言随着网络的普及迅速发展起来。各个软件公司很快意识到这门语言的发展前景,于是纷纷跟进,推出相关的IDE2、太阳的光辉—Java就在VB和delphi难解难分的时29Symantec的VisualCaféBorland的功臣之一EugeneWang由于和菲利普不和出走赛门铁克。之后为其开发出VisualCafé,由于是第一个java开发环境,很快占领了市场,并广受好评EugeneWang后来离开赛门铁克,VisualCafé的后续开发也就逐渐下滑,导致了最后的失败Symantec的VisualCaféBorland的功臣30Micorsoft的VJ++Anders在delphi如日中天的时候,却逐渐失去了在小组的领导地位。然后成功被微软挖走,推出了VJ++。VJ++各方面相当出色,但是由于微软对java标准进行了修改,引起了sun的不满,而且用户也担心标准不一致会影响使用,所以VJ++并没有获得太大的成功Micorsoft的VJ++Anders在delphi如日31Sun的SUNWorkshop不论在功能、执行效率方面都比不上竞争对手,而且小问题一大堆慢慢地退出了Java开发工具的市场Sun的SUNWorkshop不论在功能、执行效率方面都32IBM的VisualageforJava执行最为缓慢的Java开发工具,但是在高阶功能方面的表现却是遥遥领先所有的竞争对手但是随着JBulider和Visualcafé的夹击,也慢慢退出了市场IBM的VisualageforJava执行最为缓慢的33Borland的JBuilderBorland是最后一个推出javaIDE的公司,但初始版本表现很差。后来软件天才BlakeStone加入到JBuilder小组。从而后续版本极大改善并且一举击败所有对手,占据了java市场。正在borland为java的胜利欢呼的时候,IBM的Eclipse出现了Borland的JBuilderBorland是最后一个推343、日食—eclipseEclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,支持Java开发、C开发、插件开发,它提供建造块和构造并运行集成软件开发工具的基础3、日食—eclipseEclipse是一个开放源代码的、35编程语言简史ppt课件36NetbeansSun后来也推出了一个免费javaIDE:Netbeans目前eclipse最受欢迎,JBuilder和Netbeans也占据了一部分市场NetbeansSun后来也推出了一个免费javaIDE:374、微软的反击2000年,微软启动.NET战略,其目标是希望帮助用户,能够在任何时候、任何地方、利用任何工具都可以获得网络上的信息,并享受网络通信所带来的快乐Anders被任命为微软.NET的首席架构师,主持.NET的开发工作,并几乎一手开发了c#.net架构包括:C#,A,VB.net等一系列的新语言。以求和java全面抗衡4、微软的反击2000年,微软启动.NET战略,其目标是希望38一颗新星——c#C#充分借鉴了C和java的语言,甚至照搬了C的部分语法几乎集中了所有关于软件开发和软件工程研究的最新成果。面向对象、类型安全、组件技术、自动内存管理、跨平台异常处理、版本控制、代码安全管理……C#程序需要.NET运行库作为基础一颗新星——c#C#充分借鉴了C和java的语言,甚至照搬395、另附:web编程语言用于网站开发和网页控制的编程语言,包括php,asp,jsp和一些脚本语言(vbscript和javascript)5、另附:web编程语言用于网站开发和网页控制的编程语言,包40JSPJSP(JavaServerPages,Java服务器页面)是在SunMicrosystems公司的倡导下,由许多公司共同参与建立的一种新的动态网页技术标准,它在动态网页的建设方面具有强大而特殊的功能JSPJSP(JavaServerPages,Java服41未来时代动态语言——Python和Ruby汉语编程未来时代动态语言——Python和Ruby汉语编程42动态语言,是指程序在运行时可以改变其结构新的函数可以被引进,已有的函数可以被删除等在结构上的变化动态语言的类型检查是在运行时做的静态类型语言的类型判断是在运行前判断动态语言,是指程序在运行时可以改变其结构动态语言的类型检查是43Ruby,一种为简单快捷面向对象编程开发,于1993年2月24日开始编写Ruby,直至1995年12月才正式公开发布,Ruby是一个语法像Smalltalk一样完全面向对象、脚本执行、又有Perl强大的文字处理功能的编程语言*运算符重载*自动垃圾回收*弱类型(动态类型|标量变量)*变量无需声明(不必事先宣告变量)*在Windows上,加载DLL*巨大的标准库(函式库;Library)Ruby,一种为简单快捷面向对象编程开发,*运44计算“1+2+3+...+100”

sum=0

foriin1..100

sum+=i

end

print"1+2+3+...+100=",sum,"n"计算“1+2+3+...+100”45易语言是由大连大有吴涛易语言软件有限责任公司自主研发的国产化汉语编程软件。是2005年国家火炬计划项目之一,是一种全中文全可视跨平台的编程语言环境易语言是由大连大有吴涛易语言软件有限责任46.局部变量

文本,

文本型

.局部变量

返回文本,

文本型

.判断循环首

(整数

0)

文本

文本

字符

(取代码

(“0”,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论