一点纯哲学

         
redorange 11-07-08

本人在翻看帖子的时候,发现很多网友不太喜欢哲学部分。认为那是漫无边际、浪费时间。但是多了解一些还是有帮助的。
以下是我自己在编程时的一些感受。有点杂乱,将就着看看吧。
一、对象和事物
好像听过这么一句话:人类永远无法认识完整的事物。因为我们认识到的总是事物的某一方面。
我们所说的对象实际上是客观事物在人头脑里的反应,而事物则是不因人的认识发生改变的客观存在。
同样一根铁棒,在钢材生产厂家看来,它是成品;在机械加工厂家看来,它是原料;在废品站看来,他是商品。
成品、原料、商品,这三者拥有不同的属性,有本质的不同。为什么同一事物在不同人的眼里就截然不同了呢?这是因为我们总是取对我们有用的方面来认识事物。当这根铁棒作为商品时,它的原料属性依然存在,只是我们不关心了。
在同一个企业里,对同一事物的认识也是在变化的,如一根被加工的铁棒,会经历从原料到半成品,再到成品的认识过程。
因此,我认为:对象只是我们认识事物的某一方面,一个事物被我们抽象成了一个多面体,事物的不同方面总是同时存在。
对象的存在与否,并不依赖于事物形体的存在。事物可以消失、变化,但对实体的认识却相对稳定,不会消失。
有些并不存在的事物,我们也能认识到,比如鬼。实际上我们并不是真的认为他存在,而是他的一些属性符合对鬼的定义。比如装神弄鬼、鬼头鬼脑。
实际上,同一事物的不同方面是有关系的,比如原料与成品是同一事物众多方面中的两个方面,他们之间存在一种认识叠加效应。即随着我们与事物接触的增加,我们认识事物总是越来越丰富。而后面的认识总是建立在前面认识的基础上的。例如,在机械加工企业,铁棒一开始只有原料的这一方面的属性;被加工成型后,就具有了成品的这一方面的属性;如果加工失败,则具有废品的这一方面的属性。随着我们与铁棒的交互,我们对于铁棒的认识就逐渐增加了,表现在它的属性越来越多。
请注意,在同一个企业,不同的岗位对同一根铁棒的认识是不同的。原料库的人认为它是原料,成品库的人认为他是成品。
当一种认识(实体)存在后,就好像事物的一张照片,只反应了事物的一面,并且可以永久存在,不管事物是否消失。唯一的差别是,这种实体认识是否对当事者有用罢了。当某种认识对所有人都没有用时,比如错误的将废品认为成品,那么才有删除它的必要。

二、内部属性和外部属性、自然属性和社会属性
每个属性都属于某个实体(对象),直接隶属于本实体的为内部属性,通过其它实体间接属于本实体的为外部属性。内部属性大致相当于自然属性,外部属性相当于社会属性。
通常情况下,自然属性依附于自然存在的事物上,社会属性依附于人类创造的事物上。比如铁棒VS铁棒的入库单,就分属于自然物与社会物。而数量与价格则分属于自然属性和社会属性。
如对个人而言,自己的姓名、相貌、身高、体重,这些属性离开你之后就没有意义了。但是有些属性是间接的,比如你获得了某某荣誉称号、你的财产、你的英语等级。他们分别于某次评选、某些收益、某些考试相联系。这些信息分别存在于荣誉证书、银行存折、等级证书之中。这些外部属性不宜直接作为自己的属性,因为它们与你不是内聚关系,而是耦合关系。
又如,当一根铁棒入库,铁棒本身的自然属性没有任何变化,变化的只是其社会属性。而这种社会属性又有独立的属性,并依附于某种载体上。如果铁棒入库,则会产生入库单这种记录其社会属性变化的东西。这个东西以外部属性的形式连接到铁棒这个实体上。
简单来说,外部属性被称作“身外之物”,生不带来,死不带去。即实体创建时,外部属性(社会属性)不会当然存在,当实体消失时,外部属性(社会属性)依附于耦合实体(人类创造物)依然存在,不会消失。
当然,在描述不必准确的场合,可以忽略耦合实体,而把耦合实体的关键属性放到本实体内部。但必须明白,这样做会让本实体过于复杂。要解决复杂的问题,则需要创建耦合实体,把外部属性放到耦合实体中。


15
banq
2011-07-08 11:44

写得很好,实际是如何定义一个对象,对象有属性和方法,楼主谈了哪些属性应该属于这个对象的内部,哪些不属于,这样我们就可以从现实世界中准确提炼一个对象。
那些觉得我们谈的很虚或不实用的人,可能是经验未到,或不爱思考,搞软件不爱思考真的很累。

killer
2011-07-08 16:48

搞技术的人必须要有一定的哲学素养。具体到面向对象和领域建模,个人推荐一本书--维特根斯坦的《逻辑哲学论》,很值得看,每次都有新的领悟。摘抄一段共享:
1* 世界是一切发生的事情。

1.1世界是事实的总体,而不是事物的总体。

1.11世界为诸事实所规定,为它们即是全部事实所规定。

1.12因为事实的总体规定那发生的事情,也规定那所有未发生的事情。

1.13在逻辑空间中的诸事实就是世界。

1.2世界分解为诸事实。

1.21每项事情可以发生或者不发生,其余的一切则仍保持原样。

2 发生的事情,即事实,就是诸事态的存在。

2.01事态是对象(事物)的结合。

2.011事物的本质在于能够成为事态的组成部分。

2.012逻辑中没有偶然的东西;如果一个事物能够出现在一个事态中,那么该事态的可能性必定已经预含于该事物之中。

2.0121如果一个事物本身能够独立存在,那么后来的适合于它的状况看来就是一种偶然的事情。

如果事物能够出现于事态之中,那么这一可能性必定一开始就已经存在于事物之中。

(在逻辑中没有纯粹是可能的事情。逻辑涉及每一种可能性,而一切可能性都是逻辑的事实。)

正如我们根本不能在空间之外思想空间对象,或者在时间之外思想时间对象一样,离开同其他对象结合的可能性,我们也不能思想一个对象。如果我能够思想在事态中结合的对象,我就不能离开这种结合的可能性来思想对象。

2.0122事物就其能够出现在一切可能的状况中而言是独立的,但是这种独立性的形式是一种与事态相联系的形式,即一种依赖的形式。(词以两种不同的方式——单独地和在命题中——出现是不可能的。)

2.0123假如我知道一个对象,我也就知道它出现于诸事态中的所有可能性。

(每一个这种可能性必定在该对象的本性中。)

之后不可能发现新的可能性。

2.01231如果我要知道一个对象,虽然我不一定要知道它的外在性质,但是我必须知道它的一切内在性质。

2.0124如果给出所有的对象,那么同时也就给出了所有可能的事态。

2.013每个事物都像是在一个可能事态的空间里。我可以设想这个空间是空的,但是我不能设想没有这空间的事物。

2.0131空间对象必须处在无限的空间之中。(一个空间点就是一个主目(argument, 自变量)位置。)

视域里的一个斑块,虽然不一定是红的,但它必须有某种颜色:所以说它被颜色空间[Farbenraum]所包围。音调必须具有某种高度,触觉对象必须具有某种硬度,等等。

2.014 对象包含着一切状况的可能性。

2.0141对象出现在诸事态中的可能性就是对象的形式。

2.02对象是简单的。

2.0201每一个关于复合物的陈述可以分解为关于其各组成部分的陈述,分解为完全地描述该复合物的一些命题。

2.021对象构成世界的实体。因此它们不能是复合的。

2.0211假如世界没有实体,那么一个命题是否有意义就依赖于另一个命题是否为真。

2.0212在这种情况下就不可能勾画出世界的任何图像(真的或假的)。

2.022显然,一个想像的世界,无论它怎样不同于实在的世界,必有某种东西——一种形式——为它与实在的世界所共有。

2.023正是诸对象构成这种不变的形式。

2.0231世界的实体只能规定一种形式,而不能规定任何物质的属性。因为物质的属性只有通过命题来表述——只有通过对象的配置来构成。

2.0232顺便说一下,对象是无色的。

2.0233如果两个对象具有相同的逻辑形式,除了它们外在性质的差异之外,它们之间唯一的区别就是:它们是不同的。

2.02331或者一个事物具有别的任何事物都没有的属性,这时我们可以直接用一个描述使它同别的事物区分开来并指谓它;或者另一种情形,有好几个事物,它们的全部属性都是共有的,这时就完全不可能从它们之中指出某一个来。

因为如果没有任何东西来区分一个事物,我就不能区分它,不然的话它总是会被区分开来的。

2.024实体是独立于发生的事情而存在的。

2.025它是形式和内容。

2.0251空间、时间和颜色(有色性)是对象的形式。

2.026如果世界要有一个不变的形式,就必须要有对象。

2.027不变者、实存者和对象是一个东西。

2.0271对象是不变的和实存的;它们的配置则是可变的和不定的。

2.0272对象的配置构成事态。

2.03在事态中对象就像链条的环节那样互相勾连。

2.031在事态中对象之间以一定的方式相互关联。

2.032对象在事态中发生联系的一定的方式,即是事态的结构。

2.033形式是结构的可能性。

2.034事实的结构由诸事态的结构组成。

2.04存在的事态的总体即是世界。

2.05存在的事态的总体也规定哪些事态不存在。

2.06事态的存在和不存在即是实在。(我们还把事态的存在称为肯定的事实,把事态的不存在称为否定的事实。)

2.061事态相互间是独立的。

2.062从一个事态的存在或不存在不能推出另一个事态的存在或不存在。

2.063全部实在即是世界。

uda1341
2011-07-08 21:49

没有什么内部属性。

抛开OO的世界观,看关系数据库是怎么表达现实的,就知道了。

可惜几乎所有人都以为关系数据库思想没有OO先进。

flyzb
2011-07-09 08:15

赞,其实我们为什么要谈哲学,因为软件要解决的根本问题就是适应业务的变化。其关键在于架构,注意首先是业务架构,然后才是技术架构。如果没有哲学思想,认识不清楚业务变化的本质,那做出的软件就根本没有生命力。
[该贴被flyzb于2011-07-09 08:16修改过]

9Go 1 2 3 4 ... 9 下一页