农企新闻网

计算机语言发展的三个阶段的特点(计算机语言的发展过程是什么)

发布者:李夕
导读大家好,农企新闻小编来为大家解答以上问题。计算机语言发展的三个阶段的特点,计算机语言的发展过程是什么很多人还不知道,现在让我们一起来看看吧!计算机语言的发展1.计算机语言的历史回顾早期程序员使用机器语

大家好,农企新闻小编来为大家解答以上问题。计算机语言发展的三个阶段的特点,计算机语言的发展过程是什么很多人还不知道,现在让我们一起来看看吧!

计算机语言的发展

1.计算机语言的历史回顾

早期程序员使用机器语言进行编程操作,直接操作用数字表示的机器代码。后来为了便于阅读,机器码用英文字符串表示,于是出现了汇编语言。

美国计算机科学家巴科斯设计的FORTRAN语言,1956年在IBM的计算机上首次实现,标志着高级语言的到来。FORTRAN语言以其简单、高效的特点,在接下来的几十年里成为科学与工程计算的主流语言。除了FORTRAN,还有其他科学和工程计算语言,如ALGOL60。随着计算机应用的深入,需要使用计算机进行业务管理,于是出现了COBOL这种商业和管理语言,并一直流行至今。

这些早期的计算机语言都面向计算机专业人员。为了普及计算机语言,让计算机更普及,出现了入门级BASIC语言。迄今为止,BASIC语言仍然是大多数软件开发人员接触到的第一种计算机语言,也是最流行的计算机语言。

20世纪70年代初,结构化程序设计的思想孵化了两种结构化程序设计语言,一种是PASCAL,一种是c,两种语言的语法结构基本等价,都通过函数、过程等语言特征构成了结构化程序设计的基础。但主要区别在于PASCAL语言强调语言的可读性,所以PASCAL语言成为学习算法、数据结构等软件基础知识的教学语言。C语言强调语言的简单性和高效性,所以C语言在随后的几十年里成为了主流的软件开发语言,其高效性使得C语言相当于一种“高级汇编语言”。

虽然面向对象的思想可以追溯到20世纪60年代,但面向对象思想的普遍接受仍然得益于面向对象语言的贡献。在众多面向对象语言中,最突出的是C语言。20世纪80年代初,ATT贝尔实验室的比雅尼斯特劳斯特鲁普在C语言的基础上设计并实现了C语言。C继承了C语言的所有优点,如简单、高效,并引入了面向对象的思想,如类、封装、继承、多态等。C语言的这些特点使得C程序员在学习面向对象思想的同时,不必放弃已有的知识和经验,原有的软件积累也可以利用。同时,面向对象的设计开发方法使软件的分析、设计和构建更加完善。因此,在C语言庞大的程序员团队的帮助下,C成为了主流的面向对象语言,推动了面向对象思想被普遍接受。c是一种混合面向对象的语言。像任何人类自然语言一样,C语言提供了一种表达思想和概念的方式。当问题变大变复杂的时候,用C语言解决问题会比其他语言更容易,更灵活。在最早的面向对象语言中,除了C之外,还有一种相当流行的纯面向对象语言,即Smalltalk语言,它产生于20世纪70年代末80年代初,并开始流行。

计算机发展的历史,也是人们不断追求更高模块化、抽象化、封装化的历史。首先,的抽象是以计算机为中心的:首先,用0和1表示的二进制值被抽象成字节、整数、长整数、浮点等各种预定义的数据类型。然后为了表达更复杂的数据,出现了以结构表示的自定义数据类型。除了数据抽象,计算机指令也有一个抽象过程:从表达式和语句到函数和过程。结构化编程是以计算机为中心的抽象的体现,其将数据与代码分离的思想与计算机硬件的处理机制是一致的。始于20世纪60年代末的软件危机迫使人们寻找解决方案。解决软件危机的努力主要朝两个方向发展。首先,针对软件开发过程的工程化管理,提出了软件开发的生命周期模型,包括:瀑布模型、快速原型法、螺旋模型、喷泉模型等;另一种解决方法是研究软件开发过程中的分析和设计方法,提出结构化程序设计方法。一时间,“算法数据结构=程序”几乎成了软件开发的唯一准则。结构化编程方法从计算机发展的角度来看是自然的,但在今天,从抽象的角度来看,这种方法几乎可以说是一种时代错误。软件开发的主要目的是描述和反映现实世界,而现实世界由各种大小的物体组成:从宇宙到原子,物体被层层包裹;物质世界如此,人类社会的构成也是如此。从个体,到集体,到整个社会,都可以用物体来描述。因此,抽象过程应该以现实世界中的对象为中心,面向对象的抽象方法将走向前台,为软件开发提供从分析、建模到设计和实现的统一工具。面向对象技术和基于它的组件技术为彻底解决软件危机铺平了道路。

大量的应用要求软件开发的效率。最初的高级语言,如BASIC、PASCAL等,结合可视化界面编程技术、面向对象的思想和数据库技术,产生了所谓的第四代语言,如Visual Basic、Delphi等。Visual BASIC的语言基础是BASIC,Delphi的语言基础是PASCAL。这两种语言都是软件开发人员所熟悉的。Visual Basic和Delphi是目前应用软件的主流开发工具。

长期以来,人工智能一直是人们的梦想。从图灵开始,半个多世纪以来,计算机科学家一直在对人工智能进行不懈的探索。在此期间,

  Internet诞生在六十年代末,此后的二十几年,一直是在缓慢地发展,直到九十年代,HTML语言以及HTML图文浏览器Mosaic的出现,使得Internet在此后十年间得到前所未有的发展。从HTML,到DHTML,再到XML,Web存储格式语言为信息的发布、信息的交流起了极大的作用。这些Web存储格式语言与以往的计算机语言有很大的不同,它们是通过标签来标识内容和数据,从严格意义来说不应该称为计算机语言。

  在Web技术的发展过程中,真正可以称为计算机语言,并得到极大的普及的是Java语言。Java是面向对象的网络语言,它的独特的网络特性包括:平台独立性、动态代码下载、为多媒体功能而设计的多线程、为通过Internet快速传送而设计的紧凑的代码格式。Java的工作方式与现有的桌面软件应用程序的工作方式不同。Java程序不需要存储在你的PC机上,而是存储在中央网络服务器。当你通过浏览器访问到一个带有Java小程序的Web页面时,Java小程序就会自动被下载运行。因为Java程序通常都很小的小程序,因此下载运行就会比大程序快得多。此外,版本控制在Java小程序这样的中央存储模式下更为容易。可以从任何一台具有Java虚拟机的机器上访问任何服务器上的Java程序。

  九十年代,软件复用的需求和呼声促使组件技术从面向对象技术肥沃的土壤中迅速发芽、成长,并开始结出累累硕果。软件组件定义为自包含的、可编程的、可重用的、与语言无关的代码片段,这样的软件组件可以很容易地插入到应用程序中。软件组件暴露方法和属性,触发事件,并且通过名称或ID号全局表示自己。已经成为流行的标准的组件模型包括COM/DCOM组件模型和CORBA组件模型。组件技术是计算机软件发展的最新结果,也是半个多世纪以来所寻求的有效的软件构造方法。

  在计算机语言的发展过程中,先后出现的语言至少有几千种,但是真正能普及应用的计算机语言却是屈指可数的。一种计算机语言要能流行普及,除了要有独有的特色以外,还要切合当时的应用需求。

  计算机语言不应该只是思维放大工具,事实上,计算机语言已经成为我们思维的一部分。计算机语言是朝着自然语言的方向发展,它的最终目标应该是成为人类与计算机之间的很自然的交流工具,人可以通过这样的语言将自己所具有的知识,或者自己的思想、情感、愿望等表达给计算机,这样的语言可以称为知识语言或者是智能语言。到了这样的境界,“计算机”的名称应该改成别的什么,因为它与人类智能的界限已经不那么明显了。这就是人工智能,我们人类所梦寐以求的最高境界。

  2.从数值运算,符号运算,到组件运算

  简单回顾一下运算的历史:最早的运算属于数值运算,它针对阿拉伯数字进行加、减、乘、除等等数学计算;将数值运算抽象出来,数学家们发明了符号运算,这种运算的特征在于它并不指明实际的运算对象,而是以抽象的符号作为运算对象,通过对符号的演绎,数学家们构建了规模巨大的数学公式库,而物理学家们则利用符号运算作为工具来研究物质世界的作用机制。这两种运算的运算对象分别是数字和字符串,以组件的眼光来看,它们属于极特殊的两种组件。

  运算是计算机语言的主要功能,早期的计算机语言如FORTRAN就主要是用于科学与工程计算,属于数值运算的范畴。对数学家以及工程人员来说,象公式推导这样的符号运算是极为有用,也是迫切需要的,于是相应的语言工具就出现了,这其中Mathematica语言工具是一种广泛流行的数学工具,它除了具有强大的数值运算功能外,最重要的核心就是它能进行公式推导。在Mathematica内部,有一种模式匹配方法作为其数学运算和公式推导的基础。

  既然数值运算和符号运算的运算对象:数字和字符串属于特殊的两种组件类型,那么,除了数值运算与符号运算以外,还应该有组件的运算方式。目前只有KCOM Space这一软件开发平台实现了组件运算。作为一种纯粹的组件平台,KCOM Space的核心优势之一表现在它首先提出并实现了一种全新的运算方式 --- 组件运算。

  在纯粹的组件空间里,对象不再只有数字和字符串,而包含有种类和形态丰富多样的组件。这就需要有一种对组件的运算方式,为此,KCOM Space提出并实现了组件运算:组件作为运算对象参与运算,比如定义组件变量、组件常量、组件数组,组件作为值赋给组件变量,组件作为参数用在方法调用中。

  组件运算是数值运算和符号运算的发展和扩充,它包含前两种运算方式。组件运算的最明显的特征就是它的直观明了,降低了学习运用的难度,因此组件运算语言也将成为大众化的语言。通过组件运算语言,每一个人都可以将它自己领域的知识表示出来,这样表达出来的组件系统就是知识化的系统,积少成多就可以构成知识组件库。

  组件运算的最直接的效果是带来了代码的可视化。面向对象编程语言如C++,在代码中使用组件都是通过一连串的代码来完成的:首先声明一个组件类的实例,然后每一个要设置的属性都需要有一个赋值代码行。相比之下,组件运算使得组件可以直接插入到代码之中,通过组件的属性对话框就可以以可视的方式设置所有待设的属性。这就是代码的可视化。第四代语言的最重要的特征就是界面可视化,也就是能以所见即所得的方式编排用户界面。组件运算引入的代码可视化,使可视化的程度又前进了一步,实现了完全可视化。如果说界面可视化为应用开发效率的提高带来一次飞跃,那么代码可视化再次为应用开发效率的提高带来又一次的飞跃。

  组件运算是一个全新的运算领域,但却又是必然的运算发展趋势。结合检索和模式匹配以及控制机制,组件运算将构成未来知识系统的基础。