伯克利的Soda Hall的格局,是和別處不同的:都是地下一個黑洞洞的大lab,lab里預(yù)備著機器,可以隨時寫碼。做CS的人,傍午傍晚散了課,每每花一個小時,寫一道hw —— 這是tech bubble前的事,現(xiàn)在一道題要寫兩個小時——靠顯示器倚著,熱熱地compile了submit;倘肯多花一個小時,便可寫一道extra for experts,或者previous exam,如果刻到十幾個小時,那必是有自己的project,但這些學(xué)生,多是帽衫幫,大多沒有那么靈光;只有穿襯衫的,才踱進街對面的Suitadja Dai Hall里,要咖啡要paper,慢慢地research。
我從大二起,便在CS的intro課里當(dāng)reader,教授說,樣子太傻,怕伺候不了廣大學(xué)生,就在Office Hour做點事罷。Office Hour的帽衫主顧,雖然容易說話,但嘮嘮叨叨夾纏不清的也很不少。他們往往要親眼看著TA把題抄出,看著題里面有漏洞沒有,又親看講解把code寫出來,然后放心;在這嚴(yán)重監(jiān)督下,講題也很為難。所以過了幾天,教授又說我干不了這事。幸虧GPA的情面大,辭退不得,才改為專管判作業(yè)的一種無聊職務(wù)了。
我從此便整天的坐在lab里,專管我的職務(wù)。雖然沒有什么失職,但總覺得有些單調(diào),有些無聊。教授是一副兇臉孔,寫作業(yè)的也沒有好聲氣,教人活潑不得;只有孔乙己到lab,才可以笑幾聲,所以至今還記得。
孔乙己是泡lab而穿襯衫的唯一的人。他身材很瘦??;青白臉色,皺紋間時常加些青春痘;一部亂蓬蓬的頭發(fā)和胡子。穿的雖然是襯衫,可是又臟又破,似乎好幾個學(xué)期沒有換,也沒有洗。他對人說話,總是滿口big data,machine learning,叫人半懂不懂的??滓壹阂坏絣ab,所有寫碼的人便都看著他笑,有的叫道,“孔乙己,你臉上又添上新粉刺了!”他不回答,對電腦說,“今天要交兩個hw,還有一個project”,便打開九個emacs窗口。他們又故意地高聲嚷道,“你一定又追了人家的妹子了!”孔乙己睜大眼睛說,“你怎么這樣憑空污人清白……”“什么清白?我前天親眼見你陪著business club的妹子,去逛街?!笨滓壹罕銤q紅了臉,額上的青筋條條綻出,爭辯道,“去逛街不能算追……去逛街!……男閨蜜的事,能算追么?”接連便是難懂的話,什么“總有純潔的友誼”,什么“藍顏”之類,引得眾人都哄笑起來:店內(nèi)外充滿了快活的空氣。
聽人家背地里談?wù)?,孔乙己原來也追過妹子,但終于沒有談成,又耽誤功課;于是愈過愈差,弄到將要掛科了。幸而寫得一手好code,便和人家組組隊,抱一條大腿??上钟幸粯訅钠?,便是好吃懶做。寫不到幾天,便連人和電腦代碼login,一齊失蹤。如是幾次,叫他組隊的人也沒有了。孔乙己沒有法,便免不了偶然做些copy的事。但他在我們課里,成績卻比別人都好,就是從不扣分;雖然間或扣掉積分,暫時記在glookup上,但不出一天,定然補清,從glookup上拭去了孔乙己的負分。
孔乙己寫過幾百行,漲紅的臉色漸漸復(fù)了原,旁人便又問道,“孔乙己,你當(dāng)真會把妹么?”孔乙己看著問他的人,顯出不屑置辯的神氣。他們便接著說道,“你怎的連半個妹子也撈不到呢?”孔乙己立刻顯出頹唐不安模樣,臉上籠上了一層灰色,嘴里說些話;這回可是全是概率分布之類,一些不懂了。在這時候,眾人也都哄笑起來:店內(nèi)外充滿了快活的空氣。
在這些時候,我可以附和著笑,TA是決不責(zé)備的。而且TA見了孔乙己,也每每這樣問他,引人發(fā)笑。孔乙己自己知道不能和他們談天,便只好向?qū)W弟說話。有一回對我說道,“你寫過碼么?”我略略點一點頭。他說,“寫過碼,……我便考你一考。Linked List的implementation,怎樣寫的?”我想,掛科一樣的人,也配考我么?便回過臉去,不再理會。孔乙己等了許久,很懇切的說道,“不能寫罷?……我教給你,記著!這些code應(yīng)該記著。將來當(dāng)TA的時候,教課要用?!蔽野迪胛液蚑A的等級還很遠呢,而且我們TA也從不將code手寫上白板;又好笑,又不耐煩,懶懶的答他道,“誰要你教,不是node里有個next pointer么?”孔乙己顯出極高興的樣子,將兩個指頭的長指甲敲著回車,點頭說,“對呀對呀!……Linked List有四種implementation,你知道么?”我愈不耐煩了,努著嘴走遠。孔乙己剛用指甲敲了快捷鍵,想在terminal里寫碼,見我毫不熱心,便又嘆一口氣,顯出極惋惜的樣子。
有幾回,隔壁學(xué)弟聽得笑聲,也趕熱鬧,圍住了孔乙己。他便給他們debug,一人一個。學(xué)弟找完bug,仍然不散,眼睛都望著顯示器。孔乙己著了慌,伸開五指將顯示器罩住,彎腰下去說道,“不多了,bug已經(jīng)不多了?!敝逼鹕碛挚匆豢创a,自己搖頭說,“不多不多!多乎哉?不多也?!庇谑沁@一群學(xué)弟都在笑聲里走散了。
孔乙己是這樣的使人快活,可是沒有他,別人也便這么過。
有一天,大約是Dead Week前的兩三天,TA正在慢慢的算分,打開Google Docs,忽然說,“孔乙己長久沒有來了。還扣著十九分呢!”我才也覺得他的確長久沒有來了。一個寫碼的人說道,“他怎么會來?……他攪了基了?!闭乒裾f,“哦!”“他總?cè)耘f是把妹。這一回,是自己發(fā)昏,竟把到白富美家里去了。白富美妹子,動得的么?”“后來怎么樣?”“怎么樣?先是被發(fā)卡,后來是喝酒,吐了大半夜,再撿了肥皂。”“后來呢?”“后來撿肥皂了。”“撿肥皂了怎樣呢?”“怎樣?……誰曉得?許是彎了。”TA也不再問,仍然慢慢的算他的分。
Dead Week之后,功課是一天緊比一天,看看將近Final;我整天的判作業(yè),也須加緊進度了。一天的下半天,沒有一個學(xué)生,我正合了眼坐著。忽然間聽得一個聲音,“交一個project?!边@聲音雖然極細,卻很耳熟??磿r又全沒有人。站起來向外一望,那孔乙己便在lab外對了門檻坐著。他臉上白而且瘦,已經(jīng)不成樣子;穿一件緊身牛仔褲,直著兩腿,下面壓一個信使包,用花繩在肩上掛??;見了我,又說道,“交一個project。”TA也伸出頭去,一面說,“孔乙己么?你還扣著十九分呢!”孔乙己很頹唐的仰面答道,“這……下回再補罷。這一回是一次過test,分要好。”TA仍然同平常一樣,笑著對他說,“孔乙己,你又去把妹了!”但他這回卻不十分分辯,單說了一句“不要取笑!”“取笑?要是不被拒,怎么會撿肥皂?”孔乙己低聲說道,“手滑,滑,滑……”他的眼色,很像懇求TA,不要再提。此時已經(jīng)聚集了幾個人,便和TA都笑了。我開了terminal,端出去,放在門檻上。他從乳尖袋里摸出四個U盤,放在我手里,見他滿手指甲油,原來他便用這手寫碼的。不一會,他交完project,便又在旁人的說笑聲中,慢慢走去了。
自此以后,又長久沒有看見孔乙己。到了Final,TA發(fā)出成績說,“孔乙己還扣十九分呢!”到第二年的Final,又說“孔乙己還扣十九分呢!”到Fall Semester可是沒有說,再到Spring也沒有看見他。
我到現(xiàn)在終于沒有見——大約孔乙己的確彎了。
又及:有想法改《孔乙己》已經(jīng)不是一天兩天了。起初只是想戲虐一番,作為CS預(yù)備役人員做好自黑敝行業(yè)這一必需的工作。后來就覺得似乎有一種責(zé)任,好像必須要諷刺些什么,否則辜負了原作的神氣;自己也耳聞目見許多事情,覺得有吐槽一下的必要了。再后來下筆改了,才覺得諷刺也沒那么容易;沒有一件事能夠完全對應(yīng)上這篇文章的所有。所以這文章有兩大遺憾,一是孔乙己三字沒能找到對應(yīng),二是結(jié)尾草率——哪有把不到妹就走彎路的程序員?我們只不過是會投奔二次元找找安慰罷了,再說這么寫似乎對彩虹群體頗為不敬。然而草稿一出似乎上了推薦,點贊甚多;所以還是趁著沒有人批評的時候先行澄清,戲虐為主,一笑了之,若讀者能從人設(shè)地理里找到些影子,會了自黑的意,那就再好不過。如有雷同……我只能呵呵呵呵。