如果能让软件用构件的方式来思考问题,而不是java,c,c++这些语言,那么语言这个概念将会被取缔。 构件为什么不能成为一种标准呢?
关于如何选择粒度大小来构造世界,这是一个棘手的平衡问题。因为世界太复杂,所以如果粒度太大,就会失去灵活性,而以至于不能胜任构造任意一种世界这个任务;如果粒度太小,就是变得太复杂。所以得找一个最佳平衡点:灵活而不致复杂,简洁而不致无用。
这个最佳平衡点,建筑业是砖块,而不是泥沙,或者房屋;汉语言是汉字,而不是词汇或者笔画;英语是单词,而不是字母或句子;人类社会是人,而不是器官或者群体;那么软件世界是什么呢?从机器语言,到汇编语言,再到高级语言,这些都不是最佳平衡点,因为他们都是代码级的,虽然现在有面向对象的概念,但是他的实际表现形式还是代码;目前来看只有构件才能胜任这个重任。为什么?构件是图形级的,服务级的。一个构件本身就是一种服务,就像一个汉字、一个单词,它们本身就有自己的意思。所以构件是终极之选。
产品EOS实现了构件这一理念,所以需要提供的功能和具有的特性要求:构件运行平台,开发平台,跨平台,易使用;构件管理控制中心; 构件库有两种,一种是标准构件库,另一种用户自己开发构件库;用户按照构件接口标准自己开发构件库有两种方式:一是用其他语言开发构件,一是用构件生产构件;构件库就是词汇库。统一的用户界面,开发界面,管理界面;统一的构件接口标准… …当然还有很多很多,很细节化的东西,但是最终的目的就是只要用户装上了EOS,一切将变得容易。
构件将是革命性的,一统天下的。所有的一切,在目前看来技术上是可行的。需要的只是努力,把它变为现实。SOA只是东风,构件将是未来。
(续...)
软件的问题
软件流程:需求、设计、开发、测试、维护,每一步都有很多问题,但是核心问题在于开发(很多人肯定不赞同了)。开发之元:程序,从机器语言到汇编语言,再到高级语言(面向过程C,面向对象C++,java等),他们本质上是代码。代码,对医生来说就是细胞。(天天跟细胞打交道,该是怎样的一种烦人?不仅烦人,而是该怎么办?)用代码来描述问题,这就是问题之源。效率的提高,根本原因就是这个。构件在某种意义上来说看似只解决了软件开发中的问题,实则软件问题根源的一种基本解决。
软件从另一种角度去看,基本上是两个问题,一是数据,二是操作。他们是异构问题的核心原因。SOA?SCA基本解决了操作问题(也就是服务),SDO解决了数据问题。
再看EOS:开发是构件,管理是Govenor,思想是SOA。它解决了设计、开发、维护这些问题,所以它是解决软件本质问题的利器。工欲善其事,必先利其器。
软件问题之源-开发工具
软件开发的目的在于解决现实世界的问题;但是随之而来的新问题(软件问题)更加让人头疼。你打开了一扇门,进入了一个新的世界,同样你将面对这个新世界的所有问题。
软件开发有很多流程,需求、设计、开发、测试、维护等等,当然也有很多方法。其中每一个环节都很重要,但是哪一个环节是影响软件问题、和软件效率的
根本之源呢?仁者见仁,智者见智,或许很难会有一个共同的观点。但是在我看来,最头疼、最麻烦的在于实施、执行环节,也就是开发。开发的问题在于开发工具,工具包括所谓IDE,还有语言也是开发工具。我认为,开发之元,从机器语言到汇编语言,再到高级语言(C,C++,Java等等),他们的本质是代码。以致于统计工作量也是代码。最头疼、最烦人的也是代码。数以万计的代码,如何定位问题?如何修改问题?如何随机应变?如何让人理解?如何沟通?这个东西就像人一样,如果人出问题了,大夫如果是每次与细胞打交道,那他早就被烦死了。所以只要是与病毒、细胞一级有密切关系的疾病,基本上都是绝症,就像癌症。 |