頂級大神Linux,Python,Go,PHP之父誰是夜貓子?用Python揭秘!
在廣大的程序員群體中,處在頂尖的大神們總是受到了大家的崇拜核追捧,而這些大神都是如何練成的呢,我們從他們的工作時間中,或許能夠窺探到一些蛛絲馬跡。
今天,我們通過分析六位頂級的程序員大神,看看他們的代碼提交時間,來分析一下大神們的工作狀態(tài),一起來看看吧。
一、程序獲取
對于程序的獲取,我們通過git操作來獲取大神們的程序提交時間,我們以python之父龜叔的代碼提交時間為例,首先我們打開cpython的GitHub倉庫
(https://github.com/python/cpython) 。
可以看到,龜叔經(jīng)常在cpython倉庫中提交程序,我們可以通過git clone https://github.com/python/cpython.git命令將cpython倉庫下載到本地,然后通過git log來進(jìn)行代碼提交的查詢。為了篩選出來指定的數(shù)據(jù),我們需要設(shè)置git的參數(shù)。
- `git log --author="Linus Torvalds" ----pretty=format:"%cd" >linux_LinusTorvalds.txt`
其中,author參數(shù)指的是提交代碼的作者,pretty用來指定格式來提取代碼提交的時間,>指的是將log文件保存到本地的文件。這樣,我們就可以抓取到龜叔的代碼提交時間,而針對于其他大神的代碼提交時間,同樣可以利用這樣的方式來獲取。
二、數(shù)據(jù)可視化
對于數(shù)據(jù)的處理可視化展示,可以通過下述的程序進(jìn)行處理:
通過讀取大神們提交代碼的數(shù)據(jù),并提取代碼提交的小時數(shù)據(jù),并統(tǒng)計小時數(shù)據(jù)的數(shù)量,通過柱狀圖進(jìn)行可視化展示。接下來我們就看一下大神們的程序提交時間吧。
1. Python
作為Python之父的龜叔,代碼提交的時間結(jié)果如下圖:
( https://github.com/python/cpython)
龜叔的代碼提交時間從下午開始直到深夜達(dá)到高峰,這樣的代碼提交時間非常符合程序員的作風(fēng),再看看龜叔濃密的頭發(fā),看來發(fā)量和熬夜在龜叔身上并沒有太大的關(guān)系。
2. Go
作為Go語言的設(shè)計者,Rob.Pike的代碼提交時間相比龜叔來說就養(yǎng)生很多。
(https://github.com/golang/go )
這位來自加拿大的程序大神,代碼提交時間大都在九點(diǎn)到17點(diǎn)之間,過著朝九晚五的規(guī)律生活,可謂是養(yǎng)生程序員的代表任務(wù)
3. Julia
Julia作為一門發(fā)展迅捷的編程語言,越來越多的受到數(shù)據(jù)科學(xué)界人士的的追捧,它的創(chuàng)始人之一是來自美國的Stefan.Karpinski。在julia倉庫的代碼提交記錄中,Stefan深諳程序員的自我修養(yǎng),從上午十點(diǎn)到半夜都持續(xù)的代碼提交的工作。
(https://github.com/JuliaLang/julia)
4. PHP
作為PHP語言之父的Rasmus Lerdorf,卻在當(dāng)前的PHP倉庫中找不到代碼提交記錄,所以這里我們用PHP團(tuán)隊的Dmitry Stogov代碼提交記錄作為展示。(https://github.com/php/php-src)
Dmitry代碼的提交時間,同Stefan非常的類似,符合一個程序員的作息規(guī)律。
5. Linux
如果說Stefan和Dmitry大神還符合一個程序員的正常作息規(guī)律,那么Linux之父Linus Torvalds的提交時間則有那么一點(diǎn)奇怪。
Linux之父從早晨七點(diǎn)開始,代碼提交便開始井噴式的增長,而且一直能夠持續(xù)到晚上八點(diǎn)之后,這樣旺盛的精力,堪稱程序員中的戰(zhàn)斗機(jī)。Linus在晚上十點(diǎn)到第二天早晨六點(diǎn)之間代碼提交數(shù)量迅速回落,看來Linus夜間的休息還是挺規(guī)律的。
6. swift
如果上述的幾位大神代碼提交的時間還有規(guī)律可循,而作為蘋果swift語言之父的Chris Lattner代碼的提交時間,則是毫無規(guī)律。
Chris的代碼提交從14點(diǎn)后到后半夜進(jìn)入高潮,而在黎明前又是進(jìn)入了最高峰。從七點(diǎn)到下午的一段時間內(nèi),代碼提交則是進(jìn)入了回落階段。從時間的提交時間來看,Chris大神真的是夜間工作的王者。
總結(jié)
大家可以按照一樣的方式來分析國內(nèi)大神的coding time了,同樣作為程序員群體,不知道會不會有著類似的作息習(xí)慣,還是有著自己獨(dú)特的coding習(xí)慣,大家的編程習(xí)慣是什么呢?