农历新年前,许多大师或老师会对名人、股市、甚至国家的运势做出各种分析,这倒是让我灵光乍现,想利用这段时间概略地分析今年编程语言的可能发展。
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为中心,前后数年期间各类编程语言的整体状况;把时间拉长,发展态势会比较明显,不受到短期震荡的影响,预测未来就不至于太过离谱,让大家当作未来选择语言的参考。
作者简介:
蔡学镛-技术顾问
清华大学资讯工程硕士,曾任华硕集团软件工程师、元智大学信息系讲师、美商欧莱礼出版社技术编辑、台湾微软特约专栏作家
分享到:
相关推荐
2012中国软件开发者大会(SDCC2012)的第五场分论坛“编程语言”中,创新工场首席架构师蔡学镛做了题为“认识Google Dart语言”的演讲,深入浅出地帮助研发人员建立了对于Dart的基本了解和判断,并对“Dart是进可攻...
### 蔡学镛软件架构入门 #### 一、软件架构定义及理解 软件架构是软件系统的基础骨架,它定义了软件系统的主要组件及其相互之间的关系。架构是软件设计的一个重要方面,它不仅决定了系统的组织结构,还影响着系统...
从蔡学镛的《香鸡排三部曲》中,我们可以提炼出一系列关于IT行业,尤其是程序员职业状态的深刻洞察,以及对台湾社会经济环境的反思。以下是对该系列文章中涉及的关键知识点的深入分析: ### 程序员的社会地位与薪酬...
通过《编程ING:人人都能学会程序设计》一书,你就能拥有这样的能力,甚至培养出对编程的兴趣。 本书在编写上采用了心理学的一些技巧,每一页都有绘制精美的彩图并配有相应的说明文字,通过图的方式加强说明,而且...
7. 常见函数式编程语言:Haskell、Erlang、Clojure、Scala和F#都是支持函数式编程概念的流行语言。每种语言都有其特定的方式实现函数式编程的范式。 8. 模式匹配:模式匹配是许多函数式语言提供的一个强大特性,它...
Java编程语言是由James Gosling在Sun Microsystems开发的一种高级通用编程语言,自1995年发布以来,它已经成为软件开发领域的重要支柱。Java以其“一次编写,到处运行”的跨平台特性,广泛应用于企业级应用、桌面...
蔡学镛在平安科技上课时的课件
本简报由蔡学镛老师制作,旨在分享一种能够让观众保持高度专注的简报设计方法——“不瞌睡的简报设计模式”。此模式融合了尼古丁和咖啡因的概念,寓意通过激发兴趣和活力的方式使简报更加吸引人。 #### 简报三要素...
《PPT制作技巧:不瞌睡的简报设计模式——支付宝蔡学镛》是一本深入浅出地探讨如何创建引人入胜、高效传递信息的PPT作品的专业指南。作者蔡学镛,作为支付宝的知名专家,他在书中分享了自己的经验与见解,帮助读者...
蔡学镛的《Java夜未眠》是一部集理论与实践于一体的技术著作,旨在帮助读者深入理解Java编程语言,并掌握其应用技巧。书中不仅包含了蔡学镛本人多年来的学习心得和技术经验,还融入了他对Java技术发展的独到见解。 ...
### 中学生编程(蔡学镛) #### 知识点概览 1. **Red语言介绍** - Red语言概述 - Red语言的特点 - Red语言的应用领域 2. **Red语言环境搭建** - Windows操作系统的环境配置 - macOS操作系统的环境配置 - ...
蔡学镛架构设计方法强调在进行软件架构设计时,应当遵循一系列原则和步骤以简化设计过程、提高设计效率,并确保系统能够应对未来的业务扩展和变化。该方法提出首席架构师在系统架构老化后应当发起重构,以保持架构的...
《Java夜未眠》是台湾知名程序员蔡学镛的一部专为Java工程师撰写的著作,旨在深入探讨Java编程语言的方方面面,帮助读者提升技术水平和理解深度。这本书在Java社区中享有较高的声誉,对于想要深入了解Java的开发者来...
在《第五期 蔡学镛软件架构入门第二场 蔡学镛.pptx》这一材料中,作者首先对“软件架构”进行了定义与阐述。软件架构不仅仅是关于代码的组织方式,更是一种高层次的设计思路,它关注的是系统的结构和行为,以及它们...
软件架构入门培训资料,强烈推荐
- **快速开发**:通过脚本语言编写程序通常比使用传统的编程语言更快。 - **灵活性高**:脚本语言通常更加灵活,易于修改和扩展。 - **更高的抽象级别**:脚本语言往往具有更高的抽象级别,使得开发者能够更专注于...
- **开发语言的选择**:函数式编程语言因其易于编写并行和分布式程序的特点,在云计算领域受到欢迎。同时,大型科技公司也在推动自家编程语言的发展,以适应云计算的需求。 #### 七、云计算的商业模式 云计算改变...
蔡洪平:制造业方面唯一的发展途径是机器人化.pdf
金旭亮引用了台湾技术专家蔡学镛的观点,强调学习过程中的正向兴趣循环是关键。他认为,教师的角色更应是激发学生兴趣的引路人,而不是知识的灌输者。通过有趣且实用的编程语言,可以让学生在实践中感受到编程的乐趣...