理论教育 程序设计语言的发展概览

程序设计语言的发展概览

时间:2023-11-09 理论教育 版权反馈
【摘要】:在过去的几十年间,大量的程序设计语言被发明、取代、修改或组合在一起。因此,对于一个程序员来说,了解程序设计语言的发展及文化,是非常有必要的。Fortran语言Fortran语言由美国著名的计算机先驱人物约翰·巴克斯于1954年开发,是世界上最早出现的计算机高级程序设计语言。BASIC语言BASIC语言由美国的John G.Kemeny与Thomas E.Kurtz两位教授于1964年开发,是一种直译式程序设计语言。

程序设计语言的发展概览

在过去的几十年间,大量的程序设计语言被发明、取代、修改或组合在一起。具体的语言更是不胜枚举。因此,对于一个程序员来说,了解程序设计语言的发展及文化,是非常有必要的。

(1)Plankalkul语言

Plankalkul语言由德国计算机科学家康拉德·楚泽(Konrad Zuse)(图6.1)于1946年独立开发,是最早的高级编程语言。一直到15年后,Plankalkul语言所包含的一些功能,才逐渐在其他语言中显现出来。他把该项成果应用在其他的事物中,比如国际象棋。

(2)Fortran语言

Fortran语言由美国著名的计算机先驱人物约翰·巴克斯(John Backus)(图6.2)于1954年开发,是世界上最早出现的计算机高级程序设计语言。Fortran语言广泛应用于科学和工程计算领域,它以其特有的功能在数值、科学和工程计算领域发挥着重要作用。

图6.1 康拉德·楚泽

图6.2 约翰·巴克斯

(3)LISP语言

图6.3 约翰·麦卡锡

LISP语言(List Processing),即链表处理语言,是约翰·麦卡锡(John McCarthy)(图6.3)于1958年创造的一种编程语言。LISP语言是一种早期开发的、具有重大意义的自由软件项目。它适用于符号处理、自动推理、硬件描述和超大规模集成电路设计等。特点是使用表结构来表达非数值计算问题,实现技术简单。LISP语言已成为最有影响力,使用十分广泛的人工智能语言。

(4)COBOL语言

COBOL(Common Business-Oriented Language)语言由美国数据系统语言委员会于1959年负责开发,是数据处理领域最为广泛的程序设计语言,是第一个被广泛使用的高级编程语言。它采用300多个英语单词作为保留字,以一种接近于英语书面语言的形式来描述数据特性和数据处理过程,因而便于理解和学习。COBOL语言是专门为企业管理而设计的高级语言,可用于统计报表、财务会计、计划编制、作业调度、情报检索和人事管理等方面。主要应用于数值计算并不复杂,但数据处理信息量却很大的商业领域。

(5)BASIC语言

BASIC语言由美国的John G.Kemeny与Thomas E.Kurtz两位教授(图6.4)于1964年开发,是一种直译式程序设计语言。BASIC语言采用的是解释器,就是逐句翻译成机器语言程序,译出一句就立即执行,即边翻译边执行。与编译器相比,解释器费时比编译器更多,但可少占计算机的内存。

图6.4 John G.Kemeny与Thomas E.Kurtz

(6)Simula语言

Simula语言由挪威科学家奥利-约翰·达尔(Ole-Johan Dahl)(图6.5)和克里斯汀·尼加德(Kristen Nygaard)(图6.6)于1967年开发。Simula被认为是最早的面向对象程序设计语言,它引入了所有后来面向对象程序设计语言所遵循的基础概念:对象、类、继承。Simula已被广泛用于模拟VLSI设计、过程建模、协议、算法、排版以及计算机图形和教育等其他应用。

图6.5 奥利-约翰·达尔

图6.6 克里斯汀·尼加德

(7)Pascal语言

Pascal语言由瑞士的尼古拉斯·沃斯(Niklaus Wirth)(图6.7)教授于1968年设计并创立。Pascal语言语法严谨,层次分明,程序易写,具有很强的可读性,是第一个结构化的编程语言。Pascal语言有丰富的数据结构和构造数据结构的方法。除了整型、实型、布尔型和数组外,还提供了字符、枚举、子域、记录、集合、文件、指针等类型。由这些数据结构可以方便地描述各种事务元。

图6.7 尼古拉斯·沃斯

图6.8 丹尼斯·里奇

(8)C语言

1972年,美国贝尔实验室的丹尼斯·里奇(DennisM.Ritchie)(图6.8)在B语言的基础上设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言。C语言是一门面向过程的计算机编程语言,与C﹢﹢、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器,仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言描述问题比汇编语言迅速、工作量小、可读性好,易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%~20%。因此,C语言可以编写系统软件。(www.daowen.com)

当前阶段,在编程领域中,C语言的运用非常之多,它兼顾了高级语言和汇编语言的优点,相较于其他编程语言具有较大优势。计算机系统设计以及应用程序编写是C语言应用的两大领域。同时,C语言的普适较强,在许多计算机操作系统中都能够得到适用。

(9)SQL语言

SQL语言由唐·钱柏林(D.D.Chamberlin)(图6.9)和R.F.Boyce于1974年提出,并首先在IBM公司研制的关系数据库系统System R上实现。由于它具有功能丰富、使用方便灵活、语言简洁易学等突出的优点,深受计算机工业界和计算机用户的欢迎。SQL从功能上可以分为三部分:数据定义、数据操纵和数据控制。SQL的核心部分相当于关系代数,但又具有关系代数所没有的许多特点,如聚集、数据库更新等。它是一个综合的、通用的、功能极强的关系数据库语言。

图6.9 唐·钱柏林

图6.10 本贾尼·斯特劳斯特卢普

(10)C﹢﹢语言

1980年贝尔实验室的本贾尼·斯特劳斯特卢普(Bjarne Stroustrup)(图6.10)发明了“带类的C”,增加了面向对象程序设计所需要的抽象数据类型“类”,带类的C语言于1983年被命名为C﹢﹢(C plus plus),成为面向对象的程序设计语言。C﹢﹢有丰富的类库和函数库,可嵌入汇编语言,使程序优化,但这种语言难以学习和掌握,需要有C语言编程的基础经验和较为广泛的知识。目前,C﹢﹢成为当今最受欢迎的面向对象的程序设计语言,因为它既融合了面向对象的能力,又与C语言兼容,保留了C语言的许多重要特征。C﹢﹢常见的开发工具有Borland C﹢﹢、Microsoft Visual C﹢﹢等。

(11)Perl语言

Perl语言由美国拉里·沃尔(Larry Wall)(图6.11)在1986年开发成功,是一种解释型的脚本语言。当初的目的主要是在UNIX环境下,处理面向系统的任务。Perl对文件和字符有很强的处理、变换能力,它特别适用于有关系统管理、数据库和网络互联以及WWW程序设计等任务,这样使得Perl成为系统维护管理者和CGI编制者的首选工具语言。Perl借取了C,sed,awk,shell scripting以及很多其他程序语言的特性。其中最重要的特性是它集成了正则表达式的功能,以及巨大的第三方代码库CPAN。

图6.11 拉里·沃尔

(12)Python语言

Python是一种面向对象、直译式的计算机程序设计语言,由吉多·范罗苏姆(Guido van Rossum)(图6.12)于1989年底发明,第一个公开发行版发行于1991年。Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样。它使用户能够专注于解决问题而不是去搞明白语言本身。

由于Python语言的简洁性、易读性以及可扩展性,在国外用Python做科学计算的研究机构日益增多,一些知名大学已经采用Python来教授程序设计课程。例如,卡耐基梅隆大学的编程基础、麻省理工学院的计算机科学及编程导论就使用Python语言讲授。众多开源的科学计算软件包都提供了Python的调用接口,例如著名的计算机视觉库OpenCV、三维可视化库VTK、医学图像处理库ITK。而Python专用的科学计算扩展库就更多了,例如,三个十分经典的科学计算扩展库:NumPy、SciPy和Matplotlib,它们分别为Python提供了快速数组处理、数值运算以及绘图功能。因此Python语言及其众多的扩展库所构成的开发环境十分适合工程技术、科研人员处理实验数据、制作图表,甚至开发科学计算应用程序。

图6.12 吉多·范罗苏姆

图6.13 詹姆斯·高斯

(13)Java语言

Java是由Sun Microsystems公司于1995年推出的Java程序设计语言和Java平台(即JavaSE,JavaEE,JavaME)的总称。詹姆斯·高斯林(James Gosling)(图6.13)是Java之父,Java是一种具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点的语言。

Java语言不仅吸收了C﹢﹢语言的各种优点,还摒弃了C﹢﹢里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

(14)JavaScript语言

图6.14 布兰登·艾奇

JavaScript(简称“JS”)于1995年由Netscape公司的布兰登·艾奇(Brendan Eich)(图6.14)在网景导航者浏览器上首次设计而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。

图6.15 安德斯·海尔斯伯格

JavaScript是一种具有函数优先的轻量级、解释型或即时编译型的高级编程语言。虽然它是作为开发Web页面的脚本语言而出名的,但是它也被用到了很多非浏览器环境中,JavaScript基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。

(15)C#语言

C#是微软公司在2000年发布的一种新的编程语言,主要由安德斯·海尔斯伯格(Anders Hejlsberg)(图6.15)主持开发,它是第一个面向组件的编程语言。C#是由C和C﹢﹢衍生出来的一种安全的、稳定的、简单的、优雅的面向对象的编程语言。它在继承C和C﹢﹢强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C#综合了VB简单的可视化操作和C﹢﹢的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈