【IT168 评论】近日,TIOBE发布了2010年10月的编程语言排行榜,距离宣布“年度编程语言”(在一年内上升率最快的语言)还剩3个月了。目前Objective - C遥遥领先,上升率为2.54%;其次是Python的0.96%,以及C#的0.55%。从榜单上看,本期编程榜没有发生太大的变化,Java依旧是广大开发者的首选语言!
编程语言排行榜前20名榜单
最初,Java作为一个实验室项目,因为投标美国数字电视项目失败几乎被打入冷宫,但是因互联网的兴起而复活。十几年来,Java一直是被使用最多的语言,在10月编程语言排行榜上,Java也占据着王者的位置。但是Java风光的背后却充满了混乱的喧嚣!很多人认为这是Oracle收购Sun之后的阵痛,但是在很多年以前就有一篇介绍Java混乱的文章:Sun和BEA一直在博弈是否合作推出SOA框架(虽然Sun和BEA最终合作了,但是这两个倒霉蛋都在自己logo上面加上“Oracle”的字样);社区在为EJB与非EJB吵吵嚷嚷;纷乱的框架让开发者烟花缭乱,而这些框架又在诋毁对手……弹指一挥间6-7年过去了,眼前Java的混乱却一直都没有停止过,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的方向。
结束语
开源、中立和客观与商业利益是对立的,但是有时有不得不依赖商业。在Java的混乱世界里,我们不断苛求着Java,用理想主义去看待Java,还是默默的支持Java,是每一个Java程序员的选择。希望Java不畏混乱,一路走下去!
前10名编程语言趋势走向
其他语言及排名
Position | Programming Language | Ratings |
---|---|---|
21 | NXT-G | 0.616% |
22 | PowerShell | 0.615% |
23 | PL/SQL | 0.605% |
24 | Lua | 0.556% |
25 | ABAP | 0.552% |
26 | Scheme | 0.523% |
27 | Fortran | 0.463% |
28 | Object Pascal | 0.453% |
29 | Alice | 0.448% |
30 | Logo | 0.417% |
31 | C shell | 0.410% |
32 | Tcl | 0.399% |
33 | D | 0.399% |
34 | COBOL | 0.383% |
35 | ActionScript | 0.365% |
36 | Scratch | 0.361% |
37 | R | 0.360% |
38 | Visual Basic .NET | 0.325% |
39 | CL (OS/400) | 0.324% |
40 | Haskell | 0.318% |
41 | cT | 0.311% |
42 | JavaFX Script | 0.307% |
43 | Prolog | 0.288% |
44 | APL | 0.276% |
45 | IDL | 0.269% |
46 | Forth | 0.268% |
47 | JScript.NET | 0.266% |
48 | Smalltalk | 0.246% |
49 | Scala | 0.239% |
50 | ML | 0.230% |
下面是第50到100的编程语言排名
(Visual) FoxPro, ABC, Algol, Awk, Bash, bc, BCPL, Beta, C++/CLI,Caml, CFML, cg, Clean, Clipper, Cobra, Curl, DCL, Dylan, Eiffel,Erlang, F#, Factor, Groovy, Icon, J, LabVIEW, LabWindows/CVI, Limbo,MAD, MAX/MSP, Modula-2, Modula-3, MUMPS, Oberon, Objective Caml, Occam,Oz, PL/I, Postscript, Q, S, SIGNAL, SPSS, Squirrel, Standard ML, VHDL,X10, XBase, XSLT, Z shell
历届榜单年度非常好的语言
Year | Winner |
---|---|
2009 | Go |
2008 | C |
2007 | Python |
2006 | Ruby |
2005 | Java |
2004 | PHP |
2003 | C++ |
编程语言类别
Category | Ratings Oct 2010 | Delta Oct 2009 |
---|---|---|
Object-Oriented Languages | 55.9% | +2.5% |
Procedural Languages | 38.9% | -3.4% |
Functional Languages | 3.5% | +0.6% |
Logical Languages | 1.6% | +0.2% |
静态类型和动态类型的语言走势