发新话题
打印

蔡学镛:2008编程语言走势解盘

蔡学镛:2008编程语言走势解盘

农历新年前,许多大师或老师会对名人、股市、甚至国家的运势做出各种分析,这倒是让我灵光乍现,想利用这段时间概略地分析今年编程语言的可能发展。

Java类语言:Java似乎会逐渐走下坡。J2ME会受到Google Android、Adobe Flash Lite、.NET Compact Framework的影响;J2SE的对手则是.NET和AIR;J2EE在中小型网站受到PHP、Ruby-on-Rails(RoR)很大的冲击。幸好,目前大型企业好像还是买J2EE的帐。

在J2ME和J2SE方面,未来似乎可以用JavaFX奋力一搏;在J2EE方面,也有Groovy/Grails可以抵挡RoR。尤其目前大家怀疑PHP和RoR只适合用在中小型网站,大型企业网站似乎还是用J2EE比较安心,Groovy/Grails可以保障大家在J2EE上既有的投资。如果你是Java爱好者,最近有点想改用RoR,那么你可以去看看Grails,或许你会因此想继续留在Java阵营。

PHP语言:因为PHP对初学者相当友善,所以过去这几年使用者数量增加快速,但是似乎已经到达瓶颈,这可能是RoR造成的。随着RoR推出新版,PHP会受到更大的挑战。连开发工具厂商CodeGear都在2007年推出Ruby和PHP的开发工具,显见这两个语言似乎都会逐渐走入企业市场。

Python语言:Python早就移植到.NET和Java,2008年会持续推出修订版本,而且也会推出全新的Python 3000。Python 3000不以相容于2.x版为目的,而是要运用过去培养出来的经验,彻底翻新Python。目前Python编程员的需求也已经超越Perl。

Perl语言:目标远大是一件好事,但目标远大却没有足够的资源可以完成目标,就会陷入绝境。Perl 6就是这样的例子,它比.NET更早提出,但这几年下来,.NET已经从1.0进入到3.5,Perl 6却连1.0都还没诞生。Perl擅长文字数据处理,但是在大部分语言都支持Regular Expression,加上文字数据大量XML化之后,Perl的优势已经消失大半。

Ruby语言:Ruby可能会在2008年推出2.0,加上2007年底已经推出的RoR 2.0, Ruby整个就是一股挡不住的气势。可能在2008年底之前,Ruby在TIOBE的排行榜上就会超越Perl,只剩下Python和PHP这两个对手了。

JavaScript语言:Web应用蔚为主流,而JavaScript又是浏览器的标准语言,所以这几年来相当受到重视。在Adobe推出AIR,Mozilla推出Prism之后,JavaScript可以开发出「某些种类」的桌面应用,JavaScript的用途变得更广。而JavaScript的兄弟ActionScript,随着AIR的推出又会更受欢迎一些,但是Silverlight的推出,又会抵销ActionScript成长力道。

C语言:系统语言方面,C语言的地位还是一样重要,C++则会慢慢走下坡;D语言崛起,将会接收相当多原来C++的使用者,而Delphi则是一蹶不振,当年Delphi/Kylix跨Windows/Linux的美梦已然消失。

D语言:多年来,D语言平均一个月推出两个版本,改版速度相当快,在2007年1月推出1.0版后,不出几个月,又推出2.0版。1.0版持续做bug修订,尽量不加新特色,2.0版则继续进行实验性的翻修。虽然D语言1.0才正式推出1年,但已经成为相当受欢迎的系统语言,可惜至今仍然没有很好用的IDE。

Lua、PowerShell、Erlang语言:可说是未来几年窜升力道最强的潜力之星,但都还不至于成为主流语言。Lua是相当小的语言,适合嵌入其他的环境中,和其他语言一同使用,根据TIOBE开发语言排行榜数据显示,这几年Lua越来越受到重视,尤其2007年Lua更是往上猛窜二十几个名次,由此可见Lua的需求大增。随着Windows Vista系统的出货,未来几年PowerShell会成为相当重要的系统管理语言。目前的多核心环境、网络分布式计算、容错的需求,则让Erlang持续受到重视。

Roughly Drafted Magazine的报导指出,在2007年第三季,Apple iPhone在美国的Smartphone市场占有率已经到达27%,超过Windows Mobile。继美洲和欧洲之后,2008年iPhone会在亚洲开始贩卖,并推出第二代机种,也预计在2008年推出SDK(软件开发工具包),让我们可以为iPhone写原生(Native)程序。

所以,如果你需要为Smartphone开发应用,除了考虑Windows Mobile之外,你也必须思考是否要用Objective-C语言开发的MacOS应用了(iPhone使用精简版的MacOS X)。

转换语言的成本通常很高,所以一年之内,各个语言通常不会有太大的兴衰变化,这篇文章其实是描述以2008为中心,前后数年期间各类编程语言的整体状况;把时间拉长,发展态势会比较明显,不受到短期震荡的影响,预测未来就不至于太过离谱,让大家当作未来选择语言的参考。

作者简介:
蔡学镛-技术顾问
清华大学资讯工程硕士,曾任华硕集团软件工程师、元智大学信息系讲师、美商欧莱礼出版社技术编辑、台湾微软特约专栏作家

TOP

看好Python、Erlang、PowerShell、PHP和D语言

TOP

TIOBE Programming Community Index for March 2008

March Headline: Ruby after 4 months back in the top 10 again The TIOBE Programming Community index gives an indication of the popularity of programming languages. The index is updated once a month. The ratings are based on the number of skilled engineers world-wide, courses and third party vendors. The popular search engines Google, MSN, Yahoo!, and YouTube are used to calculate the ratings. Observe that the TIOBE index is not about the best programming language or the language in which most lines of code have been written.
The index can be used to check whether your programming skills are still up to date or to make a strategic decision about what programming language should be adopted when starting to build a new software system. The definition of the TIOBE index can be found here.


[ 本帖最后由 sunjava 于 2008-3-24 12:43 编辑 ]

TOP

发新话题