banq
2011-08-04 17:01
2011年08月04日 16:44 "@uda1341"的内容
也就是抛弃OO的世界观,回到逻辑,至少回到关系理论这个角度。 ...

我认为OO世界观的本质是逻辑分析。而罗素是逻辑分析哲学的鼻祖。

关系理论高度我同意,但是不能和“关系数据库”的关系混淆,罗素认为关系是构成结构,而UML类图和“关系数据库”都是通过“关系”试图达到表达结构。

摹状词是美女蛇,是不确定的,不是好东西;谓词才是确定性的好东西,所以,我们要尽量抛弃回避摹状词,而用谓词,但实际人们生活习惯是不可能抛弃摹状词的,那么我们要用谓词等分析方法来破解摹状词的误用。这是重点。

大家多讨论谓词分析法吧,看用谓词分析法把”玫瑰是红的“如何确定地表达出来。

http://www.frchina.net/data/personArticle.php?id=5280

[该贴被banq于2011-08-04 17:05修改过]

SpeedVan
2011-08-04 17:11
玫瑰是红的

隐藏了属性“颜色”。

试着加入一个句子“玫瑰是花”。

我们不能既“玫瑰 = 红”,又“玫瑰 = 花”。

1、描述事物方式有:

玫瑰{

颜色 = 红;

类型 = 花;

}

但这是转化过的,仍然不太好,最直接的写法:

玫瑰{

是红的(=真);

是花(=真);

}

从这里可以看出,是都是从“特征”出发。

2、若果以命题方式呈现:

玫瑰.颜色 == 红

玫瑰.是红的 == 真

SpeedVan
2011-08-04 17:39
谓词分析法,不错。

文中意思是说,这个“玫瑰是红的”中的“是”有着不一样的意义。关注“是”我们就不需要考虑太多指称问题了。

玫瑰(的颜色)是名词(短语),但是“红的”是形容词,不具有指称能力。所以“玫瑰 = 红”这样的写法是不合理的。

但在编程上,我们不能把形容词直接表示啊,我们必须以“=”进行表示。

所以我觉得,要用谓词分析法,则是对谓词进行代码映射,这是否成为函数式编程呢?

uda1341
2011-08-04 17:47
罗素可不是分析哲学的鼻祖。

这里贡献最大的人是德国人弗雷格,著作是《概念文字》,这是独创性的贡献:谓词逻辑。从这本书开始,哲学分支上产生了分析哲学,他们的据点在维也纳。数学和逻辑分支上产生了计算机。维也纳小组的讨论,很多人都参加过,包括哥德尔,冯诺依曼,冯诺依曼是最早认识到哥德尔定理重要性的人。

罗素贡献虽大,也有不少人对罗素不以为然的。

banq
2011-08-04 19:25
2011年08月04日 17:47 "@uda1341"的内容
罗素可不是分析哲学的鼻祖。 ...

这可能是一个“摹状词”问题,不过,还是给个链接:

简析摹状词,文中认为:罗素把摹状词理论中提出的逻辑分析方法作为哲学研究的一种可靠方法,成为分析哲学的奠基人。

可能奠基人和鼻祖是区别的吧。不过我的意思是他是开门创办人的意思,重要的是这篇文章对摹状词解释还是比较清楚的。

jdon007
2011-08-04 19:42
事实,具有原子性,分解为“专名”和“摹状词”,会不会多此一举,陷入一些不必要的困境?

[该贴被jdon007于2011-08-04 20:37修改过]

banq
2011-08-05 08:12
2011年08月04日 19:42 "@jdon007"的内容
会不会多此一举,陷入一些不必要的困境 ...

面向对象的本质是逻辑分析哲学,通过逻辑分析需求,寻求从需求到软件运行内部环节的内在一致性。

逻辑分析是OO的元语言,正如它也是数学元元语言一样。逻辑分析是认识世界的基本手段,是软件建模分析的最基本的保障。

逻辑分析思维是一种OO思维,通过逻辑发现进行对象之间的解耦,细粒度发现和切分。OO=切分=逻辑分析。

当然,大部分需求不一定用上逻辑元语,使用jdon007的特征原语即可,哈哈,或者四色或DDD,我个人直觉:四色和DDD背后的元语是逻辑分析。

jdon007
2011-08-05 08:55
昨晚试了分析了一些句子的专名和谓词,发现如果对二者没有定义好,是玩不转的。

这个工作谁有时间,可以先去把前人的观点收集整理,贴出来大家看看。接下来一段时间,有别的事情要做,这个工作我暂时可能不会介入。

我简单说一下自己的理解,“谁被谁修饰“,前个“谁”指专名,后个“谁”指“谓词”。

试举例,

名词被形容词修饰,名词就是指专名,形容词就是指谓词。

动词被副词修饰,动词就是指专名,副词就是指谓词。

一个句子被另一个句子修饰,前一个句子就是指专名,后一个句子就是指谓词。

上面我的解释可能有错,专名与谓词的含义可能有更多或不同的约束。

DDD、DCI、四色原型、专名谓词等任何角度进行解释,都是为了让原语为更多得人所理解,这些角度存在共性,那是肯定的。不然,根据听者的不同,我从不同的角度进行解释的做法,就没法进行了。所谓消除各种buzzword的说法,也就没有任何依据了。

大家不妨注意下,原语的数学描述。因为从上面的任何一个角度解释,都如不原语的数学描述来的直接、简洁。

模型:表示一组时间函数,这个定义上实际上包含与事物有关的所有可能事实,甚至我们还不知道的事实。

场景:表示一段时间内的模型。这个定义实际上包含一段时间内与事物有关的所有事实。

特征:出于复用或抽象的目标从模型上进行剥离,在场景中复合,以构建完整、生动的事实或画面。特征实际上可理解为各个模型的事实集合的交集。

一个例子,不好说出特征的意义,起码也得两个例子。

比如 张三病了,李四病了。 病了就是一个共同可复用的(状态)特征。

比如 张三是经理,李四也是经理。经理就是一个共同可复用的(行为)特征。

四象图的作图方式与四色原型的作图方式是不同的,“一个中心,两个基本点”,可以作为区别二者的一个角度。

模型与特征的表达形式最好不要去硬性规定,这应该是开放的地方,也是体现创造力的地方。比如在Java中,可以表示为类;在Java中,可以表示为函数等等。

原语有局限性,这个uda1341跟我说过,那是肯定的。因为原语的包容性,必然受到我个人视野的制约,尽管我尝试突破这种制约。

还是向大家推荐古人“象、数、理”这一个思维工具。数学上分为三个流派,大致也是从这三个角度分的,比如直觉主义者、形式主义者、逻辑主义者。我个人是个“半直觉主义者”,无“象”的“数和理”我都不太愿意接受,一般会花时间去找出,找不到就意味着“数理认识”可能仅仅是主观臆断,找到了,才有可能形成相对完整、客观的认识。如果从任何一个孤立的角度进行思考,我想我们有限的智力,可能很快就会被耗尽。

tangxuehua
2011-08-05 09:16
大侠们再多多讨论啊,这两天我要去办户口转移的事情,还有要给同事做一个前端性能优化工具方面的分享,都没时间慢慢“享受”你们的精品讨论了。

banq,有没有前端性能优化方面的工具说明或使用经验什么的可以提供我参考下的呢?

banq
2011-08-05 09:41
2011年08月05日 09:16 "@tangxuehua"的内容
这个工作谁有时间,可以先去把前人的观点收集整理,贴出来大家看看。 ...

为了不影响jdon007专贴思路,我专门写了一篇,当然原因也是看到jdon007和SpeedVan从"值对象"争辩到"特征",还有一点哲学谈的属性问题:

罗素摹状词理论与面向对象OO

[该贴被banq于2011-08-05 09:41修改过]

SpeedVan
2011-08-05 10:11
2011年08月05日 08:55 "@jdon007"的内容
比如 张三病了,李四病了。 病了就是一个共同可复用的(状态)特征。

比如 张三是经理,李四也是经理。经理就是一个共同可复用的(行为)特征。 ...

在我看来,你一直在说共性。我之前就说过特征是表现东西的,体现在说明上,经理不是说明张三,而是“是经理”说明张三,这点我点了很多次了,还看不明就算了。

至于你说的“状态特征”和“行为特征”,我真的完全看不出差别。

对我来说真正的“状态特征”和“行为特征”是:(我尝试我的角度来解析)

状态特征表现着有什么,是什么。“花有颜色”的“有颜色”,“花是红的”的“是红的”。

行为特征表现着做什么。“甲在跑步”的“在跑步”,“乙在行步”的“在行步”。

当然,这是我角度分析而已。我很少这样分的,因为他们之间可以相互转化,具有不确定性。

关于你说的“特征”,我也不想再多加评论了。这个话题,喜欢的继续。

----------------------------华丽分割--------------------------

>>我简单说一下自己的理解,“谁被谁修饰“,前个“谁”指专名,后个“谁”指“谓词”。

<<前一个“谁”不一定是“专名”,例子:

一个鸭子死了。

该鸭子死了。

我认为是一个名词性短语。

哪怕是用动词,也是动名词,例子:

踢(Kicking)是一个高难度动作。(笑~,比方而已)

是否起修饰作用,我不太清楚,但起描述作用是肯定的。

[该贴被SpeedVan于2011-08-05 10:12修改过]

jdon007
2011-08-05 19:25
2011年08月05日 10:11 "@SpeedVan"的内容
经理不是说明张三,而是“是经理”说明张三 ...

角色这个概念,是描述一种行为特征。经理(角色)是描述张三的行为,从而也可以说明张三(在具体的语境、场景中)。

在场景(上下文、语境)中,特征说明哪个模型,就可以明确,此时模型会通过一定的方式凝聚特征,从而呈现完整的事实。

不是 “a = 1”或“颜色=红色”, 才叫特征,等式只是描述特征的一种形式而已。

一个单独的“Manager" 角色类也可以。Manager概念本身已经包含了它在说明什么,甚至一个简单数字都可以自包含它在说明什么,比如1,一种可能的解释就是“数量为1”。

任何概念(包括特征),一旦被提出来,其含义都是有所指的。严格说,特征是不能“直接”描述事物的,只能通过描述事物的某一方面,进而来描述事物。不能“直接”,是特征与模型相对独立的基本依据之一。

实际上,“是经理”不是说明张三,而是说明张三的“职位”。而“经理”这个概念,自身是指向“职位”的,并一定是因为“张三”而存在。这就是我所谓的特征(经理)相对独立于模型(张三)的意思。

孤立地看“颜色=红色”,是看不出“花是红色的”;孤立地看“红色”,也看不出“花是红色”,只有模型在场景(语境)中模型凝聚特征后才能说明完整的事实,特征用来描述谁。

“花是红色的”,翻译为“花的颜色是红色的”,竟而转化为花.颜色 = 红色。如果非要较真的话,这种表达也可以认为是错的。花的颜色怎能等于红色?颜色和红色显然不是同一个概念,怎么能够划上等号?

自然文字因具有多义性,有时候解释起来非常费劲。如果你对数学或机器学习中常见的特征向量、特征向量空间有所了解的话,我想可能更容易理解我对特征的定义与理解。

专名与摹状词(谓词)的定义在这里没有明确时,任何对“专名”与“摹状词”的解释都有可能是对,也有可能是错的。

我对专名的理解很简单(有可能是错的),就是被“摹状词”摹状的东西的名称;名称的表述形式可以是名词、动词、短语、句子等等。“摹状词”是事实中除去专名的部分。

这种解释实际上难以操作,甚至不能操作(死循环论证)。期待罗素摹状词理论与面向对象这个帖子能讨论出所以然,并给出一个简易的操作方法来。

jdon007
2011-08-06 00:01
2011年08月05日 19:25 "@jdon007"的内容
严格说,特征是不能“直接”描述事物的,只能通过描述事物的某一方面,进而来描述事物。不能“直接”,是特征与模型相对独立的基本依据之一。 ...

人脑的思维具有一定跳跃性,我们说某句话,陈述某个事实,可能忽略了显而易见的推理过程。

忽略了谓词(摹状词)与特征其细微的差别,使我对之前的争论感到困惑不解,一个打交道这么久词汇,居然没能给别人解释清楚。现在大抵想通了,在此补充解释一下。

先亮观点:特征是摹状词(谓词)的一部分。

“红色是玫瑰的特征”,完整的描述是“红色是玫瑰的颜色特征”。

莱布尼茨区分了理性真理(或必然真理)和事实真理(或偶然真理)。

一个真理是必然的,若他的否定蕴含着矛盾;如果一个真理不是必然的,就称它是偶然的。

玫瑰是红色的,是一个事实真理。(玫瑰也有可能是黄色的、黑色的)

红色是一种颜色,是一个理性真理。(红色不可能不是一种颜色)

“是中国首都”不是(北京的)一个特征,是一个谓词,“中国首都”,是(政治地位的)的一个特征,不是一个谓词。

“是红色的”也不是(玫瑰的)一个特征,是一个谓词;“红色”,是(颜色的)一个特征,不是一个谓词。

特征是不能直接描述事物的,只能间接描述事物。也就是说特征不能直接“靠近”事物,必须包含在谓词中,才能靠近并描述事物。

当我们说事物具有某种特征时,实际上是说事物的某一方面具有某种特征。

某一方面可能显而易见,在头脑中一闪而过,甚至给忽略了。而后,我们却在信息缺失的描述下,进行无跳跃性的推理过程,自然是不太流畅了。

jdon007
2011-08-06 14:07
2011年08月06日 00:01 "@jdon007"的内容
特征是摹状词(谓词)的一部分。 ...

特征是摹状词(谓词)的一部分。这句话,可能还是没有说清楚。

特征蕴含了观察事物的角度,从这个角度对事物的描述,即摹状词。

对这个角度的描述,即特征(四象图的特征或DDD的VO或四色原型的DESC)。

我看见了一又大又红玫瑰。

实际上,我是从两个角度(大小和颜色)观察了玫瑰的性质(或特征)。

玫瑰 {

观察角度一:大小 => 大

观察角度二:颜色 => 红

}

玫瑰 {

观察角度:大小兼颜色 => 又大又红

}

对角度进行描述,即从模型上剥离特征。前者定义一个DimensionAndColor的特征类,或者定义Dimession 和Color两个特征类。

但不论怎么剥离,一个共同点,特征的概念(大小与颜色)相对独立于模型(玫瑰、房子)。也就是关心“what"(哪一个角度,事物的什么方面)甚于关心“who"或"which"(哪一个事物)。

也就是说我们对“观察事物的角度”的描述(特征),有别于“对事物本身”的描述(摹状词)。

“世界是事实的总合,不是事物的总和。”

一个潜在的理由即事物无法定义,只能从不同的角度去描摹,也就是从不同的角度去观察事物的性质,内与外只是对事物观察角度的一种分类而已。

每一种描摹,都是一个陈述,一个事实。事物可能蕴含在无数个事实中,也就是从无数个角度观察事物。

既然角度有无数个,将角度分为两类(内与外,代表内涵与外延)也就没多少意义了,因为分了,从内部角度还是有无数个,从外部角度也还是有无数个。

故常无,欲以观其妙;常有,欲以观其徼。这句话我的理解跟banq不一样。

无,即不局限于某一个角度或去区分角度(无主观意识),观察事物的所有事实。(妙,即事物无穷无尽的变化,呈现出无数个事实)

有,即区分角度,考虑不同角度的区别(有主观意识),观察事物的事实之间的联系或变化模式。(徼,即边际,即事物相关事实之间的某种关联)

所以,我们与其把精力放在事物的观察角度的分类上(内涵与外延),不如把精力放在包含事物的事实本身,以及事实的变化模式上。

我感觉我这是在拖banq下水,抛弃OO观(边界,内与外),只是与uda1341高调的策略不同,用了一些掩人耳目的手法,比如谈谈banq喜欢的《道德经》。哈哈。其实《老子》一书,我个人也是蛮喜欢的,这老头毕竟不简单哪。

jdon007
2011-08-26 13:06
四象图:建模原语(模型、结构特征、行为特征、场景及场景规约)

四象图的一个形象隐喻:

模型可理解为演员:Actor

结构特征可理解为道具:Props (Stage property)

行为特征可理解为角色:Role

场景及场景规约可理解为剧本:Script

这个隐喻只是方便大家理解这套原语,既然是隐喻,也就是说其只是一种解释,不如原语的数学描述具有普适性。

象数理:程序之道(程序 = 数据结构+算法+模式)

“象数”与“理”区别的一个形象隐喻:数据结构和算法可理解为“剑的双刃”;模式可理解为“剑法”。

“象”表示what的语义,“数”表示how的语义,“理”表示why的语义。

同样,隐喻只是方便大家的理解,具有主观性,不如“象数理”的本义具有普适性。

在帖子四色原型如何设计交互,写了一个极其简单的使用四象图的基本例子,可作为参考。

[该贴被jdon007于2011-08-26 13:54修改过]

猜你喜欢
8Go 上一页 1 ... 4 5 6 7 8