栗子 鱼羊 发自凹非寺
  量子位 出品 公众号 QbitAI

  大神程序员,夜夜 coding 到天明?

  有位名叫 Ivan Bessarabov (简称“伊万”) 的好事者,刚刚统计了各路大佬的代码提交 (git commit) 时间分布。

  包括 Linux 之父,Python 之父,Go 语言的作者……

夜夜coding到天明?Python之父昼伏夜出,PHP创始人24小时在线-风君雪科技博客

  伊万考虑了时区,并把多人合作提交的代码踢出去没算。

  结果很有意思,发现了几个不同的物种:正常人类,夜行兽,还有……永动机。

  这引起了网友的热烈讨论,Hacker News 热度已经超过 600 点:

夜夜coding到天明?Python之父昼伏夜出,PHP创始人24小时在线-风君雪科技博客

  正常人类

  正常人类通常在白天工作。

  然而在程序员大佬中,这个物种并不常见。

  Go 语言的作者Rob Pike 看上去算是个非常正常的人类:

  (第一列是时间,第二列是代码行数。)

夜夜coding到天明?Python之父昼伏夜出,PHP创始人24小时在线-风君雪科技博客

  Go 项目的 repo 显示,Rob 的工作时间集中在上午 9 点到下午 5 点之间,朝九晚五,非常健康。

夜夜coding到天明?Python之父昼伏夜出,PHP创始人24小时在线-风君雪科技博客

  虽然一天就睡 5 个小时,似乎业余时间也都在 coding 吧,但总之,组织鉴定他是个正常人类!

  下面这位“正常人类”,画风就开始有点不一样了:

夜夜coding到天明?Python之父昼伏夜出,PHP创始人24小时在线-风君雪科技博客

  这来自Linux 之父 Linus Torvalds:

夜夜coding到天明?Python之父昼伏夜出,PHP创始人24小时在线-风君雪科技博客

  白天工作,没问题。但是这位大神的代码从早上 7 点就开始有喷发之势,这个劲头几乎能持续到晚上八九点钟。

  睡眠时间比上面那一位又缩短了一个小时,不算上发呆时间的话。

夜夜coding到天明?Python之父昼伏夜出,PHP创始人24小时在线-风君雪科技博客

  这简直是正常人类里的战斗机。

  而根据网友爆料,Linus 可能是被迫成为正常人类的,在他有孩子之前,他也是昼伏夜出的夜行生物。

夜夜coding到天明?Python之父昼伏夜出,PHP创始人24小时在线-风君雪科技博客

  还有的人的画风是这样的:

夜夜coding到天明?Python之父昼伏夜出,PHP创始人24小时在线-风君雪科技博客

  这是FFmpeg 的作者 Fabrice Bellard在这个项目上的工作时间,真是越夜越开心啊。

  令人好奇的是,这位大佬是会睡着睡着觉灵感突发蹦起来提交代码的吗……

  夜行兽

  说不上什么科学道理,但程序员大佬的身体构造可能发生了什么诡秘变异。

  他们中间夜行生物的比例似乎要高于正常人类。

  比如像这样:

夜夜coding到天明?Python之父昼伏夜出,PHP创始人24小时在线-风君雪科技博客

  这是LiveJournal 的作者 Brad Fitzpatrick在 memcached 项目上的提交。

夜夜coding到天明?Python之父昼伏夜出,PHP创始人24小时在线-风君雪科技博客

  大佬疯狂熬了一宿,灵感喷涌而出,太阳当空照的时候,他就满意地去睡觉了。

  Brad 对 Go 语言也有代码贡献,在这个项目上他的画风更加狂野了:

夜夜coding到天明?Python之父昼伏夜出,PHP创始人24小时在线-风君雪科技博客

  LLVM 编译器的作者 Chris Lattner也是当之无愧的夜行兽,他曾在苹果和特斯拉工作,现在则加入了谷歌。

夜夜coding到天明?Python之父昼伏夜出,PHP创始人24小时在线-风君雪科技博客

  他的代码提交时间长这样:

夜夜coding到天明?Python之父昼伏夜出,PHP创始人24小时在线-风君雪科技博客

  别人都是朝九晚五,这位大概是晚九朝五吧……

  研究了那么多大佬,伊万小哥自然不会放过那位仁慈的独裁者Python 之父 Guido van Rossum同样被戳上了夜行兽认证。

夜夜coding到天明?Python之父昼伏夜出,PHP创始人24小时在线-风君雪科技博客

  这样的代码提交时间似乎在说:美好的一天从下午开始,夜晚才是真正的 coding time!

夜夜coding到天明?Python之父昼伏夜出,PHP创始人24小时在线-风君雪科技博客

  至于夜行兽们为什么 24 小时都在提交代码,大概他们像猫一样白天也想醒就醒吧……

  永动机

  除了日行和夜行,还有一个物种叫白夜行,他们不止 24 小时提交代码,且产能没有重大波动。

  “世界上最好的语言”PHP 的创始人Rasmus Lerdorf,便是一个优秀的代表。

夜夜coding到天明?Python之父昼伏夜出,PHP创始人24小时在线-风君雪科技博客

  由于 GitHub 上找不到初版 PHP,伊万便统计了这位创始人在php-src项目上的提交时间:

夜夜coding到天明?Python之父昼伏夜出,PHP创始人24小时在线-风君雪科技博客

  看得出,越到晚上越是兴奋,但白天体能也并没有太多损耗。

  不过这个物种里,还有产能更加强盛的个体。

  下图是两个 Web 框架,和它们的作者,名叫Sebastian Riedel

夜夜coding到天明?Python之父昼伏夜出,PHP创始人24小时在线-风君雪科技博客

夜夜coding到天明?Python之父昼伏夜出,PHP创始人24小时在线-风君雪科技博客
都是基于 Perl 语言的框架

  这是他在 Mojolicious 框架项目里的提交时间表,数字快要爆炸了:

夜夜coding到天明?Python之父昼伏夜出,PHP创始人24小时在线-风君雪科技博客

  高产的时段,依然集中在夜晚。

  但即便是产能最低的早上 8 点和 9 点区间,也都超过了 100 行。

  伊万统计到这里,都不由地惊叹:

这时间表是疯了。好嫉妒他的生产力。

  这样看来,每个物种都有各自的战斗机。

  强大的战斗力难分高下。

  谁喜欢周末写代码?

  伊万的观察结果,被著名夜行者之一、LLVM 编译器的作者 Lattner 翻了牌。

夜夜coding到天明?Python之父昼伏夜出,PHP创始人24小时在线-风君雪科技博客

  他提了个建议,说如果把工作日和周末分成两个数据集来分析的话,可能会很有趣。

  于是,伊万就真的续了一篇

  因为有五个工作日,两个休息日。如果每日产能平均分配,应该是周中 71.4%,周末 28.6%。

  那么,周末提交的比例超过28. 6%的话,就表示更喜欢在周末写代码。反之,就是更倾向在工作日写代码。

  结果,日行族的 Linux 之父 Linus (19. 3%) 和 Go 语言之父 Pike (9. 7%) ,都是工作日产能的更加丰厚。

  可以理解,毕竟日出而作,日落而息,周中忙碌,周末休息,都是普通人眼里的自然规律。

夜夜coding到天明?Python之父昼伏夜出,PHP创始人24小时在线-风君雪科技博客

  夜行族便不同了,既有喜欢工作日的 Python 之父 van Rossum (10. 2%) ,也有喜欢周末提交代码的 LLVM 编译器作者 Lattner (27. 3%) 。

  永动机又如何呢?

  PHP 创始人 Lerdorf,是所有被测的著名程序员里,周末提交比例最高的,达到了30. 3%

夜夜coding到天明?Python之父昼伏夜出,PHP创始人24小时在线-风君雪科技博客

  而永动机中的战斗机、两个 Web 框架的作者 Riedel,周末提交比例是26. 2%。只是略低于 26.8%。

  总体来看,永动机可能是最喜欢周末上班的一个物种。

  质疑之声

  那么问题来了。Hacker News 讨论版上,不到一天便涌来了 187 条评论,提出问题的也不少。

  比如,顶楼是名叫 Dahart 的网友,他说不能轻易把提交时间等同与工作时间

我都让团队尽量避免在夜里、周末、或者快到的时候提交代码,因为后面还有其他工作人员,需要这些代码。至少有 15 年都是这样过来的。

  除此之外,推特网友@JDevlieghere 还说,提交时间和 git 的机制有关系

我自己跑了一下 LLVM,然后发现代码提交时间,延迟了几个小时。

  LLVM 作者 Lattner 也附议了这个问题。

  不过依然不可否认,代码提交时间是个非常好的观察角度。

  One More Thing

夜夜coding到天明?Python之父昼伏夜出,PHP创始人24小时在线-风君雪科技博客

  独乐乐不如众乐乐,伊万小哥开源了代码,热情邀请大家一起探秘大佬都是什么物种。

  胖友们还等什么?快来解密一下国内大佬 coding time 吧。

  比如,听说广州程序员张小龙就喜欢深夜抽烟写代码,伴着音乐享受夜的温柔,不知道现在是否还这样……

  代码传送门:

  https://gist.github.com/bessarabov/674ea13c77fc8128f24b5e3f53b7f094

  伊万博客 (观察结果) :

  https://ivan.bessarabov.com/blog/famous-programmers-work-time

  —

  量子位 QbitAI · 头条号签约作者