程序原本(六十一):应用开发基础

阅读数:39 2019 年 10 月 1 日 16:48

程序原本(六十一):应用开发基础

程序与算数之间的关系,早就有人描述过了。尼古拉斯•沃斯(Niklaus Wirth)说“算法 + 数据结构 = 程序”,并把这一论断用作书名,终成名句。其实这与《算数书》这一书名是同一个意思。古人与今人在类似事物上的、最接近本质的理解,其实是一样的。
从形式上说,特定计算机系统相关的“程序”是略有不同的——它们是为一个可计算系统编制特定序列的编码。这些编码的本意是可以控制机器的指令,只是为了让程序员和计算系统可以存在一致的理解,进而便于将程序员思维映射为计算系统的行为,我们才让这些编码变成了可供人们阅读的代码文本。
然而无论从算数的必要性,还是从计算机系统的必要性来看,我们都无法解释某些代码文本出现的原因,例如 Module。因为类似这样的一些抽象概念,既非可参与计算的单元,也非计算机系统可以理解的指令。
那么它们为什么会出现?对这一问题的反思揭示了应用开发思想的出处。
所谓应用开发,并不首要关注对现实系统的抽象或基于该抽象的可计算性的讨论,而是面向“一个应用”整体的系统化思考。因而其思想的核心,便在于如何更加有效地解构和再组织这一系统。最终,我们将这一系统化的产出称为软件,或更进一步地与它的市场行为联系起来,称之为软件产品。

评论

发布