惡靈傳說(shuō)之老程序員
序
這則故事寫(xiě)于1998年1月,愛(ài)沙尼亞,塔圖。是將我在當(dāng)?shù)厝粘9ぷ鹘?jīng)歷和愛(ài)沙尼亞一個(gè)民間傳說(shuō)融合改編而成。當(dāng)時(shí)我們做了大量的系統(tǒng)分析,因此故 事中提到了CASE工具和圖表。不像今天的辦公室那般寬敞,當(dāng)時(shí)的辦公場(chǎng)所十分擁擠,而且我們真的常常熬夜加班然后在辦公室睡袋里過(guò)夜。甚至有人會(huì)電擊別 人。趣事很多,容我慢慢道來(lái)……
一個(gè)老程序員
這家伙是晚上被帶到公司的。
“他們把你招收進(jìn)來(lái)了?”一個(gè)程序員問(wèn),“估計(jì)是把你灌醉了然后再簽約的吧——像我們所有人一樣。要是頭腦清醒的話,誰(shuí)會(huì)來(lái)這樣的公司啊。”
“你知道你頂替的那個(gè)人的下場(chǎng)嗎?”另一個(gè)問(wèn)。
“項(xiàng)目經(jīng)理干掉他了,一拳撂倒,然后殺死。好多人都被項(xiàng)目經(jīng)理揍死了。”
“意料之中,這沒(méi)什么。”新來(lái)的家伙平靜地說(shuō)。“我還沒(méi)見(jiàn)過(guò)不開(kāi)除員工的公司!我是個(gè)老程序員了, 所有的操作系統(tǒng)我都測(cè)試過(guò),見(jiàn)過(guò)的暴力沖突多了去了,這是無(wú)法避免的。想當(dāng)年,男人們都是爺們!每個(gè)人都手里拿著高壓電線走來(lái)走去的,逮住機(jī)會(huì)就電別人。”
“我是唯一活下來(lái)的,成功地完成了項(xiàng)目,并找到新的工作。沒(méi)錯(cuò),我了解軟件工程的傳統(tǒng)。”
說(shuō)完后他鉆進(jìn)一個(gè)睡袋,睡著了,鼾聲如雷。
早晨,項(xiàng)目經(jīng)理問(wèn)起新員工的情況。
“人呢?”他問(wèn)一個(gè)分析師。“我要給他介紹一下公司的守則。”
分析師低頭看著地板,紅著臉說(shuō):
“呃……怎么說(shuō)呢……他在休閑室呢……我勸了但……”
“什么??!”項(xiàng)目經(jīng)理火冒三丈。“閑著呢?他當(dāng)公司是療養(yǎng)院還是咋地!項(xiàng)目問(wèn)題一大堆呢!帶我去找他!”
那程序員的確是在休閑室里閑著,還不時(shí)懶洋洋地打呵欠。
當(dāng)看到項(xiàng)目經(jīng)理時(shí),他笑容滿面。
“我剛在想我年輕的時(shí)候,”他說(shuō)。“男人都是鋼鐵煉成的。有無(wú)數(shù)次我需要在機(jī)器碼中尋找bugs。有一天我碰到了一個(gè)棘手的。天剎的!我要把所有東西重新編譯三遍。但最后我把bug給揪出來(lái)了。”
“什么!”項(xiàng)目經(jīng)理怒吼。“你還有臉說(shuō)這些,你這個(gè)混蛋!”
“嗨!別著急!”新來(lái)的不高興地說(shuō)。“不許跟老程序員這樣講話,我還沒(méi)說(shuō)完哩。還有一次我們要給一個(gè)數(shù)據(jù)庫(kù)引擎打補(bǔ)丁。全組人都不知該如何下手,最后只能靠我。‘來(lái)啊,你這老東西!’ 我告訴那個(gè)引擎。‘我要碾碎你。’ 我直到現(xiàn)在還記得這事。”
項(xiàng)目經(jīng)理聽(tīng)后臉色發(fā)青。
“你知道你在跟誰(shuí)說(shuō)話嗎!” 經(jīng)理咆哮。“你在跟項(xiàng)目經(jīng)理說(shuō)話呢!”
“你也配叫項(xiàng)目經(jīng)理?你就是個(gè)屁。” 老程序員答道。“像你這樣的經(jīng)理過(guò)去我見(jiàn)得多了。你知道嗎,當(dāng)年的項(xiàng)目經(jīng)理才真叫項(xiàng)目經(jīng)理。他們沉重的腳步在走廊里踱來(lái)踱去,雙眼浮腫,不斷地咒罵機(jī)器, 最后所有機(jī)器都給出了GPFs(譯注:一般保護(hù)錯(cuò)誤。)。像你這樣的腳本小子根本不行?;匚荽?。我會(huì)搞定所有問(wèn)題。我熟悉C++就像屁股熟悉椅子一 樣。”
“那個(gè)誰(shuí),” 老程序員對(duì)分析師喊道。“你用了多少CASE工具?”
“一個(gè),” 分析師窘促答道。
老程序員直搖頭。
“真是稀罕事!”他說(shuō)。“應(yīng)該至少要用7種CASE工具,所有的圖表每天要重畫(huà)12次。當(dāng)年都是如此。叫所有人去畫(huà)!”
“我認(rèn)為……” 被震懾到的項(xiàng)目經(jīng)理想說(shuō)些什么,但是老程序員讓他閉嘴。
很快文件服務(wù)器里所有的磁盤(pán)空間就用完了,他命令CFO去買(mǎi)新的硬盤(pán)。
“這樣我們的錢(qián)很快就會(huì)花光的,” CFO強(qiáng)硬回應(yīng)。
“公司就不該省錢(qián),” 老程序員堅(jiān)定地說(shuō)。“想當(dāng)年,我在FreeBSD上寫(xiě)程序的時(shí)候, 所有人寫(xiě)了7個(gè)月也沒(méi)拿一分錢(qián)。你們這些人懂得什么是軟件工程嗎?”
“你用的軟件是哪家的?” 老程序員命令狠狠的問(wèn)分析師。
“微軟的。” 分析師答道。
“立刻刪掉,” 老程序員說(shuō)。“你見(jiàn)過(guò)有人用微軟的軟件嗎!這明擺著有害無(wú)益!所有的程序員都知道微軟是邪靈的代表。趕快把它刪了!我記得有一次一個(gè)笨蛋項(xiàng)目經(jīng)理叫人安裝微軟的軟件。當(dāng)晚魔鬼就從操作系統(tǒng)里面爬出來(lái),把睡在睡袋里的人的血都吸干了。我是唯一一個(gè)幸存的。”
嚇壞了的人們立刻把所有的硬盤(pán)都格式化了。
“耶穌圣母瑪利亞?。?rdquo; 幾乎休克的項(xiàng)目經(jīng)理叫道。“現(xiàn)在我們肯定無(wú)法在限期前完成項(xiàng)目了!我要瘋了!”
“搞軟件工程的就該瘋,這是唯一出路,” 老程序員表示同意。 “想當(dāng)年,有一個(gè)項(xiàng)目把全公司的人都逼瘋了。”
項(xiàng)目經(jīng)理呻吟著逃回自己的辦公室。
老程序員則到處逛,最后進(jìn)了系統(tǒng)管理員的房間。
“服務(wù)器出問(wèn)題了?” 思索片刻后他問(wèn)。
“我有個(gè)圖形界面來(lái)監(jiān)視服務(wù)器,” 系統(tǒng)管理員說(shuō)。
老程序員吹了一句口哨。
“問(wèn)題就在這里!” 他說(shuō)。“圖形界面! 是稀罕事!想當(dāng)年,沒(méi)人用圖形界面。命令行就是系統(tǒng)管理員的全部。圖形界面只會(huì)誤導(dǎo)人。” 他把管理員推開(kāi),刪除了X-Windows, 然后疲勞過(guò)度,回去睡了。
過(guò)了一會(huì),秘書(shū)說(shuō)要臨時(shí)停電一會(huì)兒。項(xiàng)目經(jīng)理——他的表情告訴人們他最近幾個(gè)小時(shí)過(guò)得不太好,跑出他的辦公室,告訴大家保存一下工作。
“垃圾!” 老程序員說(shuō)。“拉閘就拉閘!你們都閉嘴,我來(lái)搞定數(shù)據(jù)存檔!”
沒(méi)錯(cuò),停電了,所有的數(shù)據(jù)都沒(méi)了。
公司當(dāng)時(shí)的項(xiàng)目是跟微軟合作的,微軟方面的代表時(shí)常在晚上來(lái)檢查項(xiàng)目的進(jìn)度。
但是系統(tǒng)管理員沒(méi)法工作,數(shù)據(jù)找不回來(lái)。微軟的代表非常生氣。
“這下我們要破產(chǎn)了,” CEO哀嘆。
“公司本來(lái)就是要破產(chǎn)的,” 老程序員依然平靜地說(shuō)。“沒(méi)有哪家公司不會(huì)破產(chǎn)! 我在業(yè)內(nèi)這么多年,所有公司都破產(chǎn)了。想當(dāng)年……”
他還沒(méi)說(shuō)完,微軟的一隊(duì)律師就到了,把他和所有人一起抓去見(jiàn)比爾蓋茨。
坐在高貴無(wú)比的寶座里的比爾扶了一下他的圓形眼鏡。
“你們不用擔(dān)心,” 他說(shuō)。“你們將會(huì)變成我的碼奴我做項(xiàng)目,就像所有來(lái)到這個(gè)領(lǐng)域的人一樣。 從現(xiàn)在開(kāi)始,你們是我的奴隸。”
短暫的沉默后,人們突然聽(tīng)到了老程序員的聲音,他在批評(píng)MS Word。“誰(shuí)會(huì)在PC上運(yùn)行Word啊。Word屬于大型主機(jī)。”
“這不是那個(gè)老程序員嗎!” 比爾很驚訝,明顯受到了刺激。“又是你!”
“沒(méi)錯(cuò),就是我,” 老程序員答道。“你的眼鏡怎么是圓的?眼鏡從來(lái)都應(yīng)該是方的呀。”
“馬上把他給我轟走!” 比爾咆哮。“現(xiàn)在立即馬上!”
于是律師們就把老程序員趕走了。
第二天,當(dāng)他坐在終端前敲代碼時(shí),兩個(gè)人走進(jìn)了他的房間。
“我們公司需要一名富有經(jīng)驗(yàn)的程序員!” 其中一個(gè)人說(shuō)。
“我就是,” 老程序員答道,然后跟那兩個(gè)人離去…