那架五塊錢的破鋼琴,了出租屋里除了那臺拼湊電腦之外,最“昂貴”的資產。
宋薇用撿來的碎布頭,仔細去鋼琴表面的灰塵和污垢。琴鍵依舊走音,缺了幾個鍵帽的地方出黑的窟窿,但意意卻像得到了全天下最棒的玩。只要醒著,小手總忍不住往鋼琴的方向夠,按下去,聽著那扭曲古怪的“咔噠”聲,小臉上就會出一種介于迷和愉悅之間的神。
宋薇看在眼里,心里那點因花掉伙食費而生的刺痛,被一種更復雜的緒取代。那是一種混雜著愧疚、決心和約興的灼熱。悄悄把接下來幾天的伙食預算又砍掉一半,清水煮菜葉里連鹽都放了一撮。胃里空得發慌,但看著意意對著破鋼琴“創作”時亮晶晶的眼睛,覺得值。
生活依舊像繃的弦。王經理那邊的數據錄零活時有時無,報酬微薄且不穩定。公益中心的免費午餐是雷打不的支撐,但周伯遠的課程越來越深,開始涉及一些簡單的報表分析和基礎的VBA編程概念。
這對只有大學文科背景、且已荒廢多年的宋薇來說,如同天書。那些循環語句、條件判斷、變量定義,像一團團糾纏的麻,堵在本就因營養不良而運轉遲緩的大腦里。
深夜,孩子們終于沉沉睡去(現在能睡五六個小時了,是宋薇僅有的、完整的學習時間)。蜷在冰冷的桌子前,就著那豆大如豆、搖曳不定的煤油燈,攤開周伯遠給的、字跡已有些模糊的油印講義,和一本從廢品站撿來的、缺頁嚴重的編程門舊書。
電腦太慢,舍不得那點珍貴的電瓶電量,更怕運行編程件會導致死機,前功盡棄。選擇最原始的方法——把問題寫在撿來的、背面空白的廣告傳單上。
“如何用循環,自將Sheet1的A列數據,乘以對應B列的系數,結果填C列?”
咬著鉛筆頭(也是撿的),眉頭擰疙瘩。講義上的例子能看懂,但稍微一變,就無從下手。腦子里像塞滿了冰冷的銹鐵,轉不。
嘗試寫了幾行偽代碼,涂涂改改,邏輯百出。煩躁地著太,凍瘡未愈的手指傳來刺痛。胃部因為而搐,提醒著現實的冰冷。
嘆了口氣,把寫滿混思路的紙推到一邊,準備先沖點米糊給自己墊墊肚子。起時,袖子帶倒了桌上一個空的罐(那罐珍貴的早已見底,罐子被洗凈留著裝水),罐子滾落,正好在了那張涂般的草稿紙上。
宋薇沒在意,拖著疲憊的子去爐邊燒水。
水還沒開,暖暖醒了,發出細細的哼唧。趕過去,輕輕拍。哄睡暖暖,又檢查了其他三個。行行睡得很沉,意意的小手在睡夢中還無意識地做著按琴鍵的作,遠遠則咂著小,不知夢見了什麼。
等重新坐回桌前,拿起水杯時,目無意間掃過那張被罐過的草稿紙。
作頓住了。
紙上原本那些混的箭頭、潦草的文字和錯誤的代碼旁,多了一些東西——幾道歪歪扭扭的、蠟筆畫的痕跡。
那是之前從廢品堆撿到的一小截蠟筆頭,給孩子們畫著玩的,後來不知被誰(多半是到索的遠遠)拿到了桌上。
蠟筆是紅的,畫在糙的廣告紙背面,線條稚得可笑。但那幾道線條,卻并非毫無意義的涂。
一道彎彎曲曲的線,從代表“Sheet1 A列”的方塊出發,畫了個圈,又回到原點,旁邊畫了幾個重復的小點,像是……循環?
Advertisement
一條短線連接了“A列”和“B列”的方塊,上面畫了個小小的“×”。
另一條線從“×”延出去,指向“C列”,線條末端打了個箭頭。
旁邊還畫了個歪歪扭扭的、像鎖一樣的小符號,鎖旁邊打了個勾。
宋薇拿著水杯的手,僵在半空。
心臟在腔里,突兀地、重重地跳了一下。
盯著那些稚的蠟筆痕跡,腦子里飛快地轉。循環……相乘……賦值……鎖定?不,那個鎖和勾,更像是……“判斷”?條件判斷?
一個荒誕卻又讓渾發冷的念頭,如同冰冷的蛇,鉆進腦海。
遠遠白天確實在這附近爬來爬去玩過。難道……這些看似隨意的涂,是他在“看”了寫的東西後,無意識留下的……“注釋”?
猛地搖頭,想把這不切實際的想法甩出去。一個不滿五個月、話都不會說的嬰兒,怎麼可能理解編程邏輯?還畫出帶有象征意義的符號?
可……行行對電子元件的直覺,意意對旋律的復現,又怎麼解釋?
鬼使神差地,重新拿起鉛筆,對著那張被蠟筆“加工”過的草稿紙,按照那些線條和符號提示的思路,重新思考那個VBA問題。
循環讀取A列和B列……對應行相乘……結果填C列……如果B列為空或非數字,則跳過(鎖和勾代表判斷和通過)?
嘗試著,在腦子中構建這個流程。原本堵塞的思路,仿佛被那些稚的蠟筆線條,撬開了一道隙。
煤油燈的暈搖曳著,映著蒼白的臉和因震驚而微微放大的瞳孔。
水燒開了,發出尖銳的鳴。渾然未覺。
直到暖暖又哼唧了一聲,才如夢初醒。趕沖好米糊,自己囫圇喝了幾口,又把剩下溫著的喂給可能夜醒的孩子們。
躺回冰冷的床板上,卻毫無睡意。眼睛睜得大大的,著黑暗里斑駁的天花板,耳邊是四個孩子均勻細弱的呼吸聲,腦子里卻反復回放著那張草稿紙上的蠟筆涂。
第二天,做出了一個決定。
晚上,當再次被一個復雜的公式嵌套卡住時,沒有像往常一樣煩躁地抓頭發,而是把寫了問題的紙,故意放在了遠遠白天活時能夠到的桌邊。
然後,裝作若無其事地去收拾屋子,眼角余卻切注意著。
遠遠果然被紙上那些奇怪的符號吸引了。他趴在那里,黑亮的眼睛盯著紙面,小手無意識地抓握著那截蠟筆頭。過了一會兒,他出小胖手,用蠟筆在紙上某個函數括號的外面,畫了一個小小的、不閉合的圓圈。
宋薇的心跳了一拍。不閉合的圓圈?在編程里,有時代表邏輯不完整,或者缺循環結束語句?
走回去,拿起紙,假裝自言自語:“這個公式,總覺得哪里不對,是不是了個結束的條件?”
說著,嘗試在紙上那個被遠遠畫了圓圈的地方,補充了一個循環結束語句。
然後,把修改後的邏輯,輸到電腦里(趁著電瓶還有點電,冒險開機)。運行。
雖然因為其他錯誤沒能完全功,但之前卡住的邏輯部分,居然通過了!
宋薇坐在冰冷的椅子上,後背竄起一陣戰栗般的麻意。
不是巧合。
一次或許是巧合,兩次……絕不可能。
的遠遠,這個連坐都坐不穩的小嬰兒,竟然能以某種無法理解的方式,“知”到復雜邏輯中的斷點和錯誤,并用最原始的圖形表達出來?
這個發現,讓在震驚之余,生出了一難以言喻的、混合著驕傲、心酸和巨大責任的熱流。
Advertisement
開始更大膽地嘗試。
當被一個數據視表的字段設置搞得暈頭轉向時,會把問題簡化,用只有自己能懂的方式念叨出來,同時觀察四個孩子的反應。
行行會轉過頭,黑沉沉的眼睛向那臺嗡嗡作響、運行緩慢的破舊機箱,小手指有時會準確指向機箱側面某個散熱孔——那里通常是CPU或顯卡的位置,當程序復雜時,發熱最嚴重。
意意會在長時間皺眉、敲擊鍵盤節奏混時,忽然哼出一段簡短而急促的旋律,像是某種“警報”或“催促”,而當終于理清思路、流暢作時,意意哼出的調子又會變得平緩悠長。
遠遠的蠟筆“注釋”越來越頻繁,雖然依舊象難懂,但宋薇開始能勉強解讀其中一些規律——圓圈代表循環或重復,箭頭代表流向或賦值,打叉代表錯誤或終止……
而暖暖,當因為難題而焦躁不安時,總會適時地爬過來,用的小臉蹭蹭的手,或者給一個能融化一切煩憂的笑容。
冰冷的出租屋,風的窗戶,昏暗的煤油燈,凍瘡的手指,的腸胃,復雜的代碼,瑣碎的數據……
這一切的艱難困苦,并沒有消失。
但在這絕的底上,卻悄然滋生了一種奇特的、溫暖的、只屬于他們母子五人的“流”和“共學”。
宋薇不再是孤一人在知識的沼澤里跋涉。的後,有了四個沉默卻無比敏銳的小小“參謀”。他們用各自的方式——行行的直覺,意意的旋律,遠遠的符號,暖暖的擁抱——參與著這場為了生存、也為了未來而進行的艱難攀爬。
深夜的“課堂”上,母親敲擊鍵盤的噼啪聲,孩子們偶爾的夢囈或哼唧,破舊機箱的嗡鳴,意意無意識按響的走鋼琴音……織一首古怪卻頑強不屈的生存響曲。
希,不再是遙不可及的星。
它變了煤油燈下母親專注的側臉,變了孩子們各自獨特的“語言”,變了紙上那些稚卻神奇的蠟筆涂,變了冰冷代碼被功運行後,屏幕上跳出的那個正確結果。
雖然微小,雖然前路依舊漫漫。
但在這間破敗寒冷的屋子里,一種嶄新的、名為“共生”與“希”的模式,正在一片廢墟之上,悄然萌芽。