




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
编程语言发展史,-沈桂松,2018-07,1,.,编程语言,编程语言(programminglanguage),是用来定义计算机程序的形式语言。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。,2,.,编程语言历史,低级语言时代高级语言时代面向对象时代,3,.,低级语言时代(19461953),4,.,1.天书-机器语言,程序员们将用0,1数字编成的程序代码打在纸带或卡片上,1打孔,0不打孔,光电阅读机将记录在穿孔卡片上数据读入计算机,计算的结果则利用打孔机在卡片上打出的一些小孔,就表示输出的数据。卡片上的小孔就组成了计算机和专家明白但绝大多数人不明白的天书机器语言,也就是完全用0,1代码写的程序。,5,.,2.汇编语言,由于机器语言的难易理解,莫奇莱等人开始想到用助记符来代替0,1代码,于是汇编语言出现了,6,.,高级语言时代(1954至今),随着世界上第一个高级语言fortran的出现,新的编程语言开始不断涌现出来。各有特色,各有优势,随着时间的检验,一些流行至今,一些则逐渐消失,BASIC,Pasca,C#,python,7,.,1.第一个高级语言-fortran,1951年:美国IBM公司约翰贝克斯(JohnBackus)针对汇编语言的缺点着手研究开发FORTRAN语言。1954年:约翰贝克斯在纽约正式对外发布,称为FORTRAN,FORTRAN功能简单,但它的开创性工作,在社会上引起了极大的反响。1957年:第一个FORTRAN编译器在IBM704计算机上实现,并首次成功运行了FORTRAN程序。,8,.,2.第一个结构化程序设计语言-ALGOL,ALGOL美l:l是算法语言(ALGOrithmicLanguage)的简称,是在计算机发展史上首批清晰定义的高级语言,由欧美计算机学家合力所组成的联席大会于仍是晶体管计算机流行的1950年代所开发国际计算机学会(ACM)将ALGOL模式列为算法描述的标准,启发ALGOL类现代语言Pascal、Ada、C语言等出现。由于ALGOL语句和普通语言表达式接近,更适于数值计算,所以ALGOL多用于科学计算机,9,.,3.最简单的语言-BASIC,1964年BASIC语言正式发布。是由达特茅斯学院院长、匈牙利人约翰凯梅尼(JohnG.Kemeny)与数学系教师托马斯卡茨(ThomasE.Kurtz)共同研制出来的。第一个BASIC程序在1964年5月1日早上4时,由BASIC编译程序进行编译后成功运行。该语言只有26个变量名,17条语句,12个函数和3个命令这门语言叫做“初学者通用符号指令代码”BeginnersAllpurposeSymbolicIntructionCode,10,.,4.编程语言里一个重要的里程碑-Pascal,Pascal美pskl基于ALGOL编程语言,为纪念法国数学家、哲学家、电脑先驱布莱兹帕斯卡而命名。它由瑞士NiklausWirth教授于六十年代末设计并创立的。Pascal主要特点有:严格的结构化形式;丰富完备的数据类型;运行效率高;查错能力强,可以被方便地用于描述各种算法与数据结构有益于培养良好的程序设计风格和习惯Pascal是一个重要的里程碑结构化程序设计概念的语言,11,.,5.现代程序语言革命的起点-C,20世纪60年代,美国AT&T公司贝尔实验室(AT&TBellLaboratory)的研究员KenThompson闲来无事,手痒难耐,想玩一个他自己编的,模拟在太阳系航行的电子游戏SpaceTravel。他背着老板,找到了台空闲的机器PDP-7。但这台机器没有操作系统,而游戏必须使用操作系统的一些功能,于是他着手为PDP-7开发操作系统。后来,这个操作系统被命名为UNIX。1970年,美国贝尔实验室的KenThompson,以BCPL语言为基础,设计出很简单且很接近硬件的B语言(取BCPL的首字母)。并且他用B语言写了第一个UNIX操作系统。1971年,同样酷爱SpaceTravel的DennisM.Ritchie为了能早点儿玩上游戏,加入了Thompson的开发项目,合作开发UNIX。他的主要工作是改造B语言,使其更成熟。1972年,美国贝尔实验室的D.M.Ritchie在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言。,C,12,.,两个绝顶聪明的男人,13,.,面向对象时代(90年代初至今),面向对象程序设计(Object-OrientedProgramming,简称OOP)是一种起源于六十年代的Simula语言,发展已经将近三十年的程序设计思想。其自身理论已经十分完善,并被多种面向对象程序设计语言实现。,14,.,常见的面向对象编程语言,VBBasic的继续DelphiPascal的继续C+C语言扩展VC+BorlandC+BuilderQtJava最为流行的面向对象语言C#新一代的面向对象语言,C#,python,15,.,2018年6月编程语言排行榜TIOBEIndexforJune2018,16,.,1.Java,Java是由SunMicrosystems于1995年推出的高级编程语言。Java之父詹姆斯高斯林。Java目前霸占着企业级应用市场,一部分移动开发(J2ME)和web开发,但是Java在客户端的图形接口方面失败连连,从Applet、AWT到Swing,Java似乎一直无法为客户端提供堪用的解决方案,以致不断败退,造成了目前在客户端使用Java应用程序的应用系统仍然非常稀少。使用者排名第一,17,.,2、C和C+仍然是嵌入式开发和系统给开发的利器。操作系统、驱动程序、各种游戏大都是他们的开发的地位不可替代,3、C#用来做WEB、桌面、控制台等程序都可以,和java类似。迅速崛起,4、VB、delphi擅长于快速的桌面程序开发,数据库开发,例如进销存软件逐渐下滑,5、其他:perl、python、ruby,jsp,javascript,php等等也占据了一定的市场,18,.,未来,编程语言的发展趋势,19,.,动态化计算机能够处理的事交给计算机处理声明式及函数式编程风格告诉计算机What而不是How并发编程多核时代的必然要求,观点来自AndersHejlsberg编程语言的发展趋势及未来方向的讲座,20,.,总体向支持动态、声明式、并发支持,易于使用的多范式语言发展。一些语言会同时支持面向对象、面向过程、动态、声明、函数式以及并发编程。,未来计算机编程语言特点,21,.,作为一名准码农值得我们关注的一些编程语言,动态语言(脚本语言)pythonrubyperlgroovyscalalua,22,.,作为一名准码农值得我们关注的一些编程语言,纯函数式语言haskellF#lispscheme,23,.,作为一名准码农值得我们关注的一些编程语言,支持函数式编程的语言scalapython,适合儿童使用的编程语言LOGO语言Scratch语言,24,.,作为一名中国准码农也有必
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 云南省宜良县2025年上半年事业单位公开遴选试题含答案分析
- 河北省容城县2025年上半年公开招聘城市协管员试题含答案分析
- 河北省康保县2025年上半年公开招聘城市协管员试题含答案分析
- 2025年度智能穿戴设备采购订货合同
- 2025多人共建养老养生项目合伙协议书
- 2025年度创新型基础设施建设项目全过程工程造价咨询合同
- 2025年度港口码头视频监控技术服务合同
- 2025年度道路拓宽工程打桩劳务分包合同(含交通疏导)
- 2025版时尚杂志图文设计制作服务协议
- 2025年度健康养老产业入股投资合同
- 《大学生军事理论教程》第三章
- 园林植物栽培实验课件
- 焊接专业安全技术交底
- 洁净区人员行为规范培训PPT
- 黄遵宪年谱长编(上下册):国家社科基金后期资助项目
- 均值X-R极差分析控制图(自动测算表)
- 体力劳动工作管理程序
- GB/T 28181-2022公共安全视频监控联网系统信息传输、交换、控制技术要求
- GB/T 40549-2021焦炭堆积密度小容器测定方法
- GB/T 39616-2020卫星导航定位基准站网络实时动态测量(RTK)规范
- GB/T 17395-2008无缝钢管尺寸、外形、重量及允许偏差
评论
0/150
提交评论