另外,我在这里还假设Java语言已经是各种技术平台中最佳程序语言。并且我也不会讨论最新的Java2平台J2SE1.5,尽管在J2SE1.5中我可以感觉到其中的一些变化比如标有” keeping up with the Joneses”的是把矛头指向了C#语言。一个语言的稳定与否至少需要将近8年的不断验证才能证明它的最初设计是否是健壮的。参数化集合的实用性在JDK1.5中是显而易见的,其中的一些新特性比如autoboxing, enumerations和 static imports引起了开发人员的广泛关注。
Java继承了来自C和C++的健壮行,它一开始就被设计为一个面向对象的语言,我认为这是一个成为核心语言和优秀平台的关键所在。当然这并不算什么先进的思想因为从最早的Eiffel到Smalltalk都是面向对象的语言,那么Java和他们之间有什么根本的不同吗?Java和那些比如功能性编程语言象LISP、Haskell或象SQL这样的可以通过语义来执行的语言又有什么不同吗?毕竟我们学习这些语言只需要一本手册就可以了,但别高兴的太早,如果一个市场上主要的厂商比如SUN,HP或微软想要把这些语言中的一种拿出来,并围绕它开发他们的下一代技术平台,你会发现这个语言将不会再进一步更新;
我喜欢把Java作为一个平台来看待;实际上Java作为一种语言来说在Java平台中只是较少的一部分。也因此我会在下面介绍作为一个完美技术平台的重要特征。
什么才是完美的平台
比较起来,对于这个主题来说可以讲的很详细也可以讲的很简短概括,我选择了后者。对此有兴趣的读者可能会注意到,在有关这个主题的详细讨论中很多词汇后面都会有一个”ility”作为结尾,你知道它是ility矩阵(matrix)的意思。在我看来作为一个完美的技术平台应该具备这些条件:
便于开发,而且提供多路访问(详见下面的讨论)
稳定性,这体现它应该便于客户平台的部署;还应该是本地化模式的部署操作。
必须具备可靠的性能和可测试性。
基于开放的标准。
Java符合这些标准吗?
到现在我已经定义了一系列符合完美技术平台的标准和特征,让我们看看Java的成长过程是否符合上述的特征。
我不得不痛苦的承认,开发Java程序并不容易。相对简单的项目还好,但如果项目不断增长以至于变得越来越复杂就会不断出现越来越多的问题。比如J2EE应用就是这样。因此在项目的开发中程序员需要花更多的时间来跟踪底层的问题----比如类引导(classloading)问题而不是解决实际的业务逻辑问题;还有令很多程序员头疼的EJB(查看我过去的文章To EJB, Or Not To EJB?),通常情况下他们都是在清除一系列的警告信息。EJB也许想把复杂的问题简单化,但是它并没有更贴近于现实中的持久化问题或业务逻辑的解决方案,这也与Java开发工具的不足有关。坦率的说,微软的Visual Studio在这方面比Java作的要好,Java应该向它学习。
Java能成为一个完美的技术平台吗(2)
内容版权声明:除非注明,否则皆为本站原创文章。