打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
编程语言发展

一、计算机语言分类

1、机器语言

   缺点可读性差,不易记忆;编写程序既难又繁,容易出错;程序调试和修改难度巨大,不容易掌握和使用。机器语言直接依赖于中央处理器,所以用某种机器语言编写的程序只能在相应的计算机上执行,无法在其他型号的计算机上执行,也就是说,可移植性差。

2、汇编语言

   为了减轻使用机器语言编程的痛苦,20世纪50年代初,出现了汇编语言。汇编语言用比较容易识别、记忆的助记符替代特定的二进制串。例如使用ADD来替代加法的二进制指令。通过这种助记符,人们就能较容易地读懂程序,调试和维护也更方便了。但这些助记符号计算机无法识别,需要一个专门的程序将其翻译成机器语言,这种翻译程序被称为汇编程序。尽管汇编语言比机器语言方便,但汇编语言仍然具有许多不便之处,程序编写的效率远远不能满足需要,而且可移植性差。

3、早期高级语言

   1954年,第一个高级语言—FORTRAN问世了。高级语言与自然语言和数学表达式相当接近,不依赖于计算机型号,通用性较好。高级语言的使用,大大提高了程序编写的效率和程序的可读性。与汇编语言一样,计算机无法直接识别和执行高级语言,必须翻译成等价的机器语言程序(称为目标程序)才能执行。高级语言源程序翻译成机器语言程序的方法有“解释”和“编译”两种。解释方法采用边解释边执行的方法。编译方法采用相应语言的编译程序,先把源程序编译成指定机型的机器语言目标程序,然后再把目标程序和各种标准库函数连接装配成完整的目标程序,在相应的机型上执行。

4、结构化高级语言

   高级语言编写程序的编写效率虽然比汇编语言高,但随着计算机硬件技术的日益发展,人们对大型、复杂的软件需求量剧增,而同时因缺乏科学规范、系统规划与测试,程序含有过多错误而无法使用,甚至带来巨大损失。20世纪60年代中后期“软件危机”的爆发,使人们认识到大型程序的编制不同于小程序。“软件危机”的解决一方面需要对程序设计方法、程序的正确性和软件的可靠性等问题进行深入研究,另一方面需要对软件的编制、测试、维护和管理方法进行深入研究。结构化程序设计是一种程序设计的原则和方法。它讨论了如何避免使用GOTO语句;如何将大规模、复杂的流程图转换成一种标准的形式,使得它们能够用几种标准的控制结构(顺序、分支和循环)通过重复和嵌套来表示。C语言就是一种结构化语言。

   但是,到了20世纪70年代末期,随着计算机应用领域的不断扩大,对软件技术的要求越来越高,结构化程序设计语言和结构化程序设计方法又无法满足用户需求的变化了,其缺点也日益显露出来:

   (1)代码的可重用性差。

   (2)可维护性差。

   (3)稳定性差。

   (4)难以实现。

   人的思维焦点通常是在于事物和实体,以及它们的属性和活动,比如说当考虑会计部门的应用程序时,我们会考虑下列内容:出纳支付工资;职工出具凭证;财务主管批准支付;出纳记账。但实际应用中,要决定如何通过数据结构、变量和函数来实现这个应用程序却是很困难的。

5、面向对象语言

   结构化程序设计方法与语言是面向过程的,存在较多的缺点,同时程序的执行是流水线式的,在一个模块被执行完成前,不能干别的事,也无法动态地改变程序的执行方向。这和人们日常认识、处理事物的方式不一致。人们认为客观世界是由各种各样的对象(或称实体、事物)组成的;每个对象都有自己的内部状态和运动规律,不同对象间的相互联系和相互作用构成了各种不同的系统,进而构成整个客观世界;计算机软件主要就是为了模拟现实世界中的不同系统,如物流系统、银行系统、图书管理系统、教学管理系统等。因此,计算机软件可以认为是,现实世界中相互联系的对象所组成的系统,在计算机中的模拟实现。

   为了使计算机更易于模拟现实世界,1967年挪威计算中心开发出了Simula67语言,它提供了比子程序更高一级的抽象和封装,引入了数据抽象和类的概念,被认为是第一个面向对象程序设计语言。它对后来出现的面向对象语言,如C++、Java、C#产生了深远的影响。

   随着面向对象语言的出现,面向对象程序设计方法也应运而生且得到迅速发展,面向对象的思想也不断向其他方面渗透。1980年GradyBooch提出了面向对象设计的概念,之后面向对象分析的概念也被提出。面向对象程序设计在软件开发领域掀起了巨大的变革,极大地提高了软件开发效率。

6、脚本语言

   脚本语言是为了缩短传统的编写-编译-链接-运行(edit-compile-link-run)过程而创建的计算机编程语言。此命名起源于一个脚本“screenplay”,每次运行都会使对话框逐字重复。早期的脚本语言经常被称为批量处理语言或工作控制语言。一个脚本通常是解释运行而非编译。脚本语言通常都有简单、易学、易用的特性,目的就是希望能让程序员快速完成程序的编写工作。而宏语言则可视为脚本语言的分支,两者也有实质上的相同之处。

   虽然许多脚本语言都超越了计算机简单任务自动化的领域,成熟到可以编写精巧的程序,但仍然还是被称为脚本。几乎所有计算机系统的各个层次都有一种脚本语言。包括操作系统层,如计算机游戏,网络应用程序,字处理文档,网络软件等。在许多方面,高级编程语言和脚本语言之间互相交叉,二者之间没有明确的界限。

   计算机语言是为了各种目的和任务而开发的,一个常见任务就是把各种不同的已有组件连接起来以完成相关任务。大多脚本语言共性是:良好的快速开发,高效率的执行,解释而非编译执行,和其它语言编写的程序组件之间通信功能很强大。

二、编程语言发展史

1954 Fortran

   FORTRAN(FORmulaTRANslator的缩写)意为“公式翻译器”,是世界上最早出现的计算机高级程序设计语言,广泛应用于科学和工程计算领域。FORTRAN语言以其特有的功能在数值、科学和工程计算领域发挥着重要作用。

1958 LISP

   LISP语言(全名LIStProcessor,即链表处理语言)由约翰·麦卡锡在1960年左右创造的一种基于λ演算的函数式编程语言。

1959 Cobol

   COBOL(Common Business OrientedLanguage)是数据处理领域最为广泛的程序设计语言,是第一个广泛使用的高级编程语言。主要应用于数值计算并不复杂,但数据处理信息量却很大的商业领域。

1962 Simula

    Simula67被认为是最早的面向对象程序设计语言,它引入了所有后来面向对象程序设计语言所遵循的基础概念:对象、类、继承。

1964 Basic

   BASIC(Beginners’ All-purpose Symbolic InstructionCode)的意思就是“初学者的全方位符号指令代码”,是一种设计给初学者使用的程序设计语言。BASIC是一种解释语言,在完成编写后不须经过编译及连结即可执行,但如果要单独执行仍然需要编译成可执行文件。

1968 Pascal

   Pascal语言语法严谨,层次分明,程序易写,具有很强的可读性,是第一个结构化的编程语言。Pascal的取名是为了纪念十七世纪法国著名哲学家和数学家BlaisePascal,它由瑞士Niklaus Wirth教授于六十年代末设计并创立。

1969 C

   C语言既具有高级语言的特点,又具有汇编语言的特点,由美国贝尔研究所的D.M.Ritchie

于1972年推出。1978后,C语言已先后被移植到大、中、小及微型机上。

1975 SQL

   SQL(Structured QueryLanguage,结构化查询语言)是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

1983 C++

   C++是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格。

1987 Perl

   Perl象C一样强大,象awk、sed等脚本描述语言一样方便。Perl借取了C、sed、awk、shellscripting以及很多其他程序语言的特性。其中最重要的特性是它内部集成了正则表达式

的功能,以及巨大的第三方代码库CPAN。Perl最初的设计者是拉里·沃尔(LarryWall),发表于1987年12月18日。

1991 Python

   Python是一种面向对象、直译式计算机程序设计语言,由Guido vanRossum于1989年底发明,第一个公开发行版发行于1991年。Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样。它使你能够专注于解决问题而不是去搞

明白语言本身。

1995 Java

   Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE,JavaME)的总称。

1995 JavaScript

   JavaScript是一种能让你的网页更加生动活泼的程式语言,也是目前网页中设计中最容

易学又最方便的语言。

2001 C#

    C#(CSharp)是微软为.NET框架量身订做的程序语言,C#拥有C/C++的强大功能以及VisualBasic简易使用的特性,是第一个组件导向的程序语言,与C++和Java同样是面向对象程序设计语言。

2002 .Net

    .NET 是Microsoft XML Web服务平台。XMLWeb服务允许应用程序通过Internet进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。

2005 Ruby On Rails

    Ruby onRails是一个可以使你开发、部署、维护web应用程序变得简单的框架,Ruby以7月的诞生石ruby(红宝石)命名。

2009 Node.JS

   Node是一个服务器端 JavaScript解释器,它改变了服务器应该如何工作的概念。它的目标是帮助程序员构建高度可伸缩的应用程序,编写能够处理数万条同时连接到一台物理机的连接代码。

附1 2012最新全球编程语言使用排行榜

附220121月编程语言排行榜前10位的长期走势图

   1946年计算机诞生,人们与计算机用机器语言交流。为了减轻使用机器语言的痛苦,50年代初,出现了汇编语言。1954年,高级语言问世,这大大提高了程序编写的效率和程序的可读性。60年代软件危机的爆发与解决产生了结构化高级语言。1980年提出面向对象设计的概念。未来,或许能自然语言编程吧。

 

 

 

本博客推荐文章:http://blog.sina.com.cn/s/blog_99096bb00100z5ma.html

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
为什么不能用汉字编程?
选择学习“下一个”程序语言#more-429
选择学什么计算机语言来编程,先了解语言通常是如何开发出来的
脚本语言:21世纪的高级编程语言
初赛
所有计算机编程语言的一句话概括
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服