精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● 系统分析>>自开版到2000-04-10待整理精华>>OO, OO之后,及其极限 2 (从PO到OO)

主题:OO, OO之后,及其极限 2 (从PO到OO)
发信人: connor()
整理人: majorsun(1999-11-19 15:01:37), 站内信件
作者: robin (鲜花开遍原野) 看板: Comp
标题: OO, OO之后,及其极限 2 (从PO到OO) 
时间:【真情流露】 Wed May 20 13:02:54 1998

 <接上文 OO, OO之后,及其极限 1>

 2  从 PO(面向过程)到OO(面向对象)

 从上一节的论述我们知道:

 软件开发的过程就是人们使用各种计算机语言将 人们关心的现实世界(问题域) 映射到
 计算机世界的过程; 如下图:

 现实世界问题域-----建立模型(借助某种建模思想)------编程实现(借助某种编程语言)
        -------计算机世界执行求解


 在谈论OO之前,先让我们回顾一下高级语言的历史.

   最早的高级语言大约诞生于1945年, 是德国人楚译为他的Z-4计算机设计的Plan Calcul,
比第一台电子计算机 还早几个月; 在电子计算机上实现的第一个高级语言是美国尤尼法
克公司于1952年研制成功的Short Code; 而真正得到推广使用, 至今仍在流行的第一个高
级语言是美国的计算机科学家巴科斯设计, 并于1956年首先在IBM公司的计算机上实现的
FORTRAN语言.

   早期的高级语言主要是应用于科学和工程计算,其代表作有FORTRAN和ALGOL60. 计算机
进入商业和行政管理领域

 以后,出现了COBOL和 RPG等便于商界使用的语言.近年来,这类语言和数据库技术,图形界
面技术(可视化编程),

 面向对象的思想及RAD(Rapid Application Devolopment)的概念相结合,  形成了一批更
方便使用的所谓第四代语言(4GL),如Powerbuilder, Delphi, VB等.

   前一类应用于科学和工程计算的大型语言相对来说更为基础,因而也更为灵活,应用范
围更为广泛. 在FORTRAN,BASIC(学习型)之后,自70年代以来, 模块特征更明显,简单易用,
可靠性强的PASCAL异军突起, 在世界范围内广泛流行. 但进入80年代以后, 它的地位又逐
渐为更实用的C语言替代. 到现在, C语言的地位已相当于一种 "高级汇编语言"了.

   80年代后期, 面向对象的语言开始浮出水面, C++借助使用C语言的庞大程序员队伍,
一举建立了面向对象语言的老大地位. 从而OO的思想正式统治了整个软件开发界. C++的
流行甚至使得美国军方从80年开始大力扶植的Ada语言还未及推广便胎死腹中了.

   90年代以后, 计算机世界 更是发生了天翻地覆的变化, 原先的单机平台让位于WEB,
"网络就是计算机", 新的语言不仅要是OO的, Visual的, 更要是基于WEB的. Java语言借
INTERNET的东风, 横空出世, 一夜红遍天下, 变化之快令人瞠目结舌.

   上述这些变化, 表面是不同的编程工具在城头变幻大王旗, 但其背后反映的却是一种
更为深刻的认识论的改变,

   即  你是用何种观点来 认识 这个世界的?

  在PO中, 程序员们分析了问题域之后, 得到一个PO的模型, 其中常见的词语是变量, 函
数, 过程等;

      PO: 现实世界-----流程图(变量,函数)------PO语言-------执行求解

  在OO中, 程序员们先得到一个OO的模型, 其中常见的词语是类, 对象, 方法, 消息等;

      OO: 现实世界-----类图(对象,方法)------OO语言-------执行求解

  我们可以看到:

  PO更接近于计算机世界的物理实现;
  OO则更符合于人们的认识习惯;

  如果说, 软件危机的根源在于人们认识表达的过程(不断反复,逐步深化)和冯.诺依曼计
算机的实现过程(顺序执行)之间存在巨大鸿沟的话, 那么从PO到OO意味这这鸿沟在逐渐缩
小;

  OO作为一种思想及编程语言, 为软件开发的整个过程--从分析设计到coding--提供了一
个完整解决方案.
  OO堪称是软件发展取得的里程碑式的伟大成就, 人们无不为之喝彩!

   一提到OO, 我们将会联想到C++,smalltalk, simula, 联想到Use Case, ROSE,
Mr. Jacboson 以及Rational公司,
 但却很少有人会提及维特跟斯坦(Wittgenstein). 然而, 正是这位充满传奇色彩的哲学
家, 不仅第一次清楚地表达了OO的思想, 更进一步提及了OO以后的事情, 及其最后的极
限所在.

  在目前这个变幻莫测的时代重温并认真思考一下这位先哲的思想, 或许能使我们更加清
醒, 更明白前方道路的漫长.


  <未完,待续>


--
※ 来源:.网易 BBS bbs.netease.com.[FROM: 202.96.152.112]

[关闭][返回]