大神程式設計師,夜夜coding到天明?Python之父晝伏夜出,PHP創始人24小時都線上
栗子 魚羊 發自 凹非寺
轉自量子位 | 公眾號 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%) ,稍低於28.6%。
永動機又如何呢?
PHP創始人Lerdorf,是所有被測的著名程式設計師裡,週末提交比例最高的,達到了30.3%。
而永動機中的戰鬥機、兩個Web框架的作者Riedel,週末提交比例是26.2%。只是略低於28.6%。
總體來看,永動機可能是最喜歡週末上班的一個物種。
質疑之聲
那麼問題來了。Hacker News討論版上,不到一天便湧來了187條評論,提出質疑的也不少。
比如,頂樓是名叫Dahart的網友,他說不能輕易把提交時間等同與工作時間:
我都讓團隊儘量避免在夜裡、週末、或者快週末的時候提交程式碼,因為後面還有其他工作人員,需要這些程式碼。至少有15年都是這樣過來的。
除此之外,推特網友@JDevlieghere還說,提交時間和git的機制有關係:
我自己跑了一下LLVM,然後發現程式碼提交時間,延遲了幾個小時。
LLVM作者Lattner也附議了這個問題。
不過依然不可否認,程式碼提交時間是個非常好的觀察角度。
One More Thing
獨樂樂不如眾樂樂,伊萬小哥開源了程式碼,熱情邀請大家一起探秘大佬都是什麼物種。
胖友們還等什麼?快來解密一下國內大佬coding time吧。
比如,聽說廣州程式設計師張小龍就喜歡深夜抽菸寫程式碼,伴著音樂享受夜的溫柔,不知道現在是否還這樣……
程式碼傳送門:
伊萬部落格 (觀察結果) :
https://ivan.bessarabov.com/blog/famous-programmers-work-time
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31545820/viewspace-2651866/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 魔都,3年,程式設計師到CTO程式設計師
- PHP實現免費的線上偽原創工具-toolfk程式設計師線上工具網PHP程式設計師
- 程式設計大神進階之路:Python技巧小貼士程式設計Python
- 小學生都開始學的Python程式設計到底是什麼?Python程式設計
- 2019 PHP程式設計師發展路線PHP程式設計師
- 一般程式設計師和大神程式設計師有什麼區別?這些細節騙不了人程式設計師
- 學Python的程式設計師,程式設計能力都“退化”成什麼樣了?Python程式設計師
- 首個AI軟體工程師上線!已透過公司面試搶程式設計師飯碗,華人創始團隊手握10塊IOI金牌AI軟體工程工程師面試程式設計師
- 程式設計師自己人的微信圈子(期待各路大神的加入)程式設計師
- 「程式設計羽錄」上線,程式設計師必備的這些技能你能get到嘛?程式設計師
- 每個程式設計師都會的 35 個 jQuery 小技巧程式設計師jQuery
- 很多程式設計師程式設計時都戴耳機?他們在聽什麼程式設計師
- 是程式設計師,就用python匯出pdf程式設計師Python
- 求大神解答,《Python程式設計從入門到實踐》第94-95頁,外星人入侵Python程式設計
- PHP 這麼拉?長連線都搞不了?說說 PHP 的 socket 程式設計PHP程式設計
- 程式設計師該怎麼做,才能成為coding王者?程式設計師
- Toolfk.com 程式設計師工具網上線程式設計師
- 線上資料庫設計工具-toolfk程式設計師線上工具網資料庫程式設計師
- 為什麼很多程式設計師工作時都戴耳機?程式設計師
- 那些學了 Python 的程式設計師,程式設計能力都“退化”成什麼樣了?Python程式設計師
- 好程式設計師分享Python從入門到精通最佳學習路線程式設計師Python
- 程式設計師最新鄙視鏈出爐,PHP瞧不起Python,但最受傷的是..程式設計師PHPPython
- 程式設計師到創業,成長之路的技能分享程式設計師創業
- 深度!程式設計師生涯的垃圾時間(上)程式設計師
- 35+的網際網路程式設計師,人都哪去了?程式設計師
- 程式設計師都幹些什麼?程式設計師
- 為什麼大多程式設計師黑php不黑python?程式設計師PHPPython
- AI時代下普通小程式設計師的想法AI程式設計師
- 為什麼程式設計師在學習程式設計的時候什麼都記不住?程式設計師
- 內推go/php程式設計師GoPHP程式設計師
- 程式設計師 12 小時驚魂記:凌晨遷移資料出大事故!程式設計師
- 好程式設計師Python培訓分享Python程式設計師面試技巧程式設計師Python面試
- JS實現線上CSV轉換PHP、Mysql、Ruby等工具 -toolfk程式設計師工具網JSPHPMySql程式設計師
- ps線上版 Photoshop線上精簡版-toolfk程式設計師線上工具網程式設計師
- Java程式設計師都需要懂的「反射」Java程式設計師反射
- Java 程式設計師都該懂的 HashMapJava程式設計師HashMap
- 程式設計師都遇到過哪些誤解?程式設計師
- 好程式設計師Python教程從零開始學Python系列-第2講程式設計師Python