定义这篇文章讨论的范围 类似这篇文章的主题,事先定义一个范围是很重要的。首先,我们不讨论任何非Java的技术平台。你也许会认为这有些太狭隘了。我不这么想,这篇文章是要单独的讨论Java平台的各个方面,并不是要和其他的语言平台进行比较。我的爱好在于那些为了完善Java平台提出的具有建设性意义的观点。假如可能,我希望其他技术平台的支持者能够发表类似的文章提出他们认为最完美的技术平台。另外,我在这里还假设Java语言已经是各种技术平台中最佳程序语言。并且我也不会讨论最新的Java2平台J2SE1.5,尽管在J2SE1.5中我可以感觉到其中的一些变化比如标有” keeping up with the Joneses”的是把矛头指向了C#语言。一个语言的稳定与否至少需要将近8年的不断验证才能证实它的最初设计是否是健壮的。参数化集合的实用行在JDK1.5中是显而易见的,其中的一些新特性比如autoboxing, enumerations和 static imports引起了开发人员的广泛关注。
我不得不痛苦的承认,开发Java程序并不轻易。相对简单的项目还好,但假如项目不断增长以至于变得越来越复杂就会不断出现越来越多的问题。比如J2EE应用就是这样。因此在项目的开发中我程序员需要花更多的时间来跟踪底层的问题,比如类引导(classloading)问题而不是解决实际的业务逻辑问题;还有令很多程序院头疼的EJB(查看我过去的文章To EJB, Or Not To EJB?)通常情况下他们都是在清除一系列的警告信息,EJB也许想把负责的问题简单花,但是它并没有更贴近于现实中的持久化问题或业务逻辑的解决方案,这还与Java开发工具的不足有关,坦率的说,微软的Visual Studio在这方面比Java作的要好,Java需要学习。