专栏名称: 程序人生
程序人生,不止一面。关注程序员生活,汇聚开发轶事,奉送各种福利。
目录
相关文章推荐
51好读  ›  专栏  ›  程序人生

Stack Overflow分析报告,周末和工作日,开发者的喜好有什么不同?

程序人生  · 公众号  · 程序员  · 2017-07-09 10:40

正文



在周末,我只想躺着



周末,开发者们更喜欢用哪种编程语言? 本文 来自StackOverflow这个问答网站上的数据。

Kaggle上公共的StackLite数据集来研究一下在工作日和周末提出的问题有哪些差异。这个数据集可以供任何人分析;你也可以使用Kaggle Kernel开始研究你对Stack Overflow上的问题和标签的疑问。

标签对比

做这个分析的,我们需要用到那些还未删除的问题,以及使用范围超过10,000个问题的标签。我们使用UTC日期来定义周末,这可能不会完全覆盖所有用户的周末。总的来说,这包括工作日的10,451,274个问题和周末的2,132,073个问题。这个数字的差异主要是由于人们在工作日的时候大量使用了Stack Overflow,在我们的网站上发布的问题和流量中,我们都看到了这个模式。

由于工作日/周末的模式,我们并不关心周末的标签是否比工作日的标签使用的更频繁;基本上所有的标签都是在工作日的时候用的比较频繁。相反,让我们来探究一下,与工作日相比,在周末的问题中,哪些标签占据了更大的使用量,反之亦然。

哪个问题标签在相对频率上有最大的不同?

为了更好地解释这个问题,让我们来看一些数字。在这个数据集里,Haskell编程语言在周末的问题上占了0.365%,但在工作日的问题上只有0.21%,这表明在周末的时候人们更喜欢提问关于Haskell相关的问题。Sharepoint在周末的问题上占0.0683%,而工作日问题的比例是0.188%,这表明它在工作日更常用。

让我非常高兴的是,函数式编程语言Haskell在周末使用的技术中占领先地位,因为我基本上就是在周末的时候使用Haskell:

我还没有学会Haskell。但是,对所有利用周末来做这些事的人来说,这是值得称赞的!现在,享受一则关于Haskell的笑话,Haskel这门语言在学术界和数学家中非常受欢迎,但在企业环境中却不常用。


我们看到一些低级的技术在周末很流行,比如C、C++、指针和汇编,以及与数学相关的标签,比如算法、递归和(当然)数学。


Heroku和Meteor是应用程序平台,通常用于快速原型设计,这可能表明它们正在被用于周末的业余爱好者项目。


许多周末的技术都与微软相关,包括Excel、SQL Server、VBA和T-SQL相关的标签。其他的包括Oracle等企业技术。


我们也可以通过将问题的总数与相对频率进行比较结果用可视化的方式展示出来。



在这个图中,越靠近右边的标签(JavaScript, Java, C#, PHP等等)会被问到更多的问题,而越靠近左边的标签的问题是很少的。越接近虚线,表明该问题标签在周末和工作日的频率差不多,而离虚线最远,则表明该问题标签在周末/工作日的频率差异很大。

我们可以再次看到,大多数受欢迎的标签都是与微软(C#, ASP.NET, SQL Server, Excel, VBA)相关,许多周末的标签都是与C和C++等技术相关,还包括像Swift和node.js等新语言。

周末的相关工作

我们还可以使用这个数据集来检查开发人员如何随着时间的推移改变他们使用这些技术的方式。我们可以使用建模来找到那些周末比例(周末提出的问题百分比)的标签,随着时间的推移而变化最大。对于有超过20,000个问题的标签来说,与过去相比,哪些标签在周末发布的时间更少?



在这里我们看到了像Ruby on Rails和Scala这样的标记,开发人员在几年前的周末使用的频率更高,但是在现在的周末中使用的频率却越来越低了,工作日的时候却用的越来越多了。这些技术在过去是更加面向周末的,但现在是更多开发者日常工作的一部分。这些年来,版本控制系统SVN也在周末的使用中有所减少;最可能的是由于GitHub(2008年启动)的出现,使得使用SVN管理个人周末项目代码的人减少了。



我们可以看到游戏引擎Unity3D在周末的问题标签中被提及的最多,当然构建移动应用的问题标签的数量也差不多。现在看来,与前几年相比,周末的时候越来越多的开发者都投入到了游戏和应用程序的设计当中来。


直接点击, 查看每日精彩


全球100款大数据工具汇总 | 机器学习老炮







请到「今天看啥」查看全文