根据最近一项研究显示,苹果的Swift编程语言在人气方面可谓一路高歌猛进——其吸引新鲜血液的速度正呈现出史无前例的态势。
在由开发人员研究企业RedMonk公司发布的《2015年6月编程语言排行榜》报告当中,Swift凭借强劲的人气表现荣登榜单前二十,而此时距离其正式发布还不足一年。相比之下,谷歌公司的Go语言——另一款同样人气积累迅速的编程语言——用了近四年时间才正式入主RedMonk的二十强排名。
“Swift的爆炸式增长主要源自苹果公司将其作为Objective-C继任者这一重要定位,”RedMonk公司分析师Stephen O’Grady表示。“其呈现出编程领域史无前例的普及速度,同时主要面向iOS系统平台;如果它在适用性方面能够变得更加灵活,那么我们可能会看到更为有趣的后续发展态势,”他进一步补充称。
在今年六月召开的苹果全球开发者大会上,公司软件工程高级副总裁Craig Federighi宣布,Swift语言将于今年晚些时候正式以开源面貌示人。长久以来,众多技术厂商当中掀起了一股将自家编程语言进行开源化的趋势,而苹果公司此次对Swift进行开源的决定也代表着其吸引更多开发人员的强烈意愿。
这是因为对于很多开发人员而言,开源属性已经成为选择编程语言的必要前提:如果开发方不提供其源代码,那么开发者根本就没有兴趣加以使用,O’Grady指出。“事实上,微软公司最终对.Net进行开源的作法也证明了这一点。”
在今年的青苹果开发者大会上,Federighi还提到Swift语言最终将被用于“任何平台“上的应用程序且面向多种系统环境下的编程工作。“对于Swift来说,最有趣且值得关注的一点在于,苹果公司是否会将其划归授权许可之下的开源项目并推动其登陆Linux平台。如果答案是肯定的,那么Swift必然会在苹果自有生态系统之外获得新的成长空间,”O’Grady解释称。
(同样值得一提的还有Erlang——这是一种设计用于构建超大规模、高可用性应用程序的编程语言——其最近刚刚由约束严格且未经OSI批准的Erlang公共许可转向了接纳效果更好、开放程度更高的Apache License 2.0。Erlang语言去年曾被CIO.com网站评为开发人员值得学习的重要从业技能,而O’Grady指出此次许可变更应该会降低该语言在普及当中遭遇的阻力,甚至有可能帮助其在当前第25名的水平之外进一步提升自身在人气榜中的定位。)
Go语言发展态势
去年,CIO.com网站也将谷歌的Go语言列为值得学习的语言门类,而且其也名列这一次的RedMonk编程语言人气榜二十强之内。(Go是一种类似于C的传统语言,且主要面向云环境下的开发工作——其中包含大量并发性以及垃圾收集等内置功能。)
Go语言之所以受到广泛青睐,很大程度上是由于Docker——在过去一年当中为技术行业所认同的容器平台——正是利用其编写而成。
“Go语言正在广泛普及,并在诸如Cloud Foundry以及Docker等重要项目当中得到运用,这证明了其设计者已经取得了预期中的成功,而且这些项目反过来也让Go语言受到技术从业者的普遍认可,”O’Grady表示。
虽然Swift与Go双双冲入了本次人气榜的前二十,但前十强编程语言的位置在过去几年中几乎鲜有变化。除了从Java手中夺得冠军宝座的JavaScript之外,其它上榜的高人气语言还包括PHP、Python、C#、C++、Ruby、CSS、C以及Objective-C。
根据O’Grady的观察,占据人气榜前十名的编程语言在短期之内不太可能出现大规模变动。“其中每一款语言都显示出强大的开发者吸引力,而且都在多种场景之下得到广泛使用,另外它们还各自具备独特的优势,”他解释道。
而在他看来,C#语言自身的多平台应用程序开发能力已经不足以帮助其获得新的提升,这是因为目前跨平台编程语言已经非常流行,而且它们也凭借着各自特性吸引到了一大批忠诚用户。
Dart是否已经失去了积极的发展态势?
一大棘手的问题在于,目前Dart语言确实缺乏充足的普及动力——顺带一提,Dart是由谷歌公司推出的一款开源语言,旨在取代JavaScript。Dart能够被编译为JavaScript形式(使用dar2js编译器),而且其代码编译成果在运行速度方面通常要快于手写的JavaScript代码。
从表面上看,我们似乎很难理解Dart为什么只在RedMonk的编程语言人气排名中占据第三十三位——特别是考虑到开发人员其实乐于使用在各方面较陈旧语言具备优势的新型编程语言(例如Swift)。
“Dart语言目前面临的主要挑战在于,它的设计目标在于同JavaScript这一大受欢迎的热门语言相竞争,而后者在使用广度方面呈现出爆炸式增长,而且其即可以作为理想的前端语言、又足以承担起后端开发或者说服务器端开发的任务,”O’Grady解释道。
“举例来说,Swift之所以能够在短时间内得到开发人员的青睐,主要是因为它专注于同一款被广泛使用但却不太受人待见的语言——Objective-C进行竞争。Dart则不具备这样的先发优势。”
考虑到Swift以及Go这样的语言已经在市场上占据了一席之地,其它语言将会不可避免地受到其影响。而其中一部分语言已经相当古老,而且呈现出严重的疲态——例如Visual Basic。这一语言目前在人气排行榜上已经下滑至第十九位(与之并列的还有Clojure与Groovy)。
由于缺少新鲜血液、也就是新晋程序员们的支持,VB语言名列前二十的日子可能已经不多,但其仍然会在未来继续存在下去——这是因为有相当一部分老牌开发人员对其抱有美好的回忆,换言之就是在刚刚接触编程工作时曾经学习过VB,O’Grady认为。
“虽然很多专业开发人员往往将其视为玩具,但VB语言确实大大降低了编程的入门门槛,而且其庞大的受众群体也体现在了其目前的使用量方面,”他指出。
不过在苹果与谷歌两款新型语言的轮番轰炸之下,微软阵营的这位老将还能支持多久?恐怕没人能够给出确切的答案。
原文标题:Rating programming languages – Swift is hot, Dart is not