專訪「輪子哥」——代碼為劍,熱血如沸

其實(shí)我從來不覺得「木訥」是程序員的代名詞,雖然他們總自嘲「人傻錢多死得快」。在簡(jiǎn)尋的工作注定了常常要跟程序員打交道,其中「 vczh 」的提及率非常高,于是當(dāng)我被「輪帶逛」了一段時(shí)間后還是對(duì)這個(gè)群體有了更新的認(rèn)知,嘿,這個(gè)心寬體胖的大漢還真是萌萌惹人愛。

vczh本名陳梓瀚,不過大家更愿意叫他「輪子哥」,雖然常年逛知乎但并不妨礙他成為程序員大牛。關(guān)于「造輪子」,他本人在知乎上調(diào)侃道:這是一種開源社區(qū)的新項(xiàng)目的建立方法,主要內(nèi)容是:臥槽這玩意兒寫的這么爛,我寫一個(gè)更爛的來惡心作者。

幾乎沒公開露過面的輪子哥多少是帶些神秘色彩的。之前我一直很好奇是怎樣的一個(gè)人,才會(huì)既說出「其實(shí)我們對(duì)誰都不好,對(duì)外人好那是裝出來的」這樣深沉的話,又能說出「男生喜歡貧乳女生是因?yàn)椤嚎梢杂H手帶大』」這樣不正經(jīng)的話來,外表癡漢內(nèi)心呆萌還愛關(guān)注奇怪的問題,還真是江湖里的神奇一派。

一切源于熱愛——從hello world說起**

回到初識(shí)編程的那年,輪子哥還經(jīng)歷過一場(chǎng)「血光之禍」——初一第一次上電腦課時(shí)因?yàn)樘d奮騎自行車超速,以至于流血掉牙。不知道這堂電腦課是福是禍,但是江湖已經(jīng)迫不及待地給這個(gè)熱血少年回饋了。

輪子哥初二開始學(xué)編程,為了看懂《Visual Studio高級(jí)圖形程序設(shè)計(jì)教程》,于是初三自學(xué)初步的立體解析幾何;高三上課不聽講自己看懂了數(shù)學(xué)分析。

為了做數(shù)學(xué)物理作業(yè)亦或?yàn)榱司幊掏茖?dǎo)公式,需要計(jì)算的東西太多而讓他獲得了心算復(fù)雜過程的本領(lǐng)。這順帶還給他帶來了一個(gè)好處:高考數(shù)學(xué)選擇題在發(fā)卷后不許動(dòng)筆的 10 分鐘內(nèi)就被他全部心算出答案,而且全對(duì)。

而大學(xué)之前因?yàn)樵噲D使用編程繪制很多復(fù)雜的圖形和對(duì)圖像進(jìn)行各種復(fù)雜的變換,于是每當(dāng)寫程序之前都要在紙上推導(dǎo)長(zhǎng)長(zhǎng)的公式,從此他就對(duì)符號(hào)運(yùn)算十分拿手了。

哈,真是個(gè)可怕的男人。

大學(xué)期間他做了第一個(gè)覺得「還能見人」的腳本引擎 JoveScript,做了名叫 FreeScript 的動(dòng)態(tài)語言(詳見輪子哥的博客http://www.cppblog.com/vczh),后來實(shí)習(xí)利用每天晚上的時(shí)間完成的一門純函數(shù)式語言 KernelFP ,這后來成為了輪子哥的畢業(yè)設(shè)計(jì)。除此之外他還利用幾個(gè)月時(shí)間里面完成了 CMinus ,雄心勃勃地做了一個(gè)帶泛型以及 concept mapping 的 C語言 NativeX 。

這么多的項(xiàng)目背后不是沒有沉淀的。

「在程序員的生涯里面,最重要的就是保持對(duì)編程的熱情,不要被生活的瑣事所磨滅。其次是要給自己不斷地創(chuàng)造一些足夠困難但是又有辦法完成的挑戰(zhàn),這樣才可以總是讓自己保持著一個(gè)快速前進(jìn)的狀態(tài)。最后,記得要感謝國(guó)家。」

學(xué)生時(shí)代的輪子哥,讓我意識(shí)到,大概有種熱愛是深種于血液之中的,內(nèi)心的那團(tuán)火會(huì)讓一個(gè)人風(fēng)雨兼程地奔向遠(yuǎn)方,會(huì)讓我們變得無比強(qiáng)大,無比接近最初的夢(mèng)想。

出海微軟,尋找詩(shī)和遠(yuǎn)方

輪子哥從 2008 年的大三暑假開始在微軟上海實(shí)習(xí),結(jié)果沒幾個(gè)月就遭遇了美國(guó)的次貸危機(jī),因此面臨非常惡劣的面試環(huán)境。盡管當(dāng)時(shí)的 Offer 都需要部門的 Director 得到美國(guó)批準(zhǔn)后才能發(fā)放,他最后還是拿到了 Visual Studio 組的 Offer 。

「我那會(huì)兒就投了三家公司的簡(jiǎn)歷——百度、谷歌和微軟。最后面試微軟的時(shí)候,我手上還沒有任何Offer。我當(dāng)時(shí)就想,萬一我面掛了,我畢業(yè)后就在家呆幾個(gè)月,等到秋天再去面試?!?/p>

然而故事總是比我們想象的曲折。

當(dāng)輪子哥畢業(yè)入職時(shí)卻被告知 Visual Studio 的 Offer 已經(jīng)沒了(過后不久就解散了),所幸被 Director 用人格擔(dān)保免面試去了 SQL Server 。盡管如此他始終都不太喜歡 SQL Server ,于是過了兩年輪子哥就去了北京的微軟亞洲研究院( MSRA )。

起初輪子哥在 MSRA 過得很充實(shí),因?yàn)閷懙拇a沒有任何用戶,可以盡量保證高質(zhì)量。后來風(fēng)向慢慢發(fā)生了變化,輪子哥出走 SQL Server 是因?yàn)椴幌矚g數(shù)據(jù)庫(kù),結(jié)果在 MSRA 的第一個(gè)項(xiàng)目(一個(gè)分布式系統(tǒng)的動(dòng)態(tài)分析程序)做完之后,MSRA 的人卻當(dāng)他是 SQL Server 的專家,給了很多數(shù)據(jù)庫(kù)的工作給他,再加上很多同事也拼命地問他 SQL Server 的問題,于是他只好頻繁地向前同事(主要是 Deathhush 菊苣)請(qǐng)教,硬是把自己變成了真的 SQL Server 熟練使用者。

當(dāng)然這也不能怪 MSRA ,本來作為一個(gè) SDE,在研究院的工程組想干什么都還是很靠運(yùn)氣的。后來輪子哥覺得始終不是興趣所在,于是就在組里的風(fēng)氣開始有轉(zhuǎn)向「非完全自由」工作時(shí)間苗頭的時(shí)候,輪子哥拿了美國(guó)西雅圖總部的 Offer,把老婆送進(jìn)了美國(guó) Google ,當(dāng)然,輪子哥還是在微軟。

就像初一摔倒的故事,福禍相倚,跌宕起伏,不變的是內(nèi)心的熱血。

微軟每個(gè)部門有完全不同的體驗(yàn)。輪子哥至今仍然認(rèn)為, SQL Server 是軟件工程實(shí)施最好的組,沒有之一。 Office 雖然也是個(gè)怪獸項(xiàng)目,但是它卻傾向于靠神級(jí)程序員的運(yùn)作來保持系統(tǒng)健康發(fā)展。輪子哥去了 Office 之后發(fā)現(xiàn)所在的組是專門「造輪子」的,這和他的興趣點(diǎn)不謀而合。

盡管工資不能保持北京揮金如土的生活水平,但是除非別的公司也有同樣的部門,不然我是不會(huì)跳了」輪子哥說道。

千萬人,走江湖,只為覓得安身處,多么樸實(shí)真切的寫照。江湖雖大,道路雖彎,但是初心始終在那,不增不減。

進(jìn)階之路,總有些不得不說的拐點(diǎn)

似乎得到了某種神秘的青睞,又似乎是輪子哥后天的鉆研,他就要成為其間的大成者。當(dāng)然,有意思的故事是少不了的。

1 有結(jié)構(gòu)有紀(jì)律地組織代碼

大約在初三已經(jīng)可以獨(dú)立做推箱子游戲時(shí),輪子哥就萌發(fā)了要寫庫(kù)函數(shù)的想法,但其實(shí)也只是個(gè)想法,就是想辦法把以后可能要用的代碼獨(dú)立出來,不用每次做一個(gè)新游戲都重新寫,于是高二的時(shí)候有了 ARPG(http://www.gameres.com/thread_5391_1_1.html)。

開發(fā)過程中,他注意到游戲里面抽象的對(duì)象是可以有行為的。熟悉面向?qū)ο蟮娜硕紩?huì)覺得這是很自然的,但當(dāng)時(shí)他并沒有任何這方面的知識(shí),就連唯一的數(shù)據(jù)結(jié)構(gòu)——鏈表——都是在上 NOI 課的時(shí)候?qū)W的。所以當(dāng)時(shí)輪子哥并不會(huì)寫類,轉(zhuǎn)而寫的是一個(gè)巨大的結(jié)構(gòu)體,寫了一大堆以這個(gè)結(jié)構(gòu)體的指針為參數(shù)的函數(shù),用來執(zhí)行對(duì)這個(gè)結(jié)構(gòu)的各種操作,把互相耦合的細(xì)節(jié)都實(shí)現(xiàn)在這些函數(shù)里面。于是寫了一萬多行代碼,經(jīng)歷兩遍,游戲終于寫出來了。

輪子哥當(dāng)時(shí)覺得這個(gè)代碼的尺寸就是他的大腦能控制的上限了。但是轉(zhuǎn)念一想,電腦上有那么多軟件都比這個(gè)游戲要復(fù)雜得多,那人們是怎么做的呢?于是他開始有點(diǎn)明白,有結(jié)構(gòu)有紀(jì)律地組織代碼的重要性。因此當(dāng)同學(xué)們都覺得面向?qū)ο?、設(shè)計(jì)模式、軟件工程都是些無稽之談的東西時(shí),他就不這么認(rèn)為。思想上沒有抵觸,這些東西也就很容易學(xué)進(jìn)去了。

2 專注C++

后來他上大學(xué)學(xué)習(xí) Haskell 之后,終于明白原來世界上還有很多種組織程序的方法——即所謂的范式。

這直接導(dǎo)致的結(jié)果就是,輪子哥更喜歡 C++ 了,因?yàn)?C++ 允許他使用所有可以使用的方法來組織程序,因此每一個(gè)程序都可用最好的方法來寫。他也懶得去學(xué)習(xí)其他語言,而把所有的時(shí)間都花在了如何用 C++ 解決其它問題上面,因此造了很多庫(kù)。

現(xiàn)在的 GacUI (http://www.gaclib.net/)的基礎(chǔ)部分,其實(shí)是他大三開始寫的,所以有時(shí)候大家可能會(huì)看到一些 C++11 之前遠(yuǎn)古時(shí)代的寫法。

「我覺得最近的一篇文章《The Magpie Developer》講的就很好,學(xué)習(xí)的時(shí)候不要盲目追求新工具,不要盲目追求立刻可以找工作、立刻可以發(fā)財(cái),這些其實(shí)都是短視。當(dāng)然有些人由于經(jīng)濟(jì)上的困境可能沒有辦法完美的實(shí)施這個(gè)過程,但是這并沒有什么好的解決方法。根據(jù)老趙(趙劼)的說法,這就是命(逃」

輪子哥走的每一步都源自 Geek 的不安現(xiàn)狀,難得的是在不斷進(jìn)階過程中還能正視自己的能力與欲望,更有成就他人之心。

代碼以外,風(fēng)花雪月

輪子哥在國(guó)內(nèi)外的經(jīng)歷,讓他無論是在技術(shù)沉淀還是互聯(lián)網(wǎng)環(huán)境都有了更加客觀的了解和認(rèn)知。而關(guān)于國(guó)內(nèi)外互聯(lián)網(wǎng)的感悟,輪子哥認(rèn)為:
「國(guó)內(nèi):群魔亂舞
國(guó)外:還算理智」

簡(jiǎn)單直接,卻讓人會(huì)心一笑。這也是輪子哥在知乎上的一貫風(fēng)格。似乎很多人羨慕輪子哥牛逼的技術(shù),但也疑問怎么會(huì)有那么多時(shí)間逛知乎。問到知乎帶給輪子哥的影響,這次他很正經(jīng)地說:

我覺得唯一的變化就是刷知乎的時(shí)間不知不覺變多了。社交有魔力,所以要通過寫更多的代碼來抵抗,人才不會(huì)廢掉。

在知乎上,關(guān)于「輪子哥目前是從事什么工作」的問題,知乎網(wǎng)友向我們展示了中國(guó)人民無與倫比的想象力。

趙劼曾經(jīng)在知乎上調(diào)侃「輪子哥是陳萌萌寫出的 AI 」,而關(guān)于和萌萌姐的故事,輪子哥也做出了「官方解釋」:

「陳萌萌是我華南皇家理工大學(xué)計(jì)算機(jī)學(xué)院的學(xué)生,比我低了四屆。我是在工作之后,她大一的時(shí)候認(rèn)識(shí)她的。那個(gè)時(shí)候教給她一些 C++ 的技巧,結(jié)果她在畢業(yè)的時(shí)候輕松過了百度的面試。本來一開始也沒什么想法,誰知道在她大三暑假的那一年,來北京的 Google 實(shí)習(xí)了。我剛好在 MSRA ,房子就租在 Google 附近,于是后面的事情你們就都知道了(逃」

真羨慕又懂技術(shù)又會(huì)勾搭妹子的輪子哥,你們想問的我都幫你們問了,單身的程序員們接好嘞!

于己,于人

年關(guān)將至,我問了輪子哥的新年愿望,沒想到如此直接可愛:

「把 GacStudio 寫出來,就是我 2016 年最大的愿望。」

不論是從剛開始舉一反三,還是不安分地去尋找內(nèi)心的熱愛,他都沒有辜負(fù)自己,一直尋找且追逐真正鐘情的方向。

輪子哥,不僅僅是一位知乎大 V,更是一位對(duì)技術(shù)充滿熱情的程序員,他有自己的熱愛。

最后,作為過來人,作為踩過坑的老江湖,輪子哥想對(duì)所有正在努力進(jìn)階的程序員說:

「熟讀、背誦并接受《Teach Yourself Programmingin 10 Years》和《The Magpie Developer》,一個(gè)月默寫一遍,保持記憶。」

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,351評(píng)論 25 708
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,697評(píng)論 19 139
  • 最近表妹談戀愛了,認(rèn)識(shí)一個(gè)條件不好的男孩子,家里人百般阻擾,告訴她找條件不好的以后要吃苦。 表妹算是聽話的,很聽勸...
    淑雲(yún)閱讀 263評(píng)論 0 1
  • 夢(mèng)見你了,卻再也與我無關(guān)
    vera還是kiki閱讀 195評(píng)論 0 0
  • 田間地頭尋覓, 枝頭杏黃葉綠, 暮年如歸此處, 人生夫復(fù)何求?
    糖豆角閱讀 208評(píng)論 0 0

友情鏈接更多精彩內(nèi)容