重生------------------------------------------“陳燃!陳燃!老師叫你!”。,眼前是一片模糊的白光。他的記憶還停留在出租屋的電腦桌前,胸口殘留著那種窒息的鈍痛。他下意識地抬手去**口——沒有血,沒有傷口,心跳平穩(wěn)有力。“你發(fā)燒了?昨晚通宵打游戲了?”那個(gè)聲音又響起來,帶著年輕男孩特有的調(diào)侃。。他看見一排排老舊的CRT顯示器,屏幕上是藍(lán)底白字的Tur*o C++界面??諝庵袕浡鴻C(jī)房特有的氣味——灰塵、塑料和悶熱的人體氣息。,有人在敲鍵盤,有人趴在桌上睡覺。教室的窗戶開著,九月的風(fēng)吹進(jìn)來,帶著操場上的草腥味?!斑@個(gè)程序誰寫完了?陳燃,你是沒寫還是不想讓我看?”,一個(gè)戴眼鏡的中年男人正盯著他。四十來歲,頭發(fā)稀疏,穿一件格子襯衫,手里拿著一本《數(shù)據(jù)結(jié)構(gòu)與算法》——那是他們大二上學(xué)期的教材。。路明遠(yuǎn),數(shù)據(jù)結(jié)構(gòu)課講師,脾氣暴躁但教學(xué)水平不錯。上輩子陳燃在這門課上拿了90分,但路老師對他的評價(jià)是“悶葫蘆,技術(shù)還行,不會說話”。,后來被無數(shù)面試官、合作伙伴、投資人重復(fù)過。。,手感極差,鍵帽上的字母都磨沒了。他看見自己的手——年輕、修長、沒有常年敲代碼留下的腱鞘囊腫,沒有那些被咖啡杯燙出的舊疤。,是他十歲時(shí)摔的。,這道疤在他二十多歲的時(shí)候就淡得快看不見了?,F(xiàn)在它還在,顏色新鮮,像是昨天剛愈合。。坐在他旁邊的是一個(gè)瘦削的男生,戴一副黑框眼鏡,下巴上還有青春痘,頭發(fā)亂得像個(gè)鳥窩。穿著洗得發(fā)白的T恤,胸口印著“N*A”的Logo——假的,一看就是地?cái)傌洝?br>張偉。
他大學(xué)四年的室友,睡在他上鋪。畢業(yè)后就斷了聯(lián)系,后來聽說他回老家考了***,再后來的消息,就是三十歲那年從單位頂樓跳了下去。
陳燃的眼眶突然濕了。
“你沒事吧?”張偉被他的表情嚇了一跳,“老師就是罵你兩句,不至于吧?你又不是沒被罵過?!?br>“各位同學(xué),請把你們寫的冒泡排序代碼交上來?!甭访鬟h(yuǎn)拍了拍桌子,“用軟盤或者U盤,交到我這里來。沒寫的現(xiàn)在補(bǔ),下課之前必須交?!?br>冒泡排序。
陳燃盯著屏幕上的Tur*o C++界面,腦子里翻涌著一百七十億個(gè)念頭。
時(shí)間——如果他沒猜錯的話——回到了他的大學(xué)時(shí)代。他瞥了一眼墻上的掛鐘,上面貼著課程表:計(jì)算機(jī)科學(xué)與技術(shù),2008級,數(shù)據(jù)結(jié)構(gòu)與算法。
2008年9月17日。
大二上學(xué)期。
手機(jī)——如果他沒記錯的話——是一部諾基亞6300,銀色外殼,放在書包側(cè)袋里。他要確認(rèn)日期。他要確認(rèn)這一切不是夢。
但他現(xiàn)在最需要做的,是把冒泡排序交上去。
陳燃深吸一口氣,將雙手放在鍵盤上。
手指自動找到了位置。他閉著眼睛都能打代碼。
#include <stdio.h>
void *u**leSort(int arr[], int n) {
for (int i = 0; i < n-1; i++) {
for (int j = 0; j < n-i-1; j++) {
if (arr[j] > arr[j+1]) {
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
十五秒。寫完。
路明遠(yuǎn)的要求是寫一個(gè)能運(yùn)行的冒泡排序示例,包括主函數(shù)調(diào)用。沒有復(fù)雜度要求,沒有邊界條件檢查,甚至不需要動態(tài)輸入。
按照這個(gè)標(biāo)準(zhǔn),這段代碼已經(jīng)超了十倍。
陳燃又花了一分鐘寫完主函數(shù),讓程序生成一個(gè)隨機(jī)數(shù)組,排序后打印出來。他把代碼存到U盤里,站起來走向講臺。
路明遠(yuǎn)正在低頭改作業(yè),聽見動靜抬頭??匆娛?a href="/tag/chenran1.html" style="color: #1e9fff;">陳燃,眉頭微微皺起?!皩懲炅??”
“嗯?!?a href="/tag/chenran1.html" style="color: #1e9fff;">陳燃把U盤放在桌上。
路明遠(yuǎn)插上U盤,打開文件。他的表情從漫不經(jīng)心變成了意外,然后變成了一種說不清道不明的東西。
他用鼠標(biāo)滾輪上下翻了兩遍,然后抬頭看陳燃。
“這是你寫的?”
“是?!?br>“你能解釋一下為什么要用時(shí)間作為隨機(jī)數(shù)種子嗎?”
“讓每次運(yùn)行的隨機(jī)數(shù)組不一樣?!?br>“為什么要這樣做?”
陳燃愣了一下。上輩子沒有人問過他這個(gè)問題,因?yàn)檫@是常識。但在2008年,大二上學(xué)期,他們還沒學(xué)到隨機(jī)數(shù)生成器的種子機(jī)制。
“因?yàn)閞and()函數(shù)生成的是偽隨機(jī)數(shù)?!?a href="/tag/chenran1.html" style="color: #1e9fff;">陳燃說,“如果不設(shè)置種子,每次運(yùn)行生成的序列都一樣。用時(shí)間做種子,可以讓結(jié)果看起來更隨機(jī)?!?br>路明遠(yuǎn)盯著他看了幾秒鐘,然后揮了揮手。“回座位吧?!?br>陳燃轉(zhuǎn)身走回去。
背后傳來路明遠(yuǎn)的聲音:“寫得不錯。但你下次能不能別用隨機(jī)數(shù)組?我想看的是排序本身,你讓我看一屏幕亂數(shù)干嘛?”
教室里有人笑起來。陳燃沒回頭。他走回座位,坐下,然后從書包里翻出那部諾基亞6300。
屏幕亮起來。
***:中國移動。
日期:2008年9月17日,星期三。
時(shí)間:上午10:47。
他盯著這個(gè)日期看了整整十秒鐘。
九月十七。他記得這一天。九月十三號,雷曼兄弟宣布破產(chǎn),全球金融危機(jī)正式爆發(fā)。消息傳遍了全世界,但在2008年的中國大學(xué)校園里,沒有人在意這件事。學(xué)生們關(guān)心的還是魔獸世界更新到哪個(gè)版本了,食堂的***今天有沒有多給兩塊。
陳燃在意。非常在意。
金融危機(jī)讓所有互聯(lián)網(wǎng)公司都收縮了**,他那一屆的畢業(yè)生找工作的難度是往年的三倍。但與此同時(shí),也正是這場危機(jī)催生了U*er、Air*n*這些共享經(jīng)濟(jì)的獨(dú)角獸。
更重要的是,2008年9月,蘋果公司的App Store剛剛上線兩個(gè)月。
兩個(gè)月。
全球的開發(fā)者還在觀望,還在猶豫,還在問“手機(jī)上做應(yīng)用能賺錢嗎”。
陳燃知道答案。他知道在接下來的十四年里,移動互聯(lián)網(wǎng)會造就多少億萬富翁,會消滅多少傳統(tǒng)行業(yè),會讓多少個(gè)像他一樣的程序員從出租屋搬到別墅。
“還我,一會還要打電話呢?!睆垈ド焓謥頁屖謾C(jī)。
陳燃把手機(jī)還給他,然后站起來,走向教室門口。
“你去哪?”張偉在后面喊。
“廁所?!?br>陳燃沒有去廁所。
他穿過走廊,來到教學(xué)樓的露天連廊。九月的陽光炙熱刺眼,操場上有新生在軍訓(xùn),穿著迷彩服,曬得黝黑。教官在喊**,學(xué)生們踢正步,有人在隊(duì)列里偷偷抹汗。
遠(yuǎn)處的圖書館還是老樣子,灰白色的瓷磚外墻,面向正門的墻上掛著八個(gè)大字:“實(shí)事求是,與時(shí)俱進(jìn)?!?br>一切都是2008年的樣子。
沒有智能手機(jī),沒有人低頭刷短視頻,沒有外賣騎手在校園里穿梭。路上的人手里拿著的是諾基亞、摩托羅拉、索愛。女生流行齊劉海,男生流行非主流發(fā)型。廣播里放的是《北京歡迎你》。
陳燃靠在連廊的欄桿上,伸開雙手,看著陽光穿過指縫。
他的手在微微發(fā)抖。
不是害怕。是腎上腺素。
他現(xiàn)在擁有的一切,是這個(gè)世界**何金錢都買不到的東西——十四年的未來記憶。
他知道哪家公司會成功,知道哪種商業(yè)模式會死,知道哪項(xiàng)技術(shù)是坑,知道哪條路是捷徑。他知道2010年安卓會爆發(fā),知道2012年O2O是風(fēng)口,知道2014年移動支付會改變一切,知道2016年人工智能會讓所有應(yīng)用重做一遍。
他甚至知道自己在哪個(gè)時(shí)間點(diǎn)會被背叛,會被踢出局,會猝死。
這輩子,他不會讓那些事情發(fā)生。
一個(gè)女生從對面走來。馬尾辮,白色T恤,手里抱著一摞書。風(fēng)把她的劉海吹起來,露出一張干凈白皙的臉。
蘇晚。
他的大學(xué)同學(xué),隔壁班的,院里公認(rèn)的才女。大三時(shí)拿了ACM**區(qū)銀牌——那是他們學(xué)院有史以來最好的成績。畢業(yè)后去了硅谷,進(jìn)了Google,后來嫁給了一個(gè)A**,再后來就沒有消息了。
陳燃上輩子和她唯一的交集,是大三時(shí)在圖書館自習(xí),她坐在他對面。他偷偷看了她三個(gè)小時(shí),一個(gè)字都沒看進(jìn)去。
然后就沒有然后了。
他太慫。碼農(nóng)的社交能力,懂的都懂。
但現(xiàn)在——
“陳燃?”蘇晚停下腳步,歪頭看他,“你站這兒多久了?臉這么紅,中暑了?”
他不知道是曬的還是因?yàn)閯e的什么。
“沒事?!彼f,“在想一個(gè)算法問題。”
蘇晚笑了一下,是那種禮貌但不太相信的笑。她抱著書往前走了一步,然后突然回頭。
“對了,你剛才在課上寫的那個(gè)冒泡排序——”
“怎么了?”
“路老師讓我告訴你,說你的代碼風(fēng)格不像大二學(xué)生?!彼D了頓,“他還說,如果是你自己寫的,你很有天賦。如果你是抄的,你最好在他抓住你之前坦白?!?br>陳燃忍不住笑了。
路明遠(yuǎn)。上輩子他說陳燃“技術(shù)還行,不會說話”,這輩子換了個(gè)評價(jià)。
“你笑什么?”蘇晚問。
“沒什么?!?a href="/tag/chenran1.html" style="color: #1e9fff;">陳燃說,“幫我轉(zhuǎn)告路老師,代碼是我自己寫的?!?br>“你自己去說?!碧K晚轉(zhuǎn)身要走。
“蘇晚?!?br>她停下來。
“你……在準(zhǔn)備ACM?”他問。上輩子蘇晚拿銀牌的消息傳遍了整個(gè)學(xué)院,但那是大三的事?,F(xiàn)在是大二,她應(yīng)該剛開始組隊(duì)。
蘇晚的眉毛挑起來?!澳阍趺粗??”
“猜的?!?a href="/tag/chenran1.html" style="color: #1e9fff;">陳燃說,“你上學(xué)期算法課考了第一名,院里的人都記得?!?br>蘇晚沉默了一下?!拔艺谡谊?duì)友。你有興趣?”
“有?!?br>“你的算法水平怎么樣?”
陳燃想了想。如果告訴她,自己前世寫了十四年代碼,架構(gòu)過日活千萬的系統(tǒng),優(yōu)化過世界上最大規(guī)模的分布式數(shù)據(jù)庫之一,她會不會覺得他瘋了。
“還行?!彼f,“至少不會拖你后腿?!?br>蘇晚上下打量了他一眼?!靶小O轮蹵CM社團(tuán)有選拔賽,你報(bào)名吧。成績說話?!?br>她抱著書轉(zhuǎn)身離開,馬尾辮在風(fēng)里晃來晃去。
陳燃看著她的背影,突然意識到一件事。
上輩子的這一天,在同樣的時(shí)間,同樣的位置,他也遇見了蘇晚。但他低下頭假裝沒看見,快步走開了。
一模一樣的時(shí)間,一模一樣的地點(diǎn)。
但他做了一個(gè)不一樣的選擇。
一個(gè)小小的選擇。一個(gè)只有他知道不同的選擇。
但也許,就是這一個(gè)選擇,會讓一切都不一樣。
陳燃回到機(jī)房的時(shí)候,已經(jīng)快要下課了。
路明遠(yuǎn)站在***做最后的總結(jié):“下節(jié)課講快速排序,預(yù)習(xí)第三章。今天的作業(yè)是用四種排序算法對比時(shí)間復(fù)雜度,下周一之前交?!?br>有人哀嚎,有人罵人,有人已經(jīng)開始收拾東西。
陳燃坐回座位,打開筆記本。
電腦是聯(lián)想昭陽E42,學(xué)校機(jī)房的標(biāo)配,奔騰雙核處理器,1G內(nèi)存,裝的是Windows XP系統(tǒng)。慢得像烏龜,但他的U盤里已經(jīng)存好了今天寫的所有代碼。
他拔下U盤,放進(jìn)口袋。
里面有一個(gè).cpp文件,三百七十二行代碼,是一個(gè)三消游戲的核心邏輯。
不是冒泡排序,不是在交作業(yè)的那個(gè)版本。
而是他在十五分鐘前,趁所有人不注意時(shí)寫的。
他用的是C++,寫了一個(gè)基于控制臺的三消游戲原型。沒有圖形界面,只有字符界面,但核心邏輯已經(jīng)完全跑通了。
火焰消除。
這是他前世做過的第一款成功的手游。上線三個(gè)月,下載量破千萬,收入過百萬美元。
他記得每一行代碼,每一個(gè)算法優(yōu)化,每一個(gè)用戶反饋的*ug。
他甚至記得當(dāng)時(shí)的市場窗口——2008年圣誕節(jié)前上架,趕上App Store第一波紅利,沒有任何競爭對手。
陳燃合上筆記本,站起來。
路明遠(yuǎn)正好從他身邊走過,停下腳步,看了他一眼。
“陳燃?!?br>“路老師?!?br>“你的代碼我仔細(xì)看了?!甭访鬟h(yuǎn)壓低聲音,“老實(shí)說,就算是我自己寫,也不會比你寫得更好。你以前學(xué)過編程?”
陳燃猶豫了零點(diǎn)幾秒。
“自己學(xué)的?!彼f。
“不錯。”路明遠(yuǎn)拍了拍他的肩膀,走了。
陳燃站在原地,看著路明遠(yuǎn)近五年來第一次露出笑容的背影。
他想起上輩子,路明遠(yuǎn)在他畢業(yè)時(shí)說的一句話:“陳燃,你的技術(shù)我很放心,但你這個(gè)人,太悶了。走出去,多交點(diǎn)朋友,多看看世界?!?br>那之后,他就再也沒有見過路明遠(yuǎn)。
聽說幾年后他評上了教授,但身體一直不好,五十歲出頭就退了休。
這輩子,陳燃想請他吃頓飯。好好吃一頓,不是客套的那種。
他走出機(jī)房,走進(jìn)九月燦爛的陽光里。
操場上軍訓(xùn)的新生正在休息,有人唱起了歌,聲音跑調(diào)跑到離譜,但所有人都在笑。食堂飄來午飯的味道,***、番茄炒蛋、米飯的蒸氣。
一切都是活著的味道。
陳燃深吸一口氣。
他是死過一次的人。
但現(xiàn)在,他活著。在2008年9月17日,上午十一點(diǎn),活著。
他會讓這一次,活得不一樣。
精彩片段
書名:《重生之程序員的逆襲之路》本書主角有陳燃趙墨,作品情感生動,劇情緊湊,出自作者“康梓潼”之手,本書精彩章節(jié):猝死------------------------------------------:59。,盯著面前三塊屏幕的代碼,眼睛干澀得像砂紙打磨過。他已經(jīng)連續(xù)工作了36個(gè)小時(shí),咖啡喝了七杯,胃里翻涌著酸水。。,在35歲生日這天,還在親自debug。,進(jìn)度條卡在99%已經(jīng)三分鐘。陳燃的手指在鍵盤上懸著,隨時(shí)準(zhǔn)備處理可能出現(xiàn)的錯誤。。“燃石OS 3.0”,是公司未來三年的核心戰(zhàn)略。去年立項(xiàng)時(shí),他在董事會...