夕甲甲——孔乙己之C++版

OOP代碼的格局婿屹,是和別的編程模式不同的:首先要有一個(gè)構(gòu)造函數(shù);基類(lèi)里只定義了函數(shù)的形式屈张,可以隨時(shí)通過(guò)派生增加不同的實(shí)現(xiàn)。那些程序員們袱巨,每每學(xué)會(huì)了繼承和多態(tài)阁谆,便可以接一個(gè)項(xiàng)目,——這是十年前的事愉老,現(xiàn)在至少要懂得設(shè)計(jì)模式场绿,——靠柜臺(tái)外站著,寫(xiě)些代碼換一個(gè)雞蛋灌餅吃嫉入;倘若懂一些多線程的知識(shí)焰盗,便可以在雞蛋灌餅里加火腿腸璧尸,或者里脊了,如果懂得語(yǔ)言的實(shí)現(xiàn)原理熬拒,那就能做一些底層代碼的優(yōu)化爷光,換一盤(pán)炒菜。但這些程序員澎粟,多是初級(jí)水平蛀序,大抵沒(méi)有這樣深入。只有懂得內(nèi)存模型的活烙,才能接一些底層的項(xiàng)目徐裸,打開(kāi)調(diào)試器和剖析器,慢慢的坐著優(yōu)化代碼啸盏。

我從十二歲起重贺,便在村口的githoverflow工廠里當(dāng)學(xué)徒,師傅說(shuō)宫补,我邏輯思維太差檬姥,怕學(xué)不會(huì)靜態(tài)類(lèi)型語(yǔ)言曾我,就寫(xiě)些shell腳本吧粉怕。shell腳本雖然容易寫(xiě),但語(yǔ)法容易含混不清的地方也不少抒巢。字符串和數(shù)組的功能很弱贫贝,條件判斷的語(yǔ)法也很奇特,有時(shí)要對(duì)特殊字符手動(dòng)做兩重轉(zhuǎn)義蛉谜,然后通過(guò)稚晚。在這種情況下,寫(xiě)腳本也很為難型诚。所以過(guò)了幾天客燕,師傅又說(shuō)我干不了這事。幸虧薦頭的情面大狰贯,辭退不得也搓,便改為專(zhuān)管測(cè)試的一種無(wú)聊職務(wù)了。

我從此便整天的站在測(cè)試機(jī)前涵紊,專(zhuān)管運(yùn)行測(cè)試腳本傍妒。雖然沒(méi)有什么失職,但總覺(jué)得有些單調(diào)摸柄,有些無(wú)聊颤练。師傅是一副兇臉孔,程序員也沒(méi)有好聲氣驱负,教人活潑不得嗦玖;只有夕甲甲到廠里患雇,才可以笑幾聲,所以至今還記得宇挫。

夕甲甲是站著編程而手動(dòng)管理內(nèi)存的唯一的程序員庆亡。他用的開(kāi)發(fā)語(yǔ)言語(yǔ)法臃腫;結(jié)構(gòu)雜亂捞稿,代碼間時(shí)常夾些#ifdef又谋;一堆亂蓬蓬的充當(dāng)接口的.h文件。雖然是手動(dòng)管理內(nèi)存娱局,可是經(jīng)常出現(xiàn)野指針彰亥,要么忘了初始化,要么釋放后沒(méi)有設(shè)置成NULL衰齐。他寫(xiě)的代碼任斋,總是滿(mǎn)屏的奇技淫巧,叫人半懂不懂的耻涛。因?yàn)樗障Ψ峡幔挚傆X(jué)得自己的技術(shù)天下第一,別人便用“甲乙丙丁”的第一個(gè)字抹缕,替他取下一個(gè)綽號(hào)澈蟆,叫做夕甲甲。夕甲甲一到廠卓研,所有的程序員便都看著他笑趴俘,有的叫道,“夕甲甲奏赘,你的代碼又出新bug了寥闪!”他不作答,對(duì)柜里說(shuō)磨淌,“來(lái)兩個(gè)雞蛋灌餅疲憋,一杯豆?jié){×褐唬”便把Thinkpad擺好缚柳。他們又故意的高聲嚷道,“你一定又把人家的內(nèi)存搞泄漏了敛纲!”夕甲甲睜大眼睛說(shuō)喂击,“你怎么這樣憑空污人清白……”“什么清白?我前天親眼見(jiàn)你搞崩了Windows的內(nèi)存淤翔,吊著打翰绊。”夕甲甲便漲紅了臉,額上的青筋條條綻出监嗜,爭(zhēng)辯道谐檀,“內(nèi)存沒(méi)釋放不能算泄漏……沒(méi)釋放!……程序員的事裁奇,能算泄漏么桐猬?”接連便是難懂的話(huà),什么“new/delete配對(duì)使用”刽肠,什么“誰(shuí)申請(qǐng)誰(shuí)釋放”之類(lèi)溃肪,引得眾人都哄笑起來(lái):廠內(nèi)外充滿(mǎn)了快活的空氣。

聽(tīng)人家背地里談?wù)撘粑澹准自瓉?lái)也讀過(guò)CS博士惫撰,但終于沒(méi)有去做學(xué)術(shù),又不會(huì)營(yíng)生躺涝;于是愈過(guò)愈窮厨钻,弄到將要討飯了。幸而還會(huì)寫(xiě)點(diǎn)代碼坚嗜,便替人家做幾個(gè)游戲夯膀,換一碗飯吃〔允撸可惜他又有一樣壞毛病诱建,便是內(nèi)存泄漏。運(yùn)行不到幾秒银室,便連程序帶數(shù)據(jù)涂佃,一齊崩掉。如是幾次蜈敢,叫他寫(xiě)游戲的人也沒(méi)有了。夕甲甲沒(méi)有法汽抚,便只好做些最簡(jiǎn)單的外包項(xiàng)目抓狭。但他在我們廠里,品行卻比別人都好造烁,就是從不留bug否过;雖然間或一時(shí)不能解決,暫時(shí)記在wiki上惭蟋,但不出一月苗桂,定然修復(fù),從wiki上刪去了夕甲甲的名字告组。

夕甲甲寫(xiě)過(guò)半頁(yè)代碼煤伟,漲紅的臉色漸漸復(fù)了原,旁人便又問(wèn)道,“夕甲甲便锨,你當(dāng)真會(huì)寫(xiě)代碼么围辙?”夕甲甲看著問(wèn)他的人,顯出不屑置辯的神氣放案。他們便接著說(shuō)道姚建,“你怎的連半行代碼也沒(méi)有貢獻(xiàn)給linux內(nèi)核呢?”夕甲甲立刻顯出頹唐不安模樣吱殉,臉上籠上了一層灰色掸冤,嘴里說(shuō)些話(huà);這回可是全是“狗屎Linus”之類(lèi)友雳,一些不懂了贩虾。在這時(shí)候,眾人也都哄笑起來(lái):店內(nèi)外充滿(mǎn)了快活的空氣沥阱。

在這些時(shí)候缎罢,我可以附和著笑,師傅是決不責(zé)備的考杉。而且?guī)煾狄?jiàn)了夕甲甲策精,也每每這樣問(wèn)他,引人發(fā)笑崇棠。夕甲甲自己知道不能和他們談天咽袜,便只好向孩子說(shuō)話(huà)。有一回對(duì)我說(shuō)道枕稀,“你學(xué)過(guò)編程么询刹?”我略略點(diǎn)一點(diǎn)頭。他說(shuō)萎坷,“學(xué)過(guò)編程凹联,……我便考你一考。const int *和int const *哆档,有什么區(qū)別蔽挠?”我想,討飯一樣的人瓜浸,也配考我么澳淑?便回過(guò)臉去,不再理會(huì)插佛。夕甲甲等了許久杠巡,很懇切的說(shuō)道,“不知道罷雇寇?……我教給你氢拥,記著蚌铜!這些語(yǔ)法應(yīng)該記著。將來(lái)做程序員的時(shí)候兄一,寫(xiě)代碼要用厘线。”我暗想我和程序員的等級(jí)還很遠(yuǎn)呢出革,而且我們師傅也從不用裸指針造壮;又好笑,又不耐煩骂束,懶懶的答他道耳璧,“誰(shuí)要你教,兩個(gè)沒(méi)區(qū)別展箱,都是指向常量的指針旨枯。如果你想用指針常量,要寫(xiě)int * const混驰∨矢簦”夕甲甲顯出極高興的樣子,將手里的破鼠標(biāo)敲著電腦桌栖榨,點(diǎn)頭說(shuō)昆汹,“對(duì)呀對(duì)呀!……const有四種用法婴栽,你知道么满粗?”我愈不耐煩了,努著嘴走遠(yuǎn)愚争。夕甲甲剛在Visual Studio里新建一個(gè)空文件映皆,想在里面寫(xiě)代碼,見(jiàn)我毫不熱心轰枝,便又嘆一口氣捅彻,顯出極惋惜的樣子。

有幾回狸膏,鄰居孩子聽(tīng)得笑聲沟饥,也趕熱鬧,圍住了夕甲甲湾戳。他便給他們一人寫(xiě)了一個(gè)Hello World。孩子看完广料,仍然不散砾脑,眼睛都望著屏幕。夕甲甲著了慌艾杏,伸開(kāi)五指將屏幕罩住韧衣,彎腰下去說(shuō)道,“error了,編譯器報(bào)error了畅铭∈鲜纾”直起身又看一看屏幕,自己搖頭說(shuō)硕噩,“error error假残!哀乎哉?error也炉擅』岳粒”于是這一群孩子都在笑聲里走散了。

夕甲甲是這樣的使人快活谍失,可是沒(méi)有他眶俩,別人也便這么過(guò)。

有一天快鱼,大約是程序員節(jié)前的兩三天颠印,師傅正在慢慢的release代碼,打開(kāi)wiki抹竹,忽然說(shuō)线罕,“夕甲甲長(zhǎng)久沒(méi)有來(lái)了。還有十九個(gè)bug沒(méi)修復(fù)呢柒莉!”我才也覺(jué)得他的確長(zhǎng)久沒(méi)有來(lái)了闻坚。一個(gè)喝酒的人說(shuō)道,“他怎么會(huì)來(lái)兢孝?……他打折了腿了窿凤。”師傅說(shuō)跨蟹,“哦雳殊!”“他總?cè)耘f是搞崩內(nèi)存。這一回窗轩,是自己發(fā)昏夯秃,竟搞崩了GFW的內(nèi)存。他家的內(nèi)存痢艺,搞得的嗎仓洼?”“后來(lái)怎么樣?”“怎么樣堤舒?先是去喝茶色建,后來(lái)是打,打了大半夜舌缤,再打折了腿箕戳∧巢校”“后來(lái)呢?”“后來(lái)打折了腿了陵吸〔J”“打折了怎樣呢?”“怎樣壮虫?……誰(shuí)曉得澳厢?許是死了≈贾福”師傅也不再問(wèn)赏酥,仍然慢慢的做他的release。

程序員節(jié)過(guò)后谆构,函數(shù)式編程是一天比一天熱門(mén)裸扶,看看連Java都開(kāi)始支持lambda表達(dá)式;我整天的做測(cè)試搬素,也須了解什么是閉包了呵晨。一天的下半天,沒(méi)有一個(gè)要測(cè)試的項(xiàng)目熬尺,我正合了眼坐著摸屠。忽然間聽(tīng)得一個(gè)聲音,“來(lái)一個(gè)雞蛋灌餅粱哼〖径”這聲音雖然極低,卻很耳熟揭措】柘希看時(shí)又全沒(méi)有人。站起來(lái)向外一望绊含,那夕甲甲便在柜臺(tái)下對(duì)了門(mén)檻坐著桑嘶。他臉上黑而且瘦,已經(jīng)不成樣子躬充;帶一本破Thinkpad逃顶,盤(pán)著兩腿,下面墊一個(gè)電腦包充甚,用草繩在肩上掛滓哉;見(jiàn)了我伴找,又說(shuō)道妙蔗,“來(lái)一個(gè)雞蛋灌餅〗澹”師傅也伸出頭去眉反,一面說(shuō),“夕甲甲么穆役?你還有十九個(gè)bug沒(méi)修呢寸五!”夕甲甲很頹唐的仰面答道,“這……下回修罷耿币。這一回是現(xiàn)場(chǎng)通過(guò)梳杏,雞蛋要好⊙徒樱”師傅仍然同平常一樣十性,笑著對(duì)他說(shuō),“夕甲甲塑悼,你又內(nèi)存泄漏了劲适!”但他這回卻不十分分辯,單說(shuō)了一句“不要取笑厢蒜!”“取笑霞势?要是不泄漏,怎么會(huì)打斷腿斑鸦?”夕甲甲低聲說(shuō)道愕贡,“跌斷,跌巷屿,跌……”他的眼色固以,很像懇求師傅,不要再提嘱巾。此時(shí)已經(jīng)聚集了幾個(gè)人憨琳,便和師傅都笑了。我煎了雞蛋灌餅浓冒,拿出去栽渴,放在門(mén)檻上。他打開(kāi)電腦開(kāi)始寫(xiě)代碼稳懒,見(jiàn)他滿(mǎn)手是泥闲擦,原來(lái)他便用這手走來(lái)的。不一會(huì)场梆,他提交代碼墅冷,通過(guò)了測(cè)試和review,便又在旁人的說(shuō)笑聲中或油,坐著用這手慢慢走去了寞忿。

自此以后,又長(zhǎng)久沒(méi)有看見(jiàn)夕甲甲顶岸。到了Rust 1.0發(fā)布的時(shí)候腔彰,師傅打開(kāi)wiki說(shuō)叫编,“夕甲甲還有十九個(gè)bug呢!”到Golang 2.0發(fā)布的時(shí)候霹抛,又說(shuō)“夕甲甲還有十九個(gè)bug呢搓逾!”到Scala 3.0發(fā)布的時(shí)候可是沒(méi)有說(shuō),再到Rust又演進(jìn)了一個(gè)版本也沒(méi)有看見(jiàn)他杯拐。

我到現(xiàn)在終于沒(méi)有見(jiàn)——大約夕甲甲的確死了霞篡。

寫(xiě)于二零一五年夏

來(lái)自 http://www.cnblogs.com/aquastone/p/kongyiji-cpp.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市端逼,隨后出現(xiàn)的幾起案子朗兵,更是在濱河造成了極大的恐慌,老刑警劉巖顶滩,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件余掖,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡诲祸,警方通過(guò)查閱死者的電腦和手機(jī)浊吏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)救氯,“玉大人找田,你說(shuō)我怎么就攤上這事∽藕” “怎么了墩衙?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)甲抖。 經(jīng)常有香客問(wèn)我漆改,道長(zhǎng),這世上最難降的妖魔是什么准谚? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任挫剑,我火速辦了婚禮,結(jié)果婚禮上柱衔,老公的妹妹穿的比我還像新娘樊破。我一直安慰自己,他們只是感情好唆铐,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布哲戚。 她就那樣靜靜地躺著,像睡著了一般艾岂。 火紅的嫁衣襯著肌膚如雪顺少。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,688評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音脆炎,去河邊找鬼梅猿。 笑死,一個(gè)胖子當(dāng)著我的面吹牛腕窥,可吹牛的內(nèi)容都是我干的粒没。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼簇爆,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了爽撒?” 一聲冷哼從身側(cè)響起入蛆,我...
    開(kāi)封第一講書(shū)人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤哗总,失蹤者是張志新(化名)和其女友劉穎跋涣,沒(méi)想到半個(gè)月后者吁,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體廊谓,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡锚国,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年斯入,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了弓熏。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片呀舔。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡粱栖,死狀恐怖话浇,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情闹究,我是刑警寧澤幔崖,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站渣淤,受9級(jí)特大地震影響赏寇,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜价认,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一嗅定、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧用踩,春花似錦渠退、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至丁屎,卻和暖如春荠锭,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背晨川。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工证九, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留删豺,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓愧怜,卻偏偏與公主長(zhǎng)得像呀页,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子拥坛,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,167評(píng)論 25 707
  • 1998年蓬蝶,我還是個(gè)20歲的啥也不懂的傻丫頭,我們那年代信息量遠(yuǎn)沒(méi)有現(xiàn)在這么大猜惋,請(qǐng)不要和現(xiàn)在20歲的年輕人比丸氛,那時(shí)...
    _簡(jiǎn)_單閱讀 323評(píng)論 4 3
  • 弟子規(guī)這本書(shū)告訴我們要孝順父母,尊敬長(zhǎng)輩著摔,其次我們要約束自己缓窜,誠(chéng)實(shí)可信。
    許致遠(yuǎn)閱讀 169評(píng)論 0 0