计算机程序设计发展史_第1页
计算机程序设计发展史_第2页
计算机程序设计发展史_第3页
全文预览已结束

下载本文档

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

文档简介

【键的设我对程序设计的一点粗浅看法——计算机程序设计发展史【内容提要】程序设计(Programming)是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。程序设计一般是以某种程序设计语言为基石,构造出这种语言下的程序。程序设计的过程一般包括分析、设计、编码、测试、排错等不同阶段。程序设计语言是人们为了描述计算过程而设计的一种具有语法语义描述的记号。没有程序设计语言支持的计算机无异于一堆废料。从最早的一代设计程序语言一一机器语言,到现在的面向于数据库的第四代语言,程序设计语言的发展已经突破了语言的本身,更是一种交互式程序设计环境的发展。在计算机问世至今的半个世纪中,人们一直在为研究出更新更好的程序设计语言而努力着。【关键词】程序设计语言程序设计方法计算机技术发展计算机程序设计发展史一、程序设计语言的发展(一)“史前”时期世界上最早的"计算机"是我国的算盘,它被人们沿用至今。在17世纪,Pascal等人发明了一种以传动齿轮为基础的“计算机”,它是以齿轮的转动来控制计算的累加与进位。上个世纪初,英国剑桥大学著名数学家CharlesBabbage于1822年与1848年分别设计出了两种差分机,并于1833年制造出了有名的分析机。分析机在原理上与当今社会的计算机非常类似,它靠输入读进穿孔卡片来对输入的数进行算术运算并给出结果。而且分析机可以随意重复运算序列。这些是由AdaLovelace设计的运算序列可以解决许多问题。实际上,这种运算序列就是程序的雏形,而这种设计思想一直沿用至今。因而XdaLovelace被称为是世界上第一个程序员(ADA语言就是为纪念她而命名)。1890年Hollerith研制出了一种同样使用穿孔卡片的统计机被用作各种统计工作。此后,Hollerith成立了一个公司,这个公司便是如今的IBM。本世纪30年代,英国数学家Turing提出了图灵机的概念,它是由一个控制块、一条存储带及一个读写头构成的能执行左移、右移、在存储带中清除或写入符号以及条件转移等操作的机器。这种图灵机的结构虽然较为简单,但是却能完成现代计算机所能完成的一切运算。随后Church发明了一种以逻辑公式中约束变量的代入为主要运算的入-演算,这种运算已经相当于一种语法与语义都非常简单的程序设计语言,已被广泛应用于程序理论以及程序设计语言理论与实践的研究中。(二)低级语言时期第一代程序设计语言——机器语言机器语言是二进制机器代码编成的代码序列,用来控制计算机执行规定的操作。其特点是能直接反映计算机的硬件结构,并且用机器语言编写的程序不须作任何处理即可直接输入计算机执行。由于机器语言与机器是一对一的,不同的机器有不同的指令系统,一种机器编写的程序也无法直接搬到另一种机器上运行。一个问题如果需要在多种机器上求解,那么就必须对同一问题重复编写多个应用程序。第二代程序设计语言一一汇编语言由于机器语言程序的直观性差,且与人们习惯使用的数学表达式及自然语言差距太大,导致机器语言难学、难记,编写出来的程序难以调试、修改、移植和维护,极大限制了计算机的推广作用。在这种情况下,用助记符号来表示机器指令的操作符与操作数(亦称运算符与运算东西),用地址符号或标号代替指令或操作数的地址的汇编语言出现了。机器不能直接识别使用汇编语言编写的程序,还要由汇编语言编译器转换成机器指令才能运行。由于汇编语言与机器指令之间是一对一的关系,导致即使是编写一个很简单的程序也需要数百条指令。所以在汇编语言的基础上,人们又研制出了只需一条指令便可编译成多条机器指令的宏汇编语言。而后又研制出了用于把多个独立编写的程序块连接组装成一个完整程序的连接程序。但汇编语言大多是针对特定的计算机或计算机系统设计的,所以它对机器的依赖性很强,同时还有很多的机器语言中存在的问题,汇编语言也没有解决。(三)高级语言阶段1954年,第一个完全脱离机器硬件的高级语言一一FORTRAN语言问世了。高级语言在不同的平台上会被编译成不同的机器语言,使得程序设计语言不再过度的依赖某种特定的机器或者语言环境。1970年,一个标志着结构化程序设计时期开始的语言问世了,它就是Pascal语言。这个标致性的语言拥有严格的结构化形式、丰富且完备的数据类型,运行效率高、查错能力强。同时Pascal语言还是一种自编译语言。这个以法国数学家pascal命名的语言现已成为使用最广泛的基于DOS的语言之一。80年代初,在程序设计的思想上又发生了一次大的革命。这个时期研制出的语言多为面对东西的程序设计。之后,高级语言的目标则是面对应用的程序设计。它侧重于描述程序“做什么”而不是“如何做”。程序设计语言的发展是一个不断演变的过程。从最开始的机器语言,到汇编语言,再到各种各样的高级语言,最后到支持面对东西技术的面对东西的语言,甚至未来的面对应用的语言,它的演化过程的根本推动力就是抽象机制的更高要求,以及对程序设计思想的更好的支持。也就是说把机器能够理解的语言提升到能够很好的模拟人类思考问题的形式的过程。二、程序设计方法的发展(一)传统的程序设计方法传统的编程方法主要是基于DOS操作系统下计算机程序的编程方法。用传统的编程方法编制完成特定功能的程序时,必须设计程序的算法,明晰数据的流程。传统编程方法的算法是变化多端的,同一问题可以有最优算法,也可以有一般算法,甚至可能存在劣等算法;它的数据流程是纷繁杂乱的,数据的调用、控制方向等又是交叉变化的,而且这种编程方法一般依赖于操作平台、编译系统等,所以移植性比较差。导致程序的设计也变得困难和繁琐。(二)可视化编程方法可视化编程可通过调用控件,并为控制东西设置属性,根据开发者的需要,直接在窗口中进行用户界面的布局设计。该项技术的优点是:编程简单、自动生成程序代码、效率高。因此在当今的编程语言中也被广泛采用。(三)面向东西的编程方法为了实现整体运算,每个东西都能够接收信息、处理数据和向其它东西发送信息而应运而生的面对东西的编程方法达到了软件工程的三个主要目标:重用性、灵活性和扩展性。用这种方法编写出的计算机程序是由单个能够起到子程序作用的单元或东西组合而成的。面向东西设计是一种把面向东西的思想应用于软件开发过程中,指导开发活动的系统方法。是建立在'东西”概念基础上的方法学。东西是由数据和容许的操作组成的封装体,与客观实体有直接对应关系,一个东西类定义了具有相似性质的一组东西。而继承性是对具有层次关系的东西类的属性和操作进行共享的一种方式。从传统的程序设计方法,发展到可视化编程序设计方法,进而发展到面向东西的程序设计方法的发展轨迹,是计算机程序设计方法发展的三个重要的阶段。在程序设计实践中,这三种方法不仅严格独立,又相互交叉,彼此紧密联系。但是需要指出的是,在当今社会面向东西的程序设计方法是最大众化的程序设计方法,这是毋庸置疑的。今天,程序设计方法学的研究已经取得了非常多的成果,不仅是结构程序设计的方法日益完善,且广泛推广。模块程序化,递归程序设计方法和逐步求精程序设计方法等均取得了巨大的成果,成为当今社会程序设计中非常有效的方法。而抽象数据的代数规范和程序的形式推导技术仍在发展中,特别是程序变换技术和自动化方面还不成熟,但也取得了可喜的进展。结论用科学的逻辑思维方法去认识事物才能更加清楚的了解过去、现在和未来。程序设计的发展同样遵循科学技术发展的一般规律。以自然辩证法的观点来分析程序设计有助于我们更加深入的认识和探讨程序设计发展的历史、现状和未来的发展趋势。有了自认辩证法这把开启科学认知大门的钥匙,我们将回首过去,把握现在,放眼未来。才能正确的选择程序设计的发展方向,更好的学习和利用程序设计来改变我们的生活。参考文献《程序设计语言概念》(美)RobertW.Sebesta编著中国电力出版社2006.1《程序设计语言编译原理》陈火旺编著国防工业出版社2000.3《汇编语言程序设计》刘丽莉编著北京大学出版社2010.11《计算机语言及其应用实例》童隆正,许远编电子工业出版社2003.8《计算机语言处理》(日本)安居院猛,中正之编著国防工业出版社2003.5《程序设计

温馨提示

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

评论

0/150

提交评论