“世上其实只有两种编程语言,一种是大家一直喷它难用的,一种是根本没人用的。”——C++的作者BjarneStroustrup如是说
咳咳,那么,什么样的语言算是“没人用”的呢?我们决定从3个方面综合分析,即:
1、使用这个语言的用户数量少;
2、招聘这个语言相关工作的职位少;
3、这个语言的相关讨论少。
这三方面分别代表了一种编程语言的总体用户增长状况、就业市场前景、社区活跃度——要是这三个指标都堪忧,那你最好还是早点弃坑为妙。
好了,不卖关子了,我还是先放出最后的分析结果吧。我们奉劝各位在年千万别碰的5种编程语言是:Dart、Objective-C、CoffeeScript、Lua以及Erlang。
声明:我们并不是在毁谤这些编程语言的有用性,也不是在质疑它们的价值,本文仅仅是对这些编程语言的总体用户增长状况(也就是程序员有多愿意用这个语言开发产品)、就业市场前景、社区活跃度等三大指标进行量化分析和横向对比。
#1Dart
Dart是Google在年推出的一种开放源代码的,面向对象的通用编程语言。它常被用来开发web应用,服务器和移动应用,还被用在物联网设备上。
注:本文撰写时,GoogleFlutterSDK还未正式发布,所以这一新的开发框架能不能给Dart带来起死回生的第二春,还要看它在年的表现。
Dart的社区活跃情况
诚然,Dart是一门比较新的编程语言,有人可能会觉得,一门新语言的用户量不大,应用不太广,也无可厚非呀?但看看,跟它同期的还有Kotlin和Elixir,而在它之后还有Elm、TypeScript、Rust和Swift等。特别是把Dart和新生的Swift一比,差距就相当明显了。
从6大不同社区平台的活跃情况来看,虽然Dart的数据也不是特别低,但相对来说都大大低于跟它同期的Kotlin、Elixir、TypeScript以及Swift等编程语言。
Dart的增长情况
在增长情况方面,Dart的表现相对于它在社区和就业方面的成绩来说,还算尚可。比如,Dart的用户数量曲线总体保持稳定,比起Elixir和Rust来说,Dart在年还有小小的提升。这和Swift形成了鲜明的对比——从发布以来,Swift的大起大落就一直非常具有戏剧性。
Dart的就业市场
从就业情况方面分析,Dart基本上已经死透了。上图是在技术栈中包含有Dart语言的公司数量统计。虽然有Google、Wrike、Workvia以及Blossom这样的公司还在使用Dart,但总体上来说,并没有很多职位是面向Dart开发者的。
对于Dart语言的开发者,好消息是,对需求Dart语言的职位来说,竞争会不那么激烈。毕竟用这门语言的人比较少,如果企业有相关的需求,那跟你竞争的人也多不到哪里去。然而,坏消息是,这种类型的职位需求也没几个。
所以,为啥我最好别学Dart?
Dart是由Google开发并维护的编程语言。虽然Google在推广Dart上不遗余力,但这反而成为了一个痛点:这玩意的存活和发展太依赖于Google了,导致Google以外的程序员不是太敢以它为主要开发工具。
另外,虽然Dart也有两把刷子,但在如今的编程世界里,它的价值并不显著。有业内人士认为,Dart会死的主要原因是“不管它的特性有多牛,或者宣称用它进行Web开发有多简单,事实上,类似的编程语言海了去了,它们也都这么说…所以Dart看起来也并不怎么脱颖而出嘛。”
虽然除Google外,确实也还有一些企业在使用Dart,但如果你认真分析,你就能发现,一门好的编程语言需要的“用的人多”、“社区活跃”、“钱景广泛”这三点,Dart没有一项能挨得上边——这也是为啥我们把它放在榜首的原因。
#2Objective-C
Objective-C是一门面向对象的通用编程语言,最初是在年问世的。你对它应该会有点印象——这是在Swift面世之前,用来给OSX和iOS系统编写应用程序的官方指定语言。虽然许多程序员已经改用Swift,还是有人依旧深爱着Objective-C。
Objective-C的社区活跃情况
如今Objective-C在社区活跃度方面排行倒数第三,仅仅优于CoffeeScript(倒二)和Dart(倒一)。虽然在StackOverflow和GitHub仓库的数量上还算不错,但在其他社交媒体平台上,Objective-C已经褪去了往日的光环,变回了小透明。
虽然和Erlang相比,Objective-C的仓库数量确实比较多,但这似乎主要还是归功于Objective-C那业已不再的往日荣光——毕竟它曾是Apple官方的指定编程语言,推出的时间也比Erlang早了两年。然而,自从Apple有了新欢以后,虽然还有程序员在用Objective-C进行开发,但明显已不再那么倾力投入,毕竟在Swift的光环之下,宝刀已老的Objective-C能活多久还得打个问号。
Objective-C的增长情况
从图中我们可以明显看到,自从年Swift问世后,Objective-C就一直在走下坡路。然而,每年Objective-C还是会有一些小小的反弹——然而这也无法阻止它一步一步走向衰亡。这和C语言每年上下波动起伏的曲线形成了鲜明的对比。
Objective-C的就业市场
虽然廉颇老矣,又有强敌Swift环伺,Objective-C在就业市场的表现还算相当不错了。它在使用的企业数量中排行第四,在程序员岗位数量上排行第五,总体就业市场评分排行第六。
对于目前Objective-C开发者来说,需要维护用Objective-C写成的旧代码的企业还是很多,职位也不少。然而,由于历史原因,会Objective-C的程序员总体上更多,所以目前基本上算是买方市场,这门技术并不算奇货可居。
所以,为啥我最好别学Objective-C?
虽然目前Objective-C的就业市场还算吸引人,但建议你别学Objective-C的主要理由是,这门语言已经不再发展了。
如果你是新接触编程,正在考虑学哪门语言,你可能会发现,当你学完Objective-C的时候,许多企业可能已经更新了技术栈,不再需要这方面的职位了。这就使得学Objective-C变成一项风险巨大而回报堪忧的精力投入。
不仅如此,Objective-C在用户增长和社区活跃度上都不理想,这表示主流开发者已经逐渐抛弃了它,它将慢慢被Swift所代替。既然如此,你不如直接去学Swift对吧?
#3Coffeescript
Coffeescript是年发布的一个编程语言,它是javaScript的转译语言。它的语法糖(指计算机语言中添加的某种语法,这种语法对语言的功能没有影响,但是更方便程序员使用)受Ruby、Python和Haskell的启发。Coffeescript不会在编译过程中进行解释.已有的JavaScript类库可以无缝地和CoffeeScript搭配使用。事实上,甚至有开发者声称,你应该用CoffeeScript代替JavaScript。
Coffeescript的社区活跃情况
在社区活跃度方面,CoffeeScript在这20门编程语言中只拿到了倒二,比Objective-C还惨,只比Dart高一点。特别在GitHub仓库数量和StackOverflow的标签数量上,CoffeeScript的表现实在是太惨淡了。最后,它也只是在推特上稍微表现好点,粉丝数大约是个。这说明大家似乎只是围观一下CoffeeScript的各种新闻,真正投入使用的寥寥无几。
CoffeeScript的增长情况
CoffeeScript的就业市场
在就业市场方面,CoffeeScript总体评分排行第九。在技术栈里采用CoffeeScript的公司数量接近个,排行第七;在开发人员数量方面,CoffeeScript排行第八,居于中等。
对现有的CoffeeScript开发者来说,这样的评分算是个好消息。这意味着有相对足够数量的职位,而竞争这些职位的人不算太多。同时,不像可怜的Objective-C,起码目前还没有哪种语言是专门来挤占CoffeeScript的生态位的。
所以,为啥我最好别学CoffeeScript?
类似Objective-C,CoffeeScript在社区活跃度和用户增长情况方面都不太乐观。从社区活跃情况来看,程序员们对这门语言并不是太热衷。
另一方面,CoffeeScript也已经发布了快10年了,各种新的语言,以及更新版本的JavaScript带来了更新的特性,这使得CoffeeScript相对竞争力不足。虽然并没有一个主要的竞争者来直接代替它,虽然还有一些技术栈采用CoffeeScript,但程序员的目光更多地还是落在哪些新兴的事物上,对CoffeeScript的