“夜猫子”使用的是什么编程语言?

你们晚上编程吗?深夜怎么样?

我喜欢把编程作为一种爱好,我有点夜猫子的感觉,所以我经常在工作时间之外编写代码,有时甚至超过午夜。无论何时,当我遇到一个bug时,我都会访问Stack Overflow。

这意味着Stack Overflow数据可以让我们了解到在晚上或晚上有哪些开发人员的程序,反之,哪些编程语言只在工作日使用。在这篇文章中,我们将研究一天中什么时候访问了哪些标签,还比较了主要城市,以了解它们的工作时间有何不同。

日间流量

2016年8月,我在问题最多的250个标签中,按小时对Stack Overflow的访问进行了调查。我们根据每个IP地址估算时区并计算本地时间。(这不是一个完美的过程,但是检查显示它总体上是可行的。)

我选择8月只是因为它避开了大多数西方节日和典型的学年,从而降低了学生的影响力(他们可能在晚上进行家庭作业并使用其他技术)。我还尝试过仅调查美国游客,结果在质量上是相似的。

我们从一个简单的问题开始:人们什么时候访问Stack Overflow?

“夜猫子”使用的是什么编程语言?

Stack Overflow可以帮助程序员完成他们的工作,所以我们的流量在工作日期间激增也就不足为奇了,在上午9点到下午5点之间,这个网站每小时至少会有100万人次的访问量。你甚至可以在中午12点开发人员吃午饭的时候看到一个下降趋势。

前一篇文章所述,Stack Overflow在周末的活动要少得多,早上的流量特别少,午餐时间不多(开发人员利用周末的时间睡个懒觉!)。我们还注意到星期五比其他工作日要低,尤其是在下午和晚上。

对于本文的其余部分,我们将考虑星期一至星期四,以避免星期五的流量差异影响分析。

标签之间的差异

我们已经看到人们在什么时候访问Stack Overflow的问题,但是对于使用特定编程语言的程序员来说,这有什么不同吗?

让我们考虑访问四种流行的编程语言的日常趋势:C,Python,Javascript和C#。请注意,我们正在将该标签的“访问百分比”标准化,以便可以将较大的标签与较小的标签进行比较。

“夜猫子”使用的是什么编程语言?

我们可以看到所有语言的总体趋势是相似的:所有类型的程序员在他们的工作中都使用Stack Overflow,晚上睡觉、午餐休息等等。然而:

  • C#程序员更早开始和结束一天的工作,并倾向于在晚上较少使用该语言(请注意晚上6点至11点左右相对活动的不同)。这可能是因为C#经常用于财务和企业软件公司,这些公司通常开始较早,并且有严格的时间表。
  • C程序员开始工作的时间要晚一点,晚上继续使用C语言,熬夜的时间最长。这表明C语言可能在业余程序员中特别受欢迎,他们在业余时间编写代码(或者可能在暑期学校做作业的学生中)。
  • Python和Javascript介于两者之间: Python和Javascript开发人员的开始和结束时间比C#用户晚一些,比C程序员晚一点开始和结束工作。

果你想比较一下自己最喜欢的语言,我们在这里共享了一个交互式应用程序

朝九晚五最常使用的语言是什么?

上图表明,一种语言最显着的特征之一是其在工作日(特别是当地时间上午9点至下午5点)所占的流量百分比。在上图中的四种语言中,C# 被认为是“朝九晚五最多的语言”,而C是最少的语言。

在250个最常见的标签中,哪些标签在工作日的流量最多,哪些最少?

“夜猫子”使用的是什么编程语言?

在工作日主要使用的技术包括许多Microsoft技术,例如SQL Server、Excel、VBA和Internet Explorer,以及企业软件公司经常使用的SVN和Oracle等技术。

另一方面,在工作日之外使用的许多技术包括像Firebase、Meteor和Express这样的web框架,以及像OpenGL和Unity这样的图形库。函数式语言Haskell是工作日之外访问次数最多的标签:只有一半的访问发生在9点到5点之间。

你可能会认识到,其中许多技术都反映了我们先前对工作日和周末使用的技术的分析,直到Haskell,assembly和OpenGL成为“工作时间/天外使用最多的技术”。看来这两个指标衡量的东西非常相似。

与其查看最极端的内容,不如将它们与流量的相对频率进行比较。

“夜猫子”使用的是什么编程语言?

我们可以看到,在Stack Overflow上使用最多的编程技术中(每天有超过10万的访问量),C #、SQL、SQL Server和Excel在9到5之间的使用比例最高,而Android、iOS、Swift和Node的使用比例最高。JS、C ++和 C 更多的是在工作时间之外访问。

我们可以选择一些有趣的技术,并将它们可视化为动画。

“夜猫子”使用的是什么编程语言?

请注意,Microsoft的技术(Excel,VBA,C#)首先是在早晨呈上升趋势,然后在朝九晚五的时间里保持领先。接着在下午5点左右转移到C / C ++、移动技术,尤其是Haskell,它在深夜是独立的。

“早起的人”或“下午工作的人”使用哪些技术?

你可能已经在上图中注意到,每个标签的下午相对于早晨都有一个峰值。实际上,这个数据集中几乎所有的标签都是如此。他们都是在下午至少比早上多被访问了一点点。在某些情况下,差异比其他情况更大。

我们可以将其计算为“早晨/下午比率”,找到上午9点至12点之间的相对流量,然后将其除以下午1-4点之间的流量。因此,较高的比率(接近1)意味着在上午和晚上,而较低的比例则意味着一些开发人员在当天晚些时候开始进行此工作。

“夜猫子”使用的是什么编程语言?

我们可以看到到目前为止我们一直在研究的“朝九晚五”指标的相关性。主要从9点到5点使用的技术也可能被“早起的人”使用。这对我来说是有意义的;经常在9点开始工作的开发人员更有可能在5点左右完成工作,而不会一直工作到晚上。

但这并不是完全相关的。例如,让我们考虑在“上午/下午”比率的极端情况下的三种技术。

“夜猫子”使用的是什么编程语言?

请注意,SVN和Haskell符合这样的说法,即朝九晚五的员工通常是早起的人,反之亦然;SVN强烈地向朝九晚五的方向移动,特别是从10点到11点的高流量,而Haskell的流量在工作日期间增加,然后在晚上保持强劲。Matplotlib显示了一种不同的趋势:它具有相当典型的9比5的比率,但在下午使用的次数要多于早晨。也许Python数据科学家不是早起的人。(我使用R而不是Python,但我很同情!并且类似地,R是比大多数技术更“下午”的技术。)

同样,请随时在交互式应用程序中尝试其他一些技术。

按城市来看

到目前为止,我们一直在比较编程语言技术。但是,正如我们在较早的博客文章中所看到的,检查Stack Overflow流量在不同地区之间的差异也很有趣。

特别要考虑的是(本月期间)Stack Overflow流量最多的50个城市。哪些城市的开发者倾向于在9点到5点之间,或者经常在工作时间以外的时间访问?

“夜猫子”使用的是什么编程语言?

最严格的朝九晚五工作时间的城市大多在西欧,如伦敦、巴黎、马德里和阿姆斯特丹。许多倾向于在当地工作时间以外拜访的城市位于东亚(奎松市、东京、首尔)或东欧(莫斯科、基辅),以及加州的洛杉矶和旧金山。但它在晚上的节目编排方面并不是特别引人注目,在全球和美国的节目编排中,纽约都是中等水平。

为了理解这一点,让我们仔细看看每个极端的城市。

“夜猫子”使用的是什么编程语言?

伦敦和巴黎白天均显示大量流量高峰,而晚上则下降至较低水平,其模式可与(例如)全球C#访客的平均水平相媲美。

另外两个城市的趋势可能与远程工作有关。奎松市的一些开发商可能会为美国或欧洲的公司工作,并保持夜间活动以改善合作。莫斯科可能是类似的情况,与美国公司合作的开发人员在当天晚些时候开始工作。

我最后(也是最喜欢的)观察是,巴黎的开发人员午休时间最长、最稳定。如果我住在巴黎,我也会的。

原文链接:https://*.blog/2017/04/19/programming-languages-used-late-night/