殊途同归呀。在我发的《Hello, World! 我心中的道》帖子中,uda1341提到“得救之道”,这个使我联想到其它领域比如生存等,人们的终极思考竟然极其相似。《天道》(《遥远的救世主》)对得救之道的回答,竟然也是“道法自然”式的结论(神即道,道法自然,如来)。
在讨论中,我也认为“世界是有事物及其活动组成”或者“世界由事物及其相互作用组成”是非常朴素、直观的世界观。uda1341引用维特根斯坦“世界是事实组成的”观点,也解释的通,个人感觉也比较简单、易于理解,只是如何运用这个观点我还没有想清楚。还望uda1341能系统地整理自己的思考,给大家更多的启发。
我个人认为目前的“领域建模”可能大多只停留在描述或者仿生“领域的事物(what)及活动(how)”,可能并没有深入研究领域的模式或规律(why)。研究领域的模式或规律,也许也没有这个必要,因为我们只是在做工程;甚至也没有这个可能,研究规律谈何容易。这似乎可以看作工程与科学的一个边界。
举个例子,复杂网络的建模,复杂网络的具体例子有生物网络、交通网络、互联网、神经网络、社会网络等,科学家要从这些网络抽象一个通用的模型,这个模型要足够简单,又不能太简单(比如,只将网络当成点与边的集合),一旦成功建模后,科学家们便可以研究模型找出规律,用于指导实践和预测未来。可是构造一个通用的模型几乎不可能,建立起来的模型往往只能反映现实的部分特性。不幸中的万幸,是作为工程师,我们可以选择避开这个难点,很多时候也只能这么做。正是避开了这个难点,四色模型我才感觉很简单。
Object-Oriented,object这个术语在台湾被翻译为“物件”,这个词本来是可以接近“事物”这个概念,可是从这个术语被发明以来,其含义远没有勾勒出“事物”丰富的内涵(在我的帖子中提及了一些),此外这个“术语”也没有表达出程序领域自身的特性。对OO不满的人大有人在,比如stl的发明者对OO嗤之以鼻,linux之父也曾经炮轰C++,这与OO本身的表达能力的局限性不能说没有关系;OO的特性,在PO中模拟实现也不复杂。(在帖子中有个简单的例子以及相关谈论。)
相对PO,对OO的运用我更娴熟,最近的思考使我开始也意识到其不足到底在哪里,以前我只是思考过PO与OO的相通与相异之处,却从未思考过它们具体的缺陷在哪里,未来的语言会怎样解决这些问题?
还有一点,关于建模与需求分析的关系,之前我只是简单的认为是“需求分析的目标是就是建模,建模后指导技术实现”。最近在思考即时通信的领域模型,发现模型本身也有助于我们做好需求分析,如果有可能,甚至可以放在需求分析之前,或者对两者以拉锯式、互相推动的方式进行思考。
[该贴被jdon007于2010-11-14 20:01修改过]