程序员周末常用的编程语言和技术有这些

2018 年 3 月 18 日 Linux爱好者

(点击上方蓝字,可快速关注我们)


英文:Julia Silge,编译:伯乐在线/至秦


对我个人而言,我周末大部分时间都是陪伴家人,读书休闲,或者花时间在我参与的开源项目上。这些周末项目会和我在 Stack Overflow 的工作有所重叠,但又不完全一样。许多程序员是为了学习或者职业发展的目的(或只是为了好玩!)而参与副业项目的。无论是专业的还是业余的,在 Stack Overflow 上,都可以得到我们的技术支持。 无论程序员何时工作,我们都可以回答他们的问题。但和工作日相比,在周末什么语言的问题更容易被问到呢?

我们 StackOverflow 在 Kaggle 上公开了 StackList 数据集,可以用来挖掘工作日和周末问答帖的差异。任何人都可以使用这个数据集,你也可以用来探究自己对 Stack Overflow 上问题和标签的疑问。

比较标签

在这个分析中,我们将使用(未删除的问题)和(被超过10,000个问题使用的标签)。我们利世界标准时间来定义周末,这样不会与所有用户的周末时间精确匹配。整体上,工作日有10,451,274个问题,周末有2,132,073个问题。数字上的差异主要由于人们大部分还是在工作日使用Stack Overflow,我们从问答帖的数量和网站流量上都观察到这样的现象。

正是由于这种工作日和周末的现象,我们并不关心标签是否在周末比工作日常用,基本上所有的标签都是在工作日较为常用。实际上,我们希望挖掘什么样的标签,在周末问题中的占比要比工作日的大,反之亦然。

哪些问题标签在相对占比上会有最大的差别呢?

为了进一步解释,让我们来看下数据。在这个数据集中,编程语言 Haskell 在周末问题中的占比为 0.365%,而工作日的占比只有 0.21%,这表明它在周末特别受欢迎。Sharepoint 在周末问题占比为 0.0683%,工作日占比为0.188%,表明它在工作日比较常用。

这让我很兴奋,说明 Haskell 这个函数式编程语言引领着周末技术,基本上我就像下图这样:

我还没有学习 Haskell。但是所有利用周末时间来学习它的程序员们一定不会失望!至少现在你可以享受这个关于 Haskell 的笑话了,Haskell 经常被学者和数学家们使用,但在公司里面不太常用。

让我们看看还有什么发现!

  • 我们看到一些底层技术在周末比较热门,比如 C、C++,指针和汇编,还有数学相关的标签,比如算法、递归和数学。

  • Heroku 和 Meteor 是经常用来快速开发原型的应用平台,这表明它们经常被用于周末的副业项目。

  • 很多工作日的技术都和微软有关,标签包括 Excel,SQL Server,VBA 和 T-SQL。其它类似的企业技术还有 Oracle。

通过比较整体问题的数量和相对频率,在下图中我们可以很形象地看到这些联系。

图中越靠右侧的标签(比如 JavaScript,Jave,C# 和 PHP 等)表示相关的问题越多,反之越靠左侧的标签表示问题越少。越靠近图中红色虚线的标签,表示问题在周末和工作日的占比越接近,离虚线越远的标签表示周末和工作日占比的差距越大。

我们还可以观察到,工作日中最常用的标签都和微软有关(C#,ASP.NET,SQL Server,Excel和VBA),很多周末标签涉及的技术包含 C 和 C++,以及像 Swift 和 Node.js 这些新语言。

为周末工作

透过这个数据集,我们还可以观察到随着时间演变,程序员如何更新他们所使用的这些技术。透过模型,我们可以找到周末占比(周末被问到问题的百分比)变化最大的标签。对于那些超过20,000个问题的标签来说,和过去相比,哪些被问到的数量变少了。

我们发现,一些前几年程序员经常在周末使用的标签,比如 Ruby on Rails 和 Scala,现在却很少在周末使用了,反而在工作日使用得比较多。过去这些技术是更偏向周末用的,但现在经常出现在程序员的日常工作中。这些年来,版本控制软件 SVN 的使用也日趋减少,随着 GitHub 平台的出现,导致更少的程序员使用 SVN 来管理个人的周末项目。

如果我们想找到在周末活动中增长最快的标签,那无疑是游戏引擎 Unity3D,以及一些和创建移动应用相关的标签。看上去程序员在周末比以往设计更多的游戏和应用。这绝对是度过周末的绝佳方式!

我们是采用了公开数据进行这次分析的,也希望社区中的其他程序员,可以有其它的发现。我们数据团队利用类似的数据集回答各种问题,包含理解和招聘程序员,并与他们保持互动。你可以透过 Stack Overflow 上的Developer Insights 栏目,来获取更多关于我们如何利用数据分析解决问题的案例。

周末投身于编程项目或学习的程序员,大家常用哪些编程语言(技术)呢?欢迎留言讨论~


看完本文有收获?请转发分享给更多人

关注「程序员的那些事」,提升编程技能

登录查看更多
0

相关内容

Stack Overflow 是一个程序设计领域的问答网站,隶属于 Stack Exchange 网络。
【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
56+阅读 · 2020年6月26日
【干货书】用于概率、统计和机器学习的Python,288页pdf
专知会员服务
281+阅读 · 2020年6月3日
【实用书】Python数据科学从零开始,330页pdf
专知会员服务
139+阅读 · 2020年5月19日
【干货书】机器学习Python实战教程,366页pdf
专知会员服务
332+阅读 · 2020年3月17日
【经典书】Python数据数据分析第二版,541页pdf
专知会员服务
189+阅读 · 2020年3月12日
年薪48万的程序员,他究竟做对了什么?
机器学习算法与Python学习
7+阅读 · 2018年12月28日
Python 杠上 Java、C/C++,赢面有几成?
CSDN
6+阅读 · 2018年4月12日
2年Java经验,真的就拿不到30万年薪吗?
程序员观察
3+阅读 · 2018年4月8日
数据科学与机器学习数据集
Datartisan数据工匠
8+阅读 · 2017年12月14日
Python NLP入门教程
计算机与网络安全
8+阅读 · 2017年11月21日
Python NLP 入门教程
大数据技术
19+阅读 · 2017年10月24日
Arxiv
5+阅读 · 2018年12月18日
Arxiv
3+阅读 · 2018年10月18日
Deep Randomized Ensembles for Metric Learning
Arxiv
5+阅读 · 2018年9月4日
Arxiv
3+阅读 · 2018年4月5日
Arxiv
7+阅读 · 2018年3月21日
VIP会员
相关VIP内容
相关资讯
年薪48万的程序员,他究竟做对了什么?
机器学习算法与Python学习
7+阅读 · 2018年12月28日
Python 杠上 Java、C/C++,赢面有几成?
CSDN
6+阅读 · 2018年4月12日
2年Java经验,真的就拿不到30万年薪吗?
程序员观察
3+阅读 · 2018年4月8日
数据科学与机器学习数据集
Datartisan数据工匠
8+阅读 · 2017年12月14日
Python NLP入门教程
计算机与网络安全
8+阅读 · 2017年11月21日
Python NLP 入门教程
大数据技术
19+阅读 · 2017年10月24日
Top
微信扫码咨询专知VIP会员