|
知识路径: > 信息系统开发和运行管理知识 > 系统实施基础知识 > 程序设计语言的选择,程序设计风格 > 程序设计基础知识 >
|
相关知识点:4个
|
|
|
|
程序设计语言是程序设计人员用以求解问题的工具,程序设计人员必须适应特定的程序设计语言的限制。程序设计语言的特性表现为其心理特性、技术特性及工程特性。
|
|
|
程序的实现最终要靠人来完成,因此人的因素对程序的实现质量有很大的影响。语言的心理特性,主要表现在编写程序时对人的影响,包括对程序代码的理解等。它在语言中表现为以下几个方面:
|
|
|
|
程序设计语言总是以一种确定的方式对源程序的语句进行解释,但程序员可能对其有不同的理解,形成歧义性。歧义影响程序的可读性,容易产生错误。
|
|
|
|
是指在用某种程序设计语言编写程序时,人脑必须记忆的关于程序的信息量,用来表示简洁性的属性有:该语言是否便于构造逻辑块及结构化程序,有多少种关键字及缩写;有多少数据类型及默认说明;有多少个算术运算符及逻辑运算符:有多少内部函数。简洁性影响程序的理解性、可读性。
|
|
|
|
人的记忆能力通常分为综合和顺序两类,综合是指把事物作为一个整体记忆及识别的能力,顺序能力是指预知序列中下一个元素的能力。
|
|
|
局部性是指程序设计语言的综合特性。当语句可以组合成程序块时,当结构化构造可以直接实现时,以及编写出的程序表现出高度的模块化及内聚时,局部性就比较显著。如果语言提供不连续的处理,就要降低局部性。顺序性是指一种心理特性,它会影响到软件的维护工作。当遇到逻辑操作的线性序列时,人们易于理解,而很多的分支或多个循环就违反了处理的顺序性。
|
|
|
|
|
从软件工程的观点来看,程序设计语言特性的表现形式包括如下内容。
|
|
|
(1)是否易于把设计转换为程序,从理论上说,根据系统设计说明去编写程序,其过程应该是明确的。把设计变成程序的难易程度实际上反映了程序设计语言与设计说明相接近的程度。如果该语言能直接实现结构化程序构造,能直接实现复杂的数据结构,能直接实现特殊的输入输出处理、位操作及字符串操作,就能很方便地把设计转换成源程序。
|
|
|
(2)编译效率,程序设计语言的编译器的性能决定了目标代码的运行效率,如果对软件性能要求较高,则配有优化编译器的程序设计语言是很有吸引力的。
|
|
|
(3)可移植性,可移植性是程序设计语言的一种特性,它的含义是,当源程序从一个处理器转换到另一个处理器,或者从一个编译器转换到另一个编译器时,源程序本身不需修改或仅需少量修改。
|
|
|
(4)是否有开发工具,使用开发工具,可以缩短编写源程序的时间,可以改进源程序的质量。这些工具可能包括排错编译器、源程序格式编排功能、内部编辑功能,用于源程序控制的工具,各种应用领域中的详尽的子程序库等。
|
|
|
(5)源程序的可维护性,设计文档是理解软件的基础,但还必须读懂源程序,才能根据设计的改动去修改源程序。是否易于从设计转变为源程序和语言本身的某些规定,是可维护性的两个主要因素。
|
|
|
语言的技术特性对系统开发的各个阶段都有一定的影响。确定系统需求后,要根据项目的特性选择相应特性的语言,有的要求提供复杂的数据结构,有的要求实时处理强,有的要求能方便地进行数据库的操作。特别是系统设计转化为程序代码时,转化的质量往往受语言性能的影响可能还会影响到设计方法。
|
|
|
为一个特定的设计课题选用程序设计语言时,必须从心理特性、工程特性及技术特性几个方面加以考虑。从所要解决的课题出发确定对语言的要求,并确定这些要求的相对重要性。既然一种语言不可能同时满足多个要求,那么就应该分别对各个要求进行衡量,比较各种可用语言的适用程度。
|
|
|
选择程序设计语言通常应考虑的因素有,项目的应用领域、系统开发的方法、算法及数据结构的复杂性、系统运行的环境、语言的性能、开发人员的知识及对语言的熟悉程度。
|
|
|