程序设计发展综述.docx

上传人:b****1 文档编号:186835 上传时间:2022-10-05 格式:DOCX 页数:5 大小:16.22KB
下载 相关 举报
程序设计发展综述.docx_第1页
第1页 / 共5页
程序设计发展综述.docx_第2页
第2页 / 共5页
程序设计发展综述.docx_第3页
第3页 / 共5页
程序设计发展综述.docx_第4页
第4页 / 共5页
程序设计发展综述.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

程序设计发展综述.docx

《程序设计发展综述.docx》由会员分享,可在线阅读,更多相关《程序设计发展综述.docx(5页珍藏版)》请在冰豆网上搜索。

程序设计发展综述.docx

(1.聊城师范■学院计算机系;3.聊城师范学院通坊工程系.山东聊城

252059)

【摘要】从程序设计语言、魅序设计方法、程序的集成开发环境等三方面来论述程序设计的发展过程,并指出了未来程序设计发展的三个方向。

【关键词】程序设计:

程序设计方法;程序设升语言;集成开发环境

【分类号】

TP311.il 文献标识码:

A

郭玉彬:

,李西明,,师庆玲2,张民L张德伟2

程序设计发展综述

引言

程序设计实际上应分为三方面,即程序设计语言、程序设计方法和集成开发环境。

程序设计语言就是用来控制计算机的工具•程序的数据及逻辑均包含在一行行的程序语言之中。

程序设计方法是指用什么方法来组织程序内部的数据和逻辑,而集成开发环境是用来帮助程序设计者组织、编译、调试程序。

程序设计的发展过程也是这三个方面的发展过程。

通过下面的分析大家可以看到,各个方面的发展,既有相互独立的一面,也有相互促进的一面,

1程序设计语言的发展过程

可以作计算的机器很早就有•但是只是在出现了存储器之后才有了我们现在所说的真正意义上的计算机。

数据和针对于数据的操作指令全都预装入存储器中,运行时,计算机自动调入数据和操作指令,根据操作指令决定如何对数据进行处理.以及下一步如何读取数据和操作指令。

数据和操作指令的集合即是程序设计语言.

最早的程序设计语言是机器语言,它面向机器,既难记又难于阅读<为了克服这种弊端,X们设计了汇编语言“汇f⅛语言是一些英文助记符号•执行前需要将它翻译成机器语言。

因为它几乎与机器涪言——对应,因而执行速度非常快。

也正因为它几乎与机器语言——对应,使得几乎每有一种计算机就有一种汇编语言,同样功能的程序在不同的计算机上是不相同的。

程序的难移植性及其与真正自然语言的过大差异•使得人们不得不寻求更易于为普通人接受的程序设计语言,于是出现了高级语言。

与汇编语言相比•高级语言更接近自然语言,更易于为人们理解,它把几条甚至几十条汇编指令浓缩在一起,语言表达更加简洁.只是到了高级语言•特别是微机出现以后,计算机程序设计才从工程没计人员的个人艺术中解脱出来.为普通大众所了解和应用,最具代表性的语

收稿日期,1999-07-13

作者简介:

郭玉⅛∣1973-),女,山东高唐人.砥士研究生、讲邮.研究方向是TETR1网理论与应用,算法设汁分析,

言如BASIC,商业上应用广泛的COBOL,用于科学计算的FORTRAN.用于教学的PASCAL.高级语言的出现.提高了程序开发的效率。

但是.高级语言不能直接执行.需要翻译成机器语言,这就不可避免地降低了程序的执行速度。

C语言是一种特殊的高级语言,它具有高级语言那种易记、易移植的特性,与其它的高级语言相比又有相对较高的执行速度。

面向对象程序没计方法提出以后,出现了面向对象程序设计语言。

当魅它也是一种高级语言。

从理论上讲.面向对象是一种方法.可以用任何语言实现.但是支持面向对象程序设计的语言更容易实现面向对象方法。

此类语言分为两类:

纯面向对象语言和混合型语言,纯面向对象语言中,所有的数据类型都定义成对象、而混合型语言则是在普通程序语言的基础上.增加对面向对象的支持、纯面向时象语言很容易描述现实世界中事物之间的相互作用,很适合编写大型的应用程序,但当处理具体的过程时,显得过于繁锁。

目前.典型的纯面向对象语言有JAVA和SmallTalk.典型的混合型语言有C++和高版本的BASICq

需要指出的是,语言的高级和低级并不说明语言的优劣,它只是表明了这种语言离硬件的远近,同时也暗含了程序设计的难易和执行敏率的高低.

2程序设计方法的发展过程

早期的计算机存储器容量非常小、人们设计程序时首要考虑的问题是如何减少存储器开情,硬件的限制不容许人们考虑如何组织数据与逻辑,程序本身短小,逻辑简单,也无需人们考虑程序设计方法问题。

与其说程序设计是一项工作,倒不如说它是程序员的个人技艺。

但是,随着大容量存储器的出现及计算机应用范围的扩大,程序编制越来越困难,程序的大小以算术基数递增,而程序的逻辑控制难度则以几何基数递增,人们不得不考虑程序设计的方法。

最早提出的方法是结构化程序设计方法.其核心是模块化"模块是程序系统的结构单位.将整个程序按需要的功能划分成模块.每个模块再按相应功能划分成子模块.通过各个层次上模块的复合,就形成了系统的总体结构。

这样程序设计的任务就化解成了设计一个个具体模块的任务了。

在结构化程序设计中,划分模块不能随心所欲地把整个程序简单地分解成一个个程序段,而必须按照一定的方法进行。

模块的根本特征是“相对独立,功能单一二换言之,一个好的模块必须具有高度的独立性和相对较强的功能。

模块的好坏,通常用“耦合度”和“内聚度“两个指标从不同侧面而加以度量。

所谓耦合度,是指模块之间相互依赖性大小的度量。

耦合度越小.模块的相对独立性越大•所谓内聚度,是指模块内各成份之间相互依赖性大小的度量。

内聚度越大,模块各成份之间联系越紧密,其功能越强。

因此在模块划分应当做到“耦合度尽量小,内聚度尽量大

本世纪七十年代,出现了面向对象程序设计方法,但它并没有马上成为程序设计的主流.只是到了九十年代,随着程序规模的日益庞大,特别是C++语言出现以后.面向对象程序设计技术才流行起来,应该说面向对象是一门独立的技术,我们只不过是将其应用到了程序设计中,面向对象技术核心的概念是“对象”、一•个对象是一个完整的个体、也可能是由其他对象所组合而成的。

一个对象基本上包括两个部分,即记载对象内部状态的数据和控制对■象作适当动作的程序段。

在面向时象的程序中,整个程序就是由许多不同的对象所组成。

而程序的运作就是通过对象与对象之间的相互作用来达到。

因此程序员的工作就是将整个程序所要作的工作分解成许多对象,然后再去将这些对象创建出来。

为了简化设计过程.我们针对一群具有相同

待性和相同动作方式的对象给予一个定义,如此定义我们称之为类。

定义了美之后我们就可以用类来定义实例,即生产出几乎一模一样的对象.

类的最重要的特性是'•封装“和“继承“,从程序设计方面来讲,类是一种特殊的数据结构,它是由数据以及定义在其上的操作组成的,这些操作又称为“方法”或“事件",类的封装即是指,类中的数据只能由类的方法来操作,而无法从外部直接存取,类的继承是指我们可以从类中派生出类,称为“子类”,子类继承父类相似的数据和方法,并可再添加自己特有的数据和方法(•

与结构化程序设计相比,面向对象的程序设计方法,更容易描述自然界,用对象之间的相互作用来描述事物之间的相互作用.更易于为人们所接受。

因为面向对象程序设计中,数据是封装的.所以用这种方法设计的程序更加健壮,更加易于维护。

类的继承特性.使得用面向对象方法设计的程序更加易于升级,软件的可重用性大大提高。

3集成开发环境的发展过程

最初程序的编辑、编译、连接、调试是分开进行的,当程序的规模扩大后•这种方式就显得过于麻烦.也使得设计过程加长。

因此,程序设计发展到一定程度后,出现了集成开发环境。

它是一种软件.支持对特定高级语言的编辑.可以把用高级语言编写的程序,编译和连接成可以在计算机内运行的二进制文件,并为程序的调试提供方便。

早期的集成开发环境功能简单•只提供简单的编辑、编译和调试功能。

如TurboC.运行TurboC程序后,可以在菜单上选择NEW命令新建C程序.建了程序即可输人代码,输人过程中可以进行全屏幕修改。

选COMPILE命令可以将编好的程序编译成目标文件,选择LINK命令即可将目标文件连接成可以在计算机上执行的二进制文件=另外还有其他命令用于调试或方便用户编辑等目的。

目前的集成开发环境已经变得非常强大,它们不仅完成编相、编译、连接、调试等工作,而且大大加强了这方面的工作,并旦,由于面向对象技术的引入,它何还能把很多经常性的工作隐藏起来.使用户可以集中精力解决自己最关注的问题。

如VisualBasic,VisualC++.BorlandC+亍等。

概括起来,当前的开发环境具有三个特点:

可视化,插件化,智能化。

可视化就是指.在程序的开发过程中就可以看到程序运行时的样子。

可视化的设计,使程序设计工作更加容易。

它主要应用于设计程序的用户界面,如菜单、工具栏、对话框等。

如,在VisualC++中编写一个对话框,设计者所要做的工作,不是编写代码来控制对话框的样式以及框上的按钮、单选钮等控件的位置、颜色和样式,而是在缺省对话框上•用鼠标拖动相应的控件来改变它们的位置,并通过改变系统给出的属性框,来设置改变其颜色和样式。

插件化就是指•为完成特定功能,可以使用系统的或第三方生产的符合要求的模块,作为自己程序的一部分。

如•当用VisualBasic编程时,可以购买VBX控件,然后插入自己的程序,插件化的实现•应归功于面向对象方法的发展。

智能化就是指,在一定程度上,集成开发环境可以充当助手的角色,使程序编制工作更方便,更不容易出错。

比如,在VisualC++编程过程中,如果设计者写了关键词,而词的颜色仍然是黑色的,那么肯定是写错了。

因为,系统会将写错的关键词改变成蓝色,而普通的常量变量则总是黑色的.

4程序设计的发展方向

从第一台计算机诞生以来.硬件发展已经登峰造极、已经出现了每秒运行万亿次的计算机,远非昔日每秒仅能运行五千次的计算机所能比拟,而且速度仍然在下断提高一计算机的应用范围已经大大扩展,从科学计算,数据处理直到人们生产生活的方方面面,运行其上的软件也因应用范围而多神多样、软件生产已经发展成为一个独立的工业门类,专业软件公司比比皆是’但是软件的生产与硬件的生产却存在很大的区别,硬件生产是大规模的工业化生产.而软件生产发展至今'仍然不能摆脱小作坊式的生产模式.以致于开发成本居高不下,可移植性差,运行过程中错误不断。

其原因在于各软件公司在生产软件时各自为政'彼此之间缺乏勾通•但更深层的原因是程序设计的发展没有跟上应用发展的步伐.

我们认为'程序设计的发展有三个方向,一是硬件无关的程序设计语言.二是软件生产的标准化,三是程序设计的非语言化。

其中.前两个方向是专业计算机程序设计的发展方向,第三个方向则是计算机应用范围扩大后,非专业计算机程序设计的方向。

第一.硬件无关的语言就是指语言脱离硬件的影响,”农赖任何硬件环境而运行在虚拟的计算机上。

它的最大益处就是解决程序的移植问题。

高彼语言从一定程度上解决了移植性向题,但并没有根本解决.发展硬件无关的语言将使开发者无需考虑程序的移植问题,因而降低了程序的开发成本。

刚推出不久的JAVA语言是榜样,用JAVA写的程序可以只写一次.到处执行。

与JAVA相伴随的一个概念是JAVA虚拟机•.任何--台装上JAVA解释程序的计算机.对于JAVA而言都是一样的计算机,虚拟机概念的提出,削弱了操作系统的制造者对应用软件制造者的先天优势.有利于促进竞争,消除大软件公司的事实垄断。

目前JAVA运行速度低于C++,因而其主要应用集中在网络上.需要进一步改进JAVA或者设计更好的语言'以获得更好的可移植性和较好的运行速度.

第二,软件生产的标准化,就是指不同的公司按照相同的标准生产出具有相同接口的模块,然后再由另外的公司进行组装。

实际上,它涉及两个方面的内容.首先要进一步完善面向对象理论,为标准化提供坚实的理论基础。

其次是要改进集成开发环境,使它成为组装模块的生产车间;标准化不同于现在集成开发环境的插件化,插件化的标准是各个大公司制定的.不同的公司会有不同的标准.这就使得插件只能部分解决标准化同题'它只能算是标准化的初级形式.

标准化的根本目的是.使软件生产类似于计算机的生产,不同的软件公司分工协作,各自发挥专长生产“软配件''.再由专门的公司负责将“软酬件,'按照需要组装成软件'•成品二标准化的发展,将大大加快软件的生

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 辩护词

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1