软件技术与中国哲学
近日无事,始读中国哲学简史及某网友所著中庸之心得,年纪尚轻,好入世之哲学,但取之与当今技术作比,实在是牵强附会。

面向对象:该技术的诞生是软件技术从西方演绎理论到东方直觉理论的自觉升华(说他自觉,是因为该技术的创造者未必懂得中国哲学)。冯友兰(中国哲学 简史之作者)说,中国哲学所用的语言,富于暗示而不很明晰。它不很明晰,因为它并不表示任何演绎推理中的概念。哲学家不过是把他所见的告诉我们。

代码重构:该技术的根本思想是如何使代码写的恰到好处,其实就是中庸之道。孔子说,理解中庸不难,难得是一辈子使自己的所作所为符合中庸之道。如何做到呢?就要以礼来守,礼就是一堆具体的规矩。该技术中阐述的各种重构方法就是礼。

迭代过程:易传说:“寒往则暑来,暑往则寒来。”,老子也有相似的话:“反者道之动。” 整个自然周而复始却又不断进化是这个道理,迭代过程也是这个道理,分析,设计,实现,测试,发布等操作周而复始,而每一轮回结束之后都会提高产品的完成度。

低耦合高聚合:这是grasp模式的一种,也是中庸,目的是使各个对象的职责(可以看作method)都分配的恰到好处。同时,低耦合和高聚合两者之间的关系符合阴阳学说,既为友,亦为敌,此消彼长。该书作者也认为符合阴阳学说,呵。
写到这里,我亦觉得中庸来自阴阳,对否?

技术人生:针对面向对象,有很多分析设计技术,如grasp,lsp,dont talk to stranger等等,还有享誉天下,臭名卓著的设计模式。这些对于初学者是极为有用的,但是对于真正的高手就没用了。这些技术的提出者其实并非绝顶高 手,因为那些绝顶高手已经“道可道,非常道”了。

吾等何时能得“道”?

附追贴:

从前有个空想,现在逐渐变成了梦想,而且很可能成为理想。
那就是,将软件工程理论上升到中国哲学高度!
过去的软件工程,包括现在的RUP(不是指Agile UP)在内,都是把人作为一个部件来看待,所以那时的软件工程跟哲学根本不沾边。
最近火起来的敏捷过程,其与过去的本质区别就是凸现了以人为本的核心思想,我非常认同这个观点,因为软件业与其它制造业不同,它的唯一资源就是程序员的大脑,是人。
看了一些敏捷过程,发现它们越来越用一种哲学的方式来诠释,不再是什么何时何人该做什么,做多少,等等那些可以量化的具体的东西,而是一种态度,目标,甚至理想。为什么如此呢?我想是因为人脑是不可捉摸的,是靠硬性规定无法控制的,是无法量化的。
而中国哲学是人的哲学,借用某网友一段话:“哲学是仁学,即人学。是人的安身立命之学,内圣外王之道,它的作用是锻炼,发展人的理论思维丰富发展人的精神境界。以道为终极依据,以中庸为行事准则而演其过程,心明眼亮以此入世通达至和则内圣外王之道可成也。”
再借用一句话:“中学为体,西学为用”,“体”即是“道”,“用”即是“器”(记得是这个意思)。从另外一个角度看,西学是重“器”的。他们重“器”一直到现在,从敏捷过程开始,终于重“体”了!
但是西方哲学是崇尚科学的,因为这两者都源于演绎论(科学是纯粹的“器”,因为它规定只有能被量化的东西才算科学,因此中医一直未被承认。--外话)。所以敏捷过程倡导的“体”必然是自发的,不成熟的。这就要靠中国哲学了。
暂时能够想象得到的一种实现步骤:
首先,将现在的敏捷过程的内容上升到哲学高度,尝试用中国哲学来重新诠释;
其次,用成熟的中国哲学来扬弃,发展敏捷过程;
最后,人达到软件过程中的内圣外王之道,则软件开发世界就是“王道乐土,大同世界”了。
就这些了,渴求大家讨论。

阅读更多
个人分类: IT
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

软件技术与中国哲学

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭