通过Stack Overflow标签分析编程语言新趋势
近日, Salsita Software 的 CEO Matthew Gertner 发表了一篇题为《通过 StackOverflow 上的标签分析软件开发语言/工具的趋势》的 博文。在文章中,Matthew 介绍了通过对 Stack Overflow 上标签的分析而得出编程语言/工具的新趋势。结论包括 Java 仍然是王者、JavaScript 很强大、Android 和 iOS 并驾齐驱等。他们还使用 D3js 将分析的结果构造成 交互式图表,用来协助分析和方便查看结果。
Matthew 考虑到 Stack Overflow 没有提供相关 API,于是自己就写了一个简单脚本来抓取相关列表和抽取标签,从而构建出了一个具有广泛性的软件开发技能相关标签数据,包括编程语言、编程开发工具等。Matthew 还将原始数据转换成一个 Google Spreadsheet 表格的数据选项卡,并以手动和自动处理的方式将这些数据又生成了一个处理过的数据选项卡。Matthew 处理数据的方式包括合并类似的标签、剔除只出现过一次的标签、将标签分类、使用 Adjusted Wald 方法计算标签出现的 置信区间。
Matthew 指出,这次分析的样本虽然比较小,但是通过分析这些标签仍然从侧面反映了一定的编程趋势,读者不妨一看。具体内容如下:
Java 仍然是王者
目前,Java 仍然是最受欢迎的编程语言,不仅有很多开发者使用 Java 进行 Web 开发,而且 Java 还是一个非常流行的服务器端语言。金融行业的很多系统以及后台都是使用 Java 开发的。同样,Android 应用的开发也需要使用 Java 语言。
JavaScript 用户非常多
JavaScript 即可以在浏览器中运行,又可以在本地运行。特别是随着 Node.js 的出现和发展,JavaScript 已成了服务器端开发的主要语言,所以 JavaScript 的用户数比较多不足为奇。然而对于能够转译成 JavaScript 脚本语言并没想象的中的那么受欢迎,诸如 TypeScript、 Dart、 PureScript、 ClojureScript 根本就没有出现, CoffeeScript 和 Haskell 仅仅出现了 5 次。
Angular.js 在类似框架中已经占据了领导地位
Angular.js 开发者的相关讨论出现在了 72 个列表中,与 Android 和 HTML 相持平。没有其它 JavaScript 框架能够和 Angular.js 相匹敌,其中 Ember.js 和 Knockout.js 只出现了 3 次, Backbone.js 出现了 23 次。Angular.js 已变成当前单页面 Web 应程序用开发的首选。
Python、PHP、C 和 C++ 正在变得越来越强
毫无疑问,这些语言同 JavaScript 不是一类语言,但是他们很明显领先于其他语言。
Android 和 iOS 并驾齐驱
关键词 Android 相对 iOS 出现稍多,但他们的置信区间几乎完全重叠。
除了以上对编程语言分析外,还分析得出开发所用操作系统的选择情况:Linux 完胜 Windows。Linux 出现了 102 次,Windows 只出现了 8 次,如此鲜明的对比,Matthew 认为微软的地位很可能正在被 Linux 取代。