谈程序设计思想的变迁

来源 :科教导刊 | 被引量 : 0次 | 上传用户:zhangyuhan13
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要本文在介绍程序设计发展历程的基础上,分别对面向计算机、面向过程和面向对象3个阶段的程序设计思想进行了分析、比较,最后总结得出程序设计思想变迁所带来的启示。
  关键词程序设计思想 面向计算机 面向过程
  中图分类号:TP31文献标识码:A
  
  上个世纪中叶,随着第一台电子计算机的问世,人类开始致力于计算机方面的研究。经过短短50多年的迅猛发展,其体积越来越小,功能越来越强,应用领域也越来越广泛,可以说,计算机已经成为当今世界人类进行信息处理的一种不可或缺的工具。
  我们知道,计算机是一种借助程序来控制操作过程的电子设备。因此,计算机的发展和程序的开发息息相关,而程序开发的优劣又受到了不同时期程序设计思想发展的制约。
  1 程序设计思想的发展历程
  长期以来,程序设计思想一直随着人类认识的进步而发生着改变。最初,由于受到计算机硬件的局限,程序设计人员在进行编程时,往往会为节省一个存储字节而煞费苦心。后来,由于计算机存储能力的提高,人们逐步开始关注程序的清晰框架结构。1969年,有学者提出了结构化程序设计思想,其着眼点是“面向过程”,强调 “算法设计”,编写出来的程序在可调试性、可读性及可维护性等方面都比早期的程序设计方法有了很大的改进。1970年,第一个结构化程序设计语言--Pascal语言出现,标志着结构化程序设计(也称为面向过程的程序设计)时期的真正开始。
  到了70年代末期,由于C++,JAVA等众多面向对象的程序设计语言的出现,以及结构化程序设计方法逐步暴露出来的一系列弊端,随之形成了一种全新的程序设计思想——面向对象,此时的程序设计更加接近人类的自然逻辑,并开始大量运用抽象的概念进行编程。时至今日,面向对象的程序设计技术日益成熟,已被越来越多的程序开发人员所接受。
  2 面向计算机的程序设计思想介绍
  在出现结构化程序设计思想之前,由于程序设计人员编程时需要过多的考虑机器的性能,故将这一时期统称为面向计算机的程序设计。起初,程序设计完全手工化,采用的语言也仅仅是机器语言,这类语言可以直接被计算机识别,但对人类来说却是难以掌握。设计人员关注的重心是使程序尽可能地被计算机接受并按指令正确地执行,至于计算机的程序能否让人理解并不重要。软件开发工作只能由极少数的软件工程师完成,这无疑造成了软件开发的难度大,周期长,功能简单,界面不友好等缺陷。随后出现的汇编语言,虽然将机器指令映射为一些能读懂的助记符,如ADD、SUB等,在一定程度上缩小了程序语言与人类的自然语言之间的鸿沟,但与人类的思想仍然相差甚远。同时,由于汇编语言的抽象层次太低,此时的程序设计仍需注重计算机的硬件系统,程序员编程时不得不考虑大量的机器细节。
  简而言之,面向计算机的程序设计的基本思想就是:注重机器、逐一执行。
  3 面向过程和面向对象程序设计思想的比较
  3.1 设计方法的比较
  面向过程在解决问题时采用功能分解方法,即将一个系统看作一些功能块的组合,这些功能块可以被进一步分解,直到参与设计和编程的人员可以理解的步骤和过程为止。
  面向对象采用为数据和代码建立分块的内存区域,从而实现对程序模块化的方法。
  3.2 特点的比较
  面向过程是一种追求结构良好的程序设计方法,其设计开发的程序特点是:(1)具有单入口,单出口的性质;(2)不包含不会停止执行的语句,即执行时间是有限的: (3)没有无用语句,即程序中所有语句都有被执行的机会。
  面向对象的主要特点是:借助类的封装以及模块化技术,有效地控制了程序的复杂性;提高程序的重用性及其可维护性;同时,抽象化概念的引入大大扩展了计算机系统的描述和处理范围,更加符合人们习惯的思维方法,便于分解大型的复杂多变的问题。
  3.3 局限性比较
  面向过程的局限性主要表现以下三个方面:
  (1)程序的可重用性差,不能直接继承和引用巳经编好的应用程序的某些部分,程序设计人员每进行一项新系统的开发,几乎都要从零开始,并且要针对具体问题做大量重复而繁琐的工作。(2)由于程序的数据与有关操作相分离,致使程序的修改和维护较为复杂。(3)数据处理范围较小,无法准确描述文本、图形、图像、影像、声音等多种数据类型,从而难以适应大型软件的设计。
  面向对象的局限性主要表现在两个方面:
  (1)由于程序设计者的设计思想和方法、策略大多分布于众多不连续的程序段中,严重影响了维护人员对于程序的理解。(2)继承机制的广泛使用,大大增加了程序依赖性分析的难度。
  3.4 基本思想的比较
  面向过程采用的是自顶向下设计过程库,逐步加以细化程序设计思想。
  面向对象的基本设计思想则是自底向上设计库类,并把组件的实现和接口分开。
  3.5 可扩展性比较
  面向过程技术设计开发的程序一旦功能变化,就会危及整个系统,扩展性差。
  面向对象的程序可以通过修改或增加操作进行功能的重建,而基本对象结构不变,扩展性好。
  3.6 控制程序方式的比较
  面向过程是通过设计程序以调用或返回程序。
  面向对象则通过“事件驱动”来激活和运行程序。
  3.7 处理问题时的出发点比较
  面向过程处理问题时强调将过程抽象化和模块化,以过程为中心构造或处理客观世界问题的。
  面向对象处理问题时强调把问题域的要领直接映射到对象及对象之间的接口上,是用符合人们通常的思维方式来处理客观世界的问题。
  3.8 学习者的接受程度的比较
  面向过程的程序设计知识内容相对少,对于初学者而言易于掌握。
  面向对象的程序设计知识内容广,概念多,很多知识又比较抽象,初学者难于理解。
  3.9 编程语言的比较
  面向过程的程序设计语言主要发展于70年代之前,如:C、BASIC、FORTRAN等。
  面向对象的程序设计语言主要形成于70年代以后,如:C++、VB、JAVA等。
  3.10 常用概念或术语的比较
  面向过程多借助过程、函数、数据等概念描述程序设计。
  面向对象采用对象、类、消息、继承等术语描述程序设计。
  3.11 要素的对应关系比较
  面向过程以算法为中心,由算法完成对数据的操作,
  面向对象技术是以属性为中心,以消息和方法机制完成对对象的操作,对象作为数据,而不是作为过程被描述。
  3.12 程序执行机制的比较
  面向过程采用单线程体系结构,每个进程都有一段专用内存区域 ,程序在某一时刻只执行一条语句。
  面向对象技术多采用多线程体系结构,允许线程间共享相同的内存单元,并利用这些共享单元来实现数据交换,实时通信及必要的同步操作,在程序执行过程 中为每个线程部分分配代码,让其分别动态执行。多线程的实现,可以有效地改善与用户的交互,使系统得以同时处理多个请求。
  4 软件设计思想变迁带来的启示
  由于软件设计思想的变迁,程序开发理念也在不断得以发展、进化,面向对象技术对数据和算法的封装,以及继承多态机制可实现世界的任何对象,使原本在面向过程中难以实现的问题变得既规范又容易,特别为大型软件团体多人同时开发提供了条件。由于具有更好的可靠性、实用性、可修改性、可维护性、可重用性及易读易管理等优点,面向对象技术已经发展成为当今软件开发主流。但同时我们也应该记住,面向对象存在许多不足,如何在实际应用中弥补这些不足,值得每个程序设计人员进行深入研究。我们希望计算机编程思路尽可能地与人类的思维靠近,计算机的编程能够为更多的人所掌握和利用。
  
  参考文献
  [1]柳青.计算机应用基础[M].北京:高等教育出版社.2008.
  [2]丁益民.程序设计方法发展的几个阶段.武汉工程职韭技术学院学报,2001.6.
  [3]张岚.浅谈面向对象的程序设计.内蒙古科技与经济,2009.3.
  [4]喻梅.结构化程序设计方法与面向对象程序设计方法之比较.科技信息,2009.14.
其他文献
摘要中国股票市场是一个“政策市”,政府经常有意识地运用一些政策手段调控股市的波动。本文通过实证研究表明政府运用管制政策不但不能稳定股市政策,反而会造成较强的股市短期波动。  关键词股票市场 管制政策 股市波动  中图分类号:F8文献标识码:A    中国股票市场始于20世纪80年代初,从其诞生以来就具有两个鲜明的特点:一是股市波动剧烈,二十几来年已经经历了几次大起大落;二是政府有意识地运用管制政策
摘要职务犯罪作为一种社会历史现象,是伴随着阶级、国家、职务、法的产生而出现的,它为历朝历代的统治阶级所不容,他们都以法的形式将之固定下来,以法的手段惩治之、遏制之,以维护自己的利益和江山社稷的稳固。  关键词职务犯罪 个人廉洁 从业行为  中图分类号:B822.9文献标识码:A    我国作为人民当家作主的社会主义国家,职务犯罪依然存在,人民痛恨职务犯罪,要求惩治职务犯罪,消灭职务犯罪,以维护自已
摘要学习过程中,合理并正确运用“迁移”可以极大地提高学习的效率,但运用不当就会产生“负迁移”,使学习过程受阻。本文分析了在导数应用的学习中常会出现的几种“负迁移”,以期引起学习者的注意。  关键词导数应用 负迁移 罗必达法则  中图分类号:O13文献标识码:A    教育心理学认为,学习迁移是指一种学习对另一种学习的影响,或者说将习得的经验改变后运用于新情境。迁移有正迁移、负迁移之分,凡是一种学习
摘要我国新型农村合作医疗制度是我国农民社会保障制度的重要组成部分,在阐明我国新型农村合作医疗制度的基础上,分别从制度设计、筹资、保障水平等方面对其进行了绩效分析,其间运用了例证、比较等多种分析方法来探析我国新型农村合作医疗制度中存在的问题,并由此提出完善的策略。  关键词农村 新型医疗合作 绩效  中图分类号:C913文献标识码:A    新型农村合作医疗是在传统合作医疗的基础上,建立的与农村经济