大神程序員,夜夜coding到天明?Python之父晝伏夜出,PHP創始人24小時都在線
“本文經AI新媒體量子位(公眾號 ID: QbitAI)授權轉載,轉載請聯系出處”
大神程序員,夜夜coding到天明?
有位名叫Ivan Bessarabov (簡稱“伊萬”) 的好事者,剛剛統計了各路大佬的代碼提交 (git commit) 時間分布。
包括Linux之父,Python之父,Go語言的作者……
伊萬考慮了時區,并把多人合作提交的代碼踢出去沒算。
結果很有意思,發現了幾個不同的物種:正常人類,夜行獸,還有……永動機。
這引起了網友的熱烈討論,Hacker News熱度已經超過600點:
正常人類
正常人類通常在白天工作。
然而在程序員大佬中,這個物種并不常見。
Go語言的作者Rob Pike看上去算是個非常正常的人類:
(第一列是時間,第二列是代碼行數。)
Go項目的repo顯示,Rob的工作時間集中在上午9點到下午5點之間,朝九晚五,非常健康。
雖然一天就睡5個小時,似乎業余時間也都在coding吧,但總之,組織鑒定他是個正常人類!
下面這位“正常人類”,畫風就開始有點不一樣了:
這來自Linux之父Linus Torvalds:
白天工作,沒問題。但是這位大神的代碼從早上7點就開始有噴發之勢,這個勁頭幾乎能持續到晚上八九點鐘。
睡眠時間比上面那一位又縮短了一個小時,不算上發呆時間的話。
這簡直是正常人類里的戰斗機。
而根據網友爆料,Linus可能是被迫成為正常人類的,在他有孩子之前,他也是晝伏夜出的夜行生物。
還有的人的畫風是這樣的:
這是FFmpeg的作者Fabrice Bellard在這個項目上的工作時間,真是越夜越開心啊。
令人好奇的是,這位大佬是會睡著睡著覺靈感突發蹦起來提交代碼的嗎……
夜行獸
說不上什么科學道理,但程序員大佬的身體構造可能發生了什么詭秘變異。
他們中間夜行生物的比例似乎要高于正常人類。
比如像這樣:
這是LiveJournal的作者Brad Fitzpatrick在memcached項目上的提交。
大佬瘋狂熬了一宿,靈感噴涌而出,太陽當空照的時候,他就滿意地去睡覺了。
Brad對Go語言也有代碼貢獻,在這個項目上他的畫風更加狂野了:
LLVM編譯器的作者Chris Lattner也是當之無愧的夜行獸,他曾在蘋果和特斯拉工作,現在則加入了谷歌。
他的代碼提交時間長這樣:
別人都是朝九晚五,這位大概是晚九朝五吧……
研究了那么多大佬,伊萬小哥自然不會放過那位仁慈的獨裁者。Python之父Guido van Rossum同樣被戳上了夜行獸認證。
這樣的代碼提交時間似乎在說:美好的一天從下午開始,夜晚才是真正的coding time!
至于夜行獸們為什么24小時都在提交代碼,大概他們像貓一樣白天也想醒就醒吧……
永動機
除了日行和夜行,還有一個物種叫白夜行,他們不止24小時提交代碼,且產能沒有重大波動。
“世界上最好的語言”PHP的創始人Rasmus Lerdorf,便是一個優秀的代表。
由于GitHub上找不到初版PHP,伊萬便統計了這位創始人在php-src項目上的提交時間:
看得出,越到晚上越是興奮,但白天體能也并沒有太多損耗。
不過這個物種里,還有產能更加強盛的個體。
下圖是兩個Web框架,和它們的作者,名叫Sebastian Riedel。
△ 都是基于Perl語言的框架
這是他在Mojolicious框架項目里的提交時間表,數字快要爆炸了:
高產的時段,依然集中在夜晚。
但即便是產能最低的早上8點和9點區間,也都超過了100行。
伊萬統計到這里,都不由地驚嘆:
這時間表是瘋了。好嫉妒他的生產力。
這樣看來,每個物種都有各自的戰斗機。
強大的戰斗力難分高下。
誰喜歡周末寫代碼?
伊萬的觀察結果,被著名夜行者之一、LLVM編譯器的作者Lattner翻了牌。
他提了個建議,說如果把工作日和周末分成兩個數據集來分析的話,可能會很有趣。
于是,伊萬就真的續了一篇。
因為有五個工作日,兩個休息日。如果每日產能平均分配,應該是周中71.4%,周末28.6%。
那么,周末提交的比例超過28.6%的話,就表示更喜歡在周末寫代碼。反之,就是更傾向在工作日寫代碼。
結果,日行族的Linux之父Linus (19.3%) 和Go語言之父Pike (9.7%) ,都是工作日產能的更加豐厚。
可以理解,畢竟日出而作,日落而息,周中忙碌,周末休息,都是普通人眼里的自然規律。
夜行族便不同了,既有喜歡工作日的Python之父van Rossum (10.2%) ,也有喜歡周末提交代碼的LLVM編譯器作者Lattner (27.3%) 。
永動機又如何呢?
PHP創始人Lerdorf,是所有被測的著名程序員里,周末提交比例最高的,達到了30.3%。
而永動機中的戰斗機、兩個Web框架的作者Riedel,周末提交比例是26.2%。只是略低于26.8%。
總體來看,永動機可能是最喜歡周末上班的一個物種。
質疑之聲
那么問題來了。Hacker News討論版上,不到一天便涌來了187條評論,提出問題的也不少。
比如,頂樓是名叫Dahart的網友,他說不能輕易把提交時間等同于工作時間:
我都讓團隊盡量避免在夜里、周末、或者快到的時候提交代碼,因為后面還有其他工作人員,需要這些代碼。至少有15年都是這樣過來的。
除此之外,推特網友@JDevlieghere還說,提交時間和git的機制有關系:
我自己跑了一下LLVM,然后發現代碼提交時間,延遲了幾個小時。
LLVM作者Lattner也附議了這個問題。
不過依然不可否認,代碼提交時間是個非常好的觀察角度。
One More Thing
獨樂樂不如眾樂樂,伊萬小哥開源了代碼,熱情邀請大家一起探秘大佬都是什么物種。
胖友們還等什么?快來解密一下國內大佬coding time吧。
比如,聽說廣州程序員張小龍就喜歡深夜抽煙寫代碼,伴著音樂享受夜的溫柔,不知道現在是否還這樣……
代碼傳送門:
https://gist.github.com/bessarabov/674ea13c77fc8128f24b5e3f53b7f094
伊萬博客 (觀察結果) :
https://ivan.bessarabov.com/blog/famous-programmers-work-time