计算之智与哲学之慧分享 http://blog.sciencenet.cn/u/huangfuqiang

博文

影响程序设计方法的宏观因素分析20100306

已有 3297 次阅读 2010-3-6 09:38 |个人分类:计算机软件理论与工程|系统分类:科研笔记

 计算机是智能人工物,其智能来源于人们为它设计的程序,程序是编码人员用程序设计语言创作的,当然要用到某种程序设计方法,程序设计方法学的发展加速了程序设计方法的演化,它是软件理论与工程的重要组成部分,影响程序设计方法演化的因素很多,我们可以从三方面的因素进行分析探究:
从计算机系统外的因素看程序设计方法
 软件包括程序与文档,程序是软件的核心,文档是为软件服务的,软件系统是为人类社会服务的,软件既是服务的理念深入人心,服务是由需求驱动的,需求是分领域与规模的,随着计算机应用领域与规模的不断拓展与增大,再加上对软件的非功能性要求的不断的提升,软件过程与软件规模在发生重大变化,加速程序设计方法的发展以适应新环境下的要求,比如由结构化程序设计方法到面向对象程序设计方法的演化,背后的技术推动因素是服务规模与复杂度发生了显著的变化,必然要求程序设计方法要做相应跟进以适应新的社会需求,但我想强调一点,演化并不是对以前的完全否定,而是形成继承、发展、合理共存的良性技术演化过程,信息化带动工业化,工业化促进信息化,信息化与工业化互动,在这样的信息社会大背景下,软件重要位置,不言而喻,软件是制约信息技术应用与发展的新的瓶颈,新时代的软件危机也并不是危言耸听,所以有关软件科技理论与方法的发展任重道远。
从计算机系统内的因素看程序设计方法
  计算机系统是由硬件子系统、软件子系统组成的,两个子系统之间、子系统内部组成部分之间是符合横断科学本质要求的,可以应用它们进行演化研究,我所关注的是程序设计方法是如何被制约、协同、均衡、演化的,程序设计方法是设计程序的方法集,用一组方法完成现实与虚拟的转换与映射,影响它的关键因素包括程序设计语言、语言处理程序(编译程序、解释程序、汇编程序)、系统体系结构、操作系统、数据库管理系统、辅助支持工具等,它们相互作用、协同均衡发展,程序设计语言是人工语言的一种,它的作用是实现人与人、人与计算机、计算机与计算机交流的界面,界面的功能性要求与非功能性要求的效果、性能好坏加速了程序设计语言的演化,其中一定渗透程序设计方法的演化与创新,这个演化过程是伴随着其它相关因素演化综合作用的结果,包括以下几方面,程序设计语言由低级到高级,操作系统由无到有、由字符界面到图形界面,语言处理程序的构建方法发展,系统体系结构的演化,语言处理程序与系统体系结构之间的互动演进,数据管理方法的发展催生了数据库管理系统的出现,开发与建模支持工具的发展等相关方面构成了一个复杂的系统工程演化链条,程序设计方法的实现是以语言为演化基础的,同一种语言可以实施多种程序设计方法,当然代价是不一样的,有时要作必要的语言处理扩展,以便于语言处理程序支持某种程序设计方法,同一种程序设计方法也可以被应用到多种程序设计语言上,技术决策由项目工程团队根据多种因素做技术路线抉择。
从其它学科的发展看程序设计方法
 其它学科与计算机科学的发展是互相促进的,相关学科对程序设计方法学的影响也是作用明显的,信息编码科学加速了计算机向非数值计算跨越的可能性,也加速了程序设计语言演化与革命的历程,不同语言的语法、语义、语用是不同的,抽象级别是不同的,当然使用它创造程序的基本方法是不同的,是朝着符合计算系统内外要求方向演进的。数理逻辑的发展为程序设计语言提供了形式规约的方法,使程序设计方法与形式逻辑有结合的可能,实现精确化、可验证的程序设计,一批软件科学家与工程师在这方面进行了有益的探究与工程实现,形式化数学理论发展还是有很长时间的历史了,其中诞生了函数程序设计方法、逻辑程序设计方法等。计算机图形学的发展为可视化程序设计与可视化软件的出现奠定了重要的现实基础。关系代数理论为关系数据库管理系统的出现注入了数学的根基,同时也使程序代码与数据源的偶合度发生了更使程序员易于处理的良性变化。还有组合数学与图论等等,所以程序设计方法学的发展离不开相关学科的发展。                       


https://blog.sciencenet.cn/blog-89075-300227.html

上一篇:信息系统工程概观20100128
下一篇:盖茨论道网址
收藏 IP: .*| 热度|

0

该博文允许实名用户评论 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-26 09:50

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部