一席之地

知而获智的快乐 与您分享
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

JAVA不是最后一门大语言 OOP必将进化

Posted on 2008-11-22 13:13  一席之地  阅读(198)  评论(0编辑  收藏  举报

【软件设计思想和计算机语言独立,语言是对软件设计思想的实现】

【语言级别上JAVA和.NET可以统称为JAVA,或者叫着JAVA系语言】

前几天CSDN上首页上有一篇文章,其标题是:JAVA是最后一门大语言。我没有点开看,因为我觉得JAVA不可能是最后一门大语言,更加符合人类思维习惯、其设计的代码更加可以重复利用的软件设计思想一定会出现,相应的高级计算机语言也一定可以被设计出来。如果非要给JAVA加一个“最后”或“最终”这样的修饰词的话,认为JAVA是最后一门在实验室被设计出来的大语言,因为很多人认为开源社区是以后的计算机语言设计的主要力量。开源,在更广泛的意义上不是把已经写好的源代码公布出来,而是在开放的原则下让软件设计的思想和方法得到自然的进化完善。

当一些软件设计思想成熟的时候,自然就有相对应的成熟的软件产品出现,这些产品就是我们所说的更加符合人类思维习惯、其设计的代码更加可以重复利用的高级计算机语言。例如面向对象的软件设计思想成熟以后,对应的软件产品JAVA和.NET就出现了。我们知道.NET是微软为了和SUN竞争而设计出来的产品,质上它还是对OOP设计思想的一个实现,只是它加入一些特有的东西。比如让初学.NET的朋友一头雾水的事件(event)、委托(delegate)、特性(attribute)等关键字,但深入学习过的朋友就会发现:事件是类,委托是类,特性还是类。透过现象看本质,也就没哪么纷繁复杂,都不过OOP思想的概念偷换。

OOP发展到现在已经非常成熟,JAVA(5.0或以前,因为以后的我也没有学过)完美的实现了OOP的工业级别设计思想。更现代一点的语言例如.NET(某种程度上我把它等同于JAVA)当然不会只甘心于对JAVA的复制,他们会在原有的OOP基础上抽象出一些概念来包装自己的产品。.NET中的事件、委托模型就是微软对对象概念的进一步抽象,目的是为了使得在.NET中设计软件更符合人的思维方式。现在被开源社区炒得炙手可热的AOP软件设计方法也是对OOP的一种高级包装和抽象。在AOP的世界里,对象可以自学习、自增长,其目的也是使得软件设计能更符合人的思维方式。

由上我们可以看出,无论是商业的软件公司还是开源的语言社区都在为同一个目标奋斗着:让软件设计思想更符合人类的思维方式。

【OOP无疑是伟大的】