|
J2SE 推出后,以其跨平台及友好的API迅速获得青睐。J2EE的推出,令Java作为首选的 开发环境迅速占领市场。但好景不长。至今为止,以Java为开发环境的开发越来越变得 复杂艰难。Java EE已经变得臃肿庞大,开发台阶与开发成本提高,开发效率下降,维护 成本提高。 原因很多。 其一,对普通用户来说,Java1.5 与Java1.4相比,并没有实质性的提高。Java1.5 增加了些什莫呢?不论 Auto boxing还是 Generics,对Java本身非但没有实质性的 提高,反而将Java糟蹋得够呛。 其二,Java EE 与 J2EE相比,也没有实质性的提高。EJB3只是将后台的配置转移到了 源代码中,利用Annotation来“修饰”源代码。经过一番“修饰”和相关资源“修饰” 性“注入”后,源代码已经很难看了@@@@ 其三,这与Java 社区的演变也有紧密地关系,Java 作为开源平台与开源社区有着千丝 万缕的联系。Spring的出现,将Java开发一劈两半儿。EJB or No EJB 看起来是设计 选择问题,其实是严重影响了Java社区的健康发展:Java社区分裂了。 其四,Framework贻害无穷。Java社区的各种各样的所谓开发框架层出不穷,弊端无数。 主要有四:一是推高了Java开发人员的入门门槛,严重加重了Java从业人员的学习负担; 二是各种框架将基本的开发技能封闭在其所谓的框架之内,一般开发人员没有精力,也没 有兴趣研究透彻,失去了学习理解解决问题的基本开发技能的机会,成为真正的软件蓝领; 三是框架的应用,使整个设计复杂化,开发维护复杂困难,效率低下。四是各种框架的配 置复杂,使得开发工作变了味。这配置成了开发工作的拦路虎,到处是XML文件,也不知 道我们是在用Java编程还是在用XML编程。 其五,普通的Java开发人员需要掌握太多技术。以Web Application为例,前台要用框架 提供的标签,另外要懂html,css,javascript,ajax,jsp/servlet;中间流控制要采用框 架的编程接口,还要明白java,jndi,ejb;后台又要用持久化编程接口,又要搞清楚jdbc, transaction,databases。还要掌握通讯协议,弄清楚满天乱飞的annotation,xml配置文 件;可以想象,一个普通的Java开发人员需要掌握多少技术,熟悉多少API和所谓的框架们 才能干活儿,更别提那各种各样的花钱与不花钱Application Server了?这还没提开发工 具,单元测试及源代码管理,公司业务等等。开发人员一跳槽,这一切都变了:跳不动啊! 你看看猎头公司列出的对Java开发人员的技术要求条件。我的天,谁能掌握甚至精通那些 技术?James Gosling能掌握得了吗? |