技术开发 频道

10月编程语言排行榜:Java的混乱之治

  潘多拉的盒子——失控的源代码

  开放源码的精神在于使用者可以使用、复制、散布、研究、改进软件。开源世界里最重要的一项技术便是我们熟知Java技术。Java技术在一开始就定位在“跨平台、动态的Web、Internet计算”这个位置上。为能使Java比晚自己六年出现的.Net更具活力,前Sun公司在2006年11月正式宣布开放Java的源代码。Sun可能没有想到,从这一刻起,Java的混乱局面像开启的潘多拉盒子不可收拾。IBM在第一时间就表示了自己的反对,IBM“建议”Java的开源应该走Apache的道路。为什么会这样呢?在开源世界里谁贡献更多的源代码,谁就拥有了这项技术话语权。前Sun公司对Java开源循序的是GPL是开放源代码的方法,即Sun把Java贡献给JCP和开源社区,开源社区的开发者可以贡献自己的源代码,而使用Java开发产品的厂商在产品面世时也要公开自己的源代码。这种错综复杂的关系让开源社区、各个厂商、Sun以及后来收购Sun的Oracle在Java的世界里争得面红耳赤,像Oracle与Google之间的版权纠纷其根源也是源于此。

  无作为的JCP

  Java项目还要发展。在Oracle收购Sun之后,与Sun行事完全不同的Oracle对待Java的呢?在Java发展上越来越重要的JCP效率越来越受到诟病,有许多的技术都是在JCP过程外产生,后来才被集成到Java平台中的,而JCP内部很少培育出像样的技术。但是Oracle即不愿放手Java授权JCP,也不敢解散JCP,由自己全权掌控Java。放手Java是不可能,但是Oracle过度地控制,必然会对Java平台产生负面影响,用户的抱怨声也会再起。由众多开发者和厂商授权者组成的JCP本来可以主导Java的发展,但是JCP内部官僚主义盛行,行动缓慢,致使JCP一次次错过重整Java的机会!

  跳票王JDK 7重整河山

  JDK 7,第一个真正开源的JDK版本,也是要为Java带来变革性的一个版本依然处于默默的研发当中。JDK7将让Java经历“重整河山”过程。按照Java的计划,要对Java进行大幅度的瘦身,提升执行效率,改变语法结果,支持脚本语言。这个改变也同样是和艰巨的。但是改变之后就是新生,就会让Java重新获得年轻的声明,这将使Java改变目前混乱的局面。Java研发团队从来都没有停止他们的工作,一直在推动的项目前进;众多Java开发者都在关注者JDK 7的发布,但是一次次延期已经使JDK 7成为跳票王。很多Java的爱好者都期待着JDK 7改变Java目前混乱的局面,但是JDK7从2009年年中发布早期预览版到预计2010年6月发布正式版,再到Java研发团队提出A、B两大个计划,JDK7一度传言最迟将在2012年发布!Java的希望啊!让开发者如此的焦躁,留给开发者的只是期望和等待!

  至于JDK 7是否是Java现今混乱之治的机会呢?让我们继续等待Oracle的B计划在2011年向开发者呈现的那一刻吧!

  以乱治乱不死Java在移动开发领域大展身手

  很多人都说Java已死,Java创始人James Gosling却在博客撰文Java离死远着呢!何故?虽然Java给人的感觉越来越笨重,但是移动应用的世界Java牢牢的占据了统治地位。

  近年来,移动终端的内涵开始变得越来越宽泛,各类终端的定义边界开始越来越模糊化。“融合”的趋势明显:手机在融合了MP3或者MP4等的多媒体功能之后,又开始融合GPS功能;MP3、MP4也没闲着,iTouch融合了通话功能之后,摇身变成了iPhone,不小心创造了2008年IT通信领域的一大奇迹。由此可见未来移动终端设备的发展必将带动移动应用程序的发展。

  目前移动开发的平台非常多,苹果的iPhone OS、Google的Android、微软的WindowsPhone、RIM的BlackBerry、老牌手机霸主诺基亚的Symbian以及诺基亚和英特尔合力打造的MeeGo等等,而移动终端设备所使用的移动程序大多只能各自的平台下运行:Android程序不能在Symbian平台上运行,iPhone无法使用的Windows Phone7的程序。在混乱的移动开发平台中还没有一个能在短时间内击垮所有的对手,但是除了封闭的iPhone使用Objective-C编写程序,其他平台几乎都使用Java。在这片混乱的移动开发平台中,Java已经大展身手许久。Google的Android已经在短短的两三年内成为移动开发领域最不可忽视的力量。Oracle同样也看到这点,先是利用版权问题刁难Google,在近期又推出Java ME最新的路线图。未来移动开发的走势,就关系到Java在移动领域的里发展,尽管Java依旧风光,但是透过这一片混乱的烟雾我们依旧看不清Java的方向。

0
相关文章