论坛首页 Java企业应用论坛

敲响OO时代的丧钟!——DJ对于数据持久化的支持(3)

浏览 192931 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2005-07-18  
我怀疑使用完整的DBC对于开发大部分信息系统的成本是否可以承受;
另外检查是由人来完成,这意味着检查本身就不可能完全避免问题。特别是各种情况交织的复杂系统。
0 请登录后投票
   发表时间:2005-07-18  
庄表伟 写道
to:ozzzzzz
说说你对“一切都是对象”的理解吧。

你对我、徐昊、Gigix、老曹等等等等人的失望,我不太明白。你上面的这篇文章,我也没看明白。

你说:只要是使用名词法就不可能做到《一切都是对象》
那么,动词也是对象、副词也是对象、形容词也是对象、代词也是对象、介词也是对象、如此等等,一切能够说出的语言中的每一个词都是对象?

你想说的是这个意思吗?


这一路看下来,比较失望。
似乎连什么是对象都没有表述清楚。如何敲响OO丧钟?甚至拿OO和RDB来做比较,而且庄似乎更推崇RDB的设计,令我不解。
OO和以往的思考方式的不同之处在于,OO是关注行为的,而以往是以数据为中心的。比如说,人,在OO之前,对人的定义只是一堆的属性,或者说是一种结构。而OO关注的是人的行为,正因为有这些行为,才能成为一个真正意义上的人。这是符合人的认识论的,也说明OO是更深一层次的认识。
而AOP正是这种对行为关注的结果。在AOP中,对象的类似或相关的行为成了AOP的数据,而AOP在这些数据上的行为(advice),成就了更高层次的对象。

但我看庄的所谓的新语言,纯粹是关于数据的讨论。这更令我不解了。
建议对OO在做些深入地研究,不要读了SICP,就把OO批得一无是处。
0 请登录后投票
   发表时间:2005-07-18  
to:kewan

别着急。
对于行为的部分,自然是我的新语言的重点,数据类型定义只是开篇罢了。
0 请登录后投票
   发表时间:2005-07-18  
to:partech
DBC的成本自然是要考虑的,因此在我的设想中,软件开发过程是明确分阶段的。

有严格校验的测试运行期,与取消过度校验的实际运行期。

详细的内容,我还会接着写的。
0 请登录后投票
   发表时间:2005-07-18  
一种新的语言(3)

http://spaces.msn.com/members/zbw25/Blog/cns!1pA6-3FOo9yNp_4lmEHxdDqA!304.entry
0 请登录后投票
   发表时间:2005-07-18  
但是我一直有个疑问。
DBC看起来缺乏一个定义真并发语义的办法,因此并不适合于企业级开发的真实场景。或者说,遵循DBC构建起来的系统,作为并发系统是不牢靠的。
0 请登录后投票
   发表时间:2005-07-19  
charon 写道
但是我一直有个疑问。
DBC看起来缺乏一个定义真并发语义的办法,因此并不适合于企业级开发的真实场景。或者说,遵循DBC构建起来的系统,作为并发系统是不牢靠的。


是的,仅仅有DBC,是做不出并发的。
我的设想中,可不仅仅是DBC。
0 请登录后投票
   发表时间:2005-07-19  
weihello 写道
本来想今晚上看起的,但发现如果要看懂,我还得从哲学开始补起。 没10年苦功不行啊。
   看来,这东西不属于技术人员的事。如果理解这么一个OO的终结以及新的语言诞生需要那么多高深的知识,那么,我们应该从儿童抓起。

SICP的两个注脚,我认为很有点意思。手边没有书,凭记忆写下来,大家回头可以自己去查。第一个貌似是注118(第二章,“继承多边形”那个图的下面):
SICP 写道
(正文:对象的类型提升和下降是一个仍在不断研究中的课题。)这句话也出现在本书的第一版里,它就像20年前一样正确。开发出一种有用的,具有一般意义上的框架,以描述不同类型对象之间的关系(这在哲学中称为本体论),看来是一件极其困难的工作。10年前的混乱和今天的混乱的主要差异在于,今天已经有了一批各式各样的并不合适的本体论,他们已经被嵌入到数量过多而又先天不足的各种程序设计语言中。举例来说,面向对象语言的大部分复杂性----以及当前各种面向对象语言之间的细微而且使人迷惑的差异---的核心,就是对类型之间通用型操作的处理。我们在第三章关于计算性对象中完全避免了这个问题。熟悉面向对象的程序员将会注意到,第三章的局部状态说了许多东西,但是根本没有提到类,和继承,事实上,我们猜想是,如果没有知识表示和自动推理的工作的帮助,这些问题无法仅仅通过计算机语言的设计的方式合理的进行处理。

第二个是第三章的最后一个注脚:
SICP 写道
对象模型对世界的近似在于将其分割为独立的片断,函数式模型则不是沿着对象间的边界去做模块化。当对象间部共享的状态远远大于它所共享的状态时,对象模型就特别好用。这种对象观点失效的一个地方是量子力学,在那里将物体看作独立的粒子就会导致悖论和混乱。将对象观点和函数观点统一起来可能与程序设计关系不大,而是与基本认识论有关。

所以T1同志有两句话我深表赞同:
TrustNo1 写道
这SICP就要年年看、月月看、天天看,每道习题、每个注脚都要认真看。

TrustNo1 写道
凡是觉得自己在软件设计上有啥洞见的,请先翻阅SICP。如果SICP上写了的,说明你生不逢时;如果SICP没写,基本上可以断定你是错的。
0 请登录后投票
   发表时间:2005-07-19  
gigix 写道

SICP的两个注脚,我认为很有点意思。手边没有书,凭记忆写下来,大家回头可以自己去查。第一个貌似是注118(第二章,“继承多边形”那个图的下面):
SICP 写道
(正文:对象的类型提升和下降是一个仍在不断研究中的课题。)这句话也出现在本书的第一版里,它就像20年前一样正确。开发出一种有用的,具有一般意义上的框架,以描述不同类型对象之间的关系(这在哲学中称为本体论),看来是一件极其困难的工作。10年前的混乱和今天的混乱的主要差异在于,今天已经有了一批各式各样的并不合适的本体论,他们已经被嵌入到数量过多而又先天不足的各种程序设计语言中。举例来说,面向对象语言的大部分复杂性----以及当前各种面向对象语言之间的细微而且使人迷惑的差异---的核心,就是对类型之间通用型操作的处理。我们在第三章关于计算性对象中完全避免了这个问题。熟悉面向对象的程序员将会注意到,第三章的局部状态说了许多东西,但是根本没有提到类,和继承,事实上,我们猜想是,如果没有知识表示和自动推理的工作的帮助,这些问题无法仅仅通过计算机语言的设计的方式合理的进行处理。


这个注解是跟在下面这句话后面的。
引用
在设计大型系统时,处理好一大批互相有关的类型而同时又能保持模块性,这是一个非常困难的问题,也是当前正在研究的一个领域。

原文如下
引用
Dealing with large numbers of interrelated types while still preserving modularity in the design of large systems is very difficult, and is an area of much current research.


由于庄的写作还没有结束,所以我不做过多的评论。这里只说一点,oo只能是近似的描述我们的世界,而不是完整的描述。苛求oo把所有的现实都做一个合乎现实逻辑的描述,这是一个不合理的诉求。
0 请登录后投票
   发表时间:2005-07-20  
一种新的语言(4)

http://spaces.msn.com/members/zbw25/Blog/cns!1pA6-3FOo9yNp_4lmEHxdDqA!309.entry
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics