计算机学科核心,计算机学科的12个核心概念.pdf

______________________________________________________________________________________________________________

Binding

绑定

通过将一个抽象的概念与附加特性相联系,从而使一个抽象概念

具体化的过程。

例如,把一个进程与一个处理机、 一种类型与一个变量名、 一个库目标程序与子

程序中的一个符号引用等分别关联起来。

在逻辑程序设计中,用面向对象语言将一个方法与一个消息相关

联,从抽象的描述建立具体的实例。

绑定有时又译为联编、结合等。然而译为绑定既可表音,又能达

义,在计算机专业英语的汉译中能达到这一境界的诚然不多。

绑定在许多计算机领域中都存在太多的实例。面向对象程序设计

中的多态性特征将这一概念发挥得淋漓尽致。 程序在运行期间的多态性取决于函

数名与函数体相关联的动态性, 只有支持动态绑定的程序设计语言才能表达运行

期间的多态性,而传统语言通常只支持函数名与函数体的静态绑定 [5] 。

还可为绑定找到一个更通俗的实例。将配偶这一抽象概念与某位

异性相关联, 这一过程称作绑定。 指腹为婚是为静态绑定, 自由恋爱是为动态绑

定。现有的面向对象程序设计语言都不允许离婚或重婚, 但在一定程度上允许再

婚。

Complexity of Large Problems

大问题的复杂性

随着问题规模的增长,复杂性呈非线性增加的效应。

这是区分和选择各种方法的重要因素。 以此来度量不同的数据规模、 问题空间和

程序规模。

假如我们编写的程序只是处理全班近百人的成绩排序,选择一个

最简单的排序算法就可以了。 但如果我们编写的程序负责处理全省几十万考生的

高考成绩排序, 就必须认真选择一个排序算法, 因为随着数据量的增大, 一个不

好的算法的执行时间可能是按指数级增长的, 从而使你最终无法忍受等待该算法

的输出结果。

精品资料

______________________________________________________________________________________________________________

软件设计中的许多机制正是面向复杂问题的。例如在一个小小程

序中标识符的命名原则是无关重要的, 但在一个多人合作开发的软件系统中这种

重要性会体现出来; goto 语句自由灵活、随意操控,但实践证明了在复杂程序

中控制流的无序弊远大于利; 结构化程序设计已取得不错成绩, 但在更大规模问

题求解时保持解空间与问题空间结构的一致性显得更重要。

从某种意义上说,程序设计技术发展至今的两个里程碑(结构化

程序设计的诞生和面向对象程序设计的诞生) 都是因为应用领域的问题规模与复

杂性不断增长而驱动的。

Conceptual and Formal Models

概念和形式模型

对一个想法或问题进行形式化、特征化、可视化和思维的各种方

法。

例如,在逻辑、 开关理论和计算理论中的形式模型, 基于形式模型的程序设计语

言的风范, 关于概念模型, 诸如抽象数据类型、 语义数据类型以及用于指定系统

设计的图形语言,如数据流和实体关系图。

概念和形式模型主要采用数学方法进行研究。例如用于研究计算

能力的常用计算模型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值