农历新年前,许多大师或老师会对名人、股市、甚至国家的运势做出各种分析,这倒是让我灵光乍现,想利用这段时间概略地分析今年编程语言的可能
发展
。
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 为中心,前后数年期间各类编程语言的整体状况;把时间拉长,发展态势会比较明显,不受到短期震荡的影响,预测未来就不至于太过离谱,让大家当作未来选择语言的参考。
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 为中心,前后数年期间各类编程语言的整体状况;把时间拉长,发展态势会比较明显,不受到短期震荡的影响,预测未来就不至于太过离谱,让大家当作未来选择语言的参考。