编程范式[paradigm]

原创 2005年02月28日 23:57:00

随着编程(programming)方法学和软件工程研究的深入,特别是OO技术的普及,范式(paradigm)/编程范式等术语渐渐出现在人们面前。在国内逐步了解“范式/编程范式”时,英文中该术语已经处于abuse的地步。

面向对象编程(OOP)常常被誉为是一种革命性的思想,正因为它不同于其他的各种编程范式;编程范式也许是学习任何一门编程语言时要理解的最重要的术语。

1编程范式

 Robert Floyd在1979年图灵奖的颁奖演说中使用了编程范式一词 ,范式源于托马斯.库恩在《科学革命的结构》中提出的范式论。库恩没有严格定义何为范式,用法多至二十一种。我把将范式归纳为3个方面或层次:

1. 自然观/世界观——观念范式:指看待世界、运用科学的不同方式。这是一套根据特有的价值观念和标准所形成的、关于外部世界的形而上的信念。例如牛顿眼里没有“不确定性”的东西,而微观物理学描述了诸多不确定性。OOP中,正如在[1.1.3 面向对象]中所言,当程序员回答程序是什么、进程是什么的时候,反映了程序员对待程序的观念范式。观念范式体现为程序员的境界和素养,而非程序的实现技能。

2. 学科的逻辑体系——规则范式。在科学实际活动中,各种被公认的规范,如定律、理论、应用以及仪器设备、工具等等,组成了一个逻辑体系。这一体系通过专业教育,为从事该领域的人——科学共同体,规定了思考框架,并形成一种科学习惯和科学传统。科学共同体从同一模型(规则范式)中学习专业基础,因此他们不会再在基本原则方面碰到重大分歧。库恩提出科学发展的模式大致是:前科学——常规科学——危机——科学革命——新的常规科学。新学科(范式)的早期开拓者,所能达到的范围和精确性常常非常有限,他们留下了大量“有待完成的扫尾工作”,绝大多数科学家为此献出了他们的全部生涯。另一方面,一种范式之所以成功,常常是因为在解决许多实际工作者公认的重大问题方面,比竞争对手更为成功。

3. 心理认知因素——心理范式。在不同的自然观和逻辑体系下,科学共同体对其范式有着“虔诚的狂热”,并力图把自然界“强迫纳入”范式所规定的思想框架内,从而展开卓有成效的研究活动。在这里,『范式之间的竞争不是那种可用证明解决的战斗』,你无法说服不想被你说服的人。当范式改变时,不但从事科学研究的人更换了,评价选择的标准、整个社会心理、研究传统以及世界图式都改变了,所以新旧范式是不可通约的、不可比较的。

 [1.1.3 面向对象]介绍了面向对象程序员应该具有的程序观(观念范式)和按照日常生活的隐喻进行编程的心理范式,而全书讨论的重点是面向对象编程的规则范式。

2 资料

 单词paradigm并不是通过查字典就能够翻译的。 虽然paradigm的原意是example示例、pattern模式 or model.典范、范例、模型。 

  1. 在有些计算机书籍中,将paradigm称为“范例”——“指一种示范性的模型或例子,它提供了一种组织信息的形式;面向对象的范例强调以行为和责任为基础来组织信息”【Timothy Budd,《面向对象Java编程思想》(修订版),清华大学出版社,2002-8】。
  2. 真正使paradigm广为流行的原因是1962年,美国科学史学家和科学哲学家托马斯·库恩(Thomas S. Kuhn)所著的著名书籍The Structure of Scientific Revolutions(《科学革命的结构》),其核心——范式论在自然科学家中引起强烈的共鸣,并波及社会科学的广泛领域。在李宝恒、纪树立翻译的《科学革命的结构》中,paradigm翻译为“规范”,而在大量的哲学、社会科学文献中,一般称为“范式”。

相关文章推荐

Paradigm Shifts in Kernel Programming 内核编程的范式转移

Paradigm Shift in Kernel Programming 内核编程的范式转移 Raymond Kwan 这篇小文章主要分析了操作系统内核编程中主要使用C和命令式范式的...

1.4.2 命令式编程范式

图灵机(Turing machine),基于图灵机的命令范式的特点
  • yqj2065
  • yqj2065
  • 2016年10月16日 23:35
  • 425

编程范式与OOP思想

  • 2014年06月27日 11:04
  • 30.52MB
  • 下载

冒号课堂-编程范式与OOP思想-精华摘录-1

学会不如会学,会学不如会用,会用不如被用 对于一个软件开发者来说,这意味着 4 个阶段:  学会(知其所然)——掌握一些具体编程知识的初级程序员。  会学(知所以然)——能快速而深刻地理解技术并...

冒号课堂:编程范式与OOP思想 PDF

  • 2010年07月20日 10:20
  • 1.87MB
  • 下载

C写的对象/编程范式

  • 2016年05月16日 18:19
  • 619KB
  • 下载

c语言范式编程入门二

前面我已经简单介绍了范式编程的初步内容,这是初步内容博客链接: http://blog.csdn.net/gamebot/article/details/74048077#0-qzone-1-4612...
  • Gamebot
  • Gamebot
  • 2017年07月01日 13:01
  • 187
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:编程范式[paradigm]
举报原因:
原因补充:

(最多只允许输入30个字)