7.4.1 程序设计的概述
长期以来,人们以极大的努力来研究程序的设计方法,把所涉及的课题发展为计算机科学的一个又一个的分支,但时至今日,看来研究的速度还赶不上计算机应用的突飞猛进的要求。不过总的说来,新的理论在不断地提出,新的方法也层出不穷,一个认知体系正在逐步形成。
在60年代之前不存在程序设计的系统化方法。人们以个人的手工技艺方式来编写程序,程序员专注于各种不规范的、很大程度上有赖于灵感的编程技巧,除了保证程序的正确动作外,特别强调时间和空间效率,往往绞尽脑汁只是为了缩短几条指令。程序的设计过程保留在程序员的头脑当中,提交的工作结果一般只是源程序文本,而这样的文本常常是其他人甚至程序员自己事后都难以读懂的。
60年代之后,随着计算机应用的发展及一些高级语言的出现和完善,程序日益庞大复杂,迫使程序的编写不得不采用合作方式,因而就需要用方法和规则来协调和制约程序员们的集体工作。于是,人们开始研究一些和程序设计过程密切关联的方法,由此而产生的程序设计方法学主要关注数据对象的抽象表达、算法的设计和分析以及程序的合理结构。
进入70年代后,程序的规模和复杂程度以空前的速度猛增,以致往往被称为“程序系统”。大的系统的源程序行数逾百万,工作量极大,因此,程序的开发遇到了前所未有的困难。作坊式的组织和开发手段在这些新问题面前一筹莫展,束手无策,现在常用“软件危机”来表达当时程序编写人员所面临的困境。危机促使人们开拓新的思路——用工程化的方法来开发程序,从而迎来了软件工程学的诞生。
同时,面向过程的程序设计方法也不适应新的程序设计的要求,程序设计语言开始有新的突破,20世纪80年代出现了面向对象的程序设计语言,出现了面向对象的程序设计方法,以及后来的可视化程序设计方法。
面向对象程序设计OOP是用基于的信息隐藏和抽象数据类型等思想而实现的一种新型计算机语言。面向对象程序设计方法简单、直现、实用、自然,十分接近人类处理问题的自然思维方式。采用面向对象进行程序设计时,不同于过程型的程序设计,不将精力用于分析和逐步求精输入和输出的关系,也不同于逻辑程序设计着重描述事物间的逻辑关系,而是从分析问题领域中客体的属性和行为及其相互关系人手。在面向对象程序设计中,仅有对象类、方法、消息和继承5个基本的概念。程序设计人员在进行面向对象设计时,不再是单纯地从代码的第一行一直编写到最后一行,而是考虑如何创建对象、利用对象来简化程序设计。
面向对象的程序设计是当今众多计算机语言中最具有特色的一种程序设计范例,它与其它计算机语言设计风格遇然不同。面向对象程序设计同样能满足结构程序设计特点的需要,可用于设计或维护越来越大和越来越复杂的程序。这些程序由于建立了一致的、易于操作的实体即对象,从而更加模块化了。对象语言打破了“数据”和“程序”之间传统的二分法。这种程序设计风格使软件变得易于扩展,并可以反复使用。
而中学计算机教学大纲讲述的是面向过程的程序设计方法。下面介绍一些相关概念,以便理解它们之间的关系,清楚计算机教学大纲确定的教学目的。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。