飞鸽传书2007程序语言的面向对象最后会成自然语言吗?

飞鸽传书2007程序语言的面向对象最后会成自然语言吗?程序语言的向自然语言靠拢,自底向上还是自顶向下? 飞鸽传书2007绿色版: http://www.freeeim.com/ipmsg/ipmsg_2007

程序语言不可承受之重

词典(或维基百科)对事物的规约没有错误,却总是不够全面。即便如此,词典的解释仍然符合常人的认知需求。所以,“通用的”系统还是很“通用”的。随着认知的深入,当通用系统不那么通用的时候,对计算机系统提出新的需求。计算机系统新需求的实现必然要求更新旧系统对象的代码。系统是由很多“编码工人“实现,编码风格互不相同。

系统持续的升级,在海量补丁和不同代码风格混杂的基础上,代价巨大!甚至,现有系统架构无法满足升级补丁的需求,或者升级的代价大于重写的代价,最终选择重写系统。

面向对象的有效补充 — 面向方面

面向方面概念的提出是将“一系列”事物共性抽象出来,由这些共性形成的和事物无关的动作。这样描述的抽象概念形成所谓的系列事物独立的“方面”。面向方面的提出是为了减少代码冗余,分离出独立于业务逻辑的公共方法和属性。严格来说,面向方面只是一种“架构方法论”。

对于上面的例子,面向方面可以这样说:鸟会飞(系统知识库)。有一只鸟(实例化)在飞(动作)。白鹭是鸟(鸟类品种“方面”的规约,归入系统知识库)。那只鸟是白鹭(代入实体)。但是,面向方面不能做出“白鹭飞”的动作,因为实例化的是“鸟”而不是“白鹭”。为什么还要对象?

不如面向属性

面向方面为“人类认知体系的细化到计算机系统的升级”给出了一个可能的思路。事物定义随着人类对其了解的深入而改变,是“相对”的。人类对事物深入了解的过程是对“属性规约”的进一步细化。“属性”本身的定义是“绝对的”!在对世界的探索过程中,不同属性规约区分物体产生语言词汇(事物定义)。

符合正常的语言习惯,陈述到哪一步,物体的规约就到哪一步。换句话说,不是物体决定属性规约,而是具有了这些属性规约,那就是这类物体。基于现有的规约就可以做动作。由于规约是相对的,所以动作的结果也应该是相对的。动作带来属性值的变化,关注动作输入属性和输出属性,现在的函数式编程就是这个思路。但函数式编程是绝对的,而属性关注的可以是相对的。可以一直细化被描述物体。

如果计算机语言具有以上特性,开放的计算机生态系统就可以被构建起来。

参考资料:[www.90pjs.com], [www.90ntb.com], [www.90scsj.com], [www.90dxb.com], [www.90jsb.com]

你可能感兴趣的:(编程,语言)