“風林科技”那間由民居改造的工作室裡,空氣裡瀰漫著一種與以往焊錫煙和松香味不同的緊張氣息。那是屬於程式碼和邏輯世界的、無聲的焦灼。王斌和李曉,這兩位主要負責軟體方向的年輕大學生,此刻正並排坐在一臺閃爍著單調綠色熒光的終端顯示器前,眉頭緊鎖,全神貫注地盯著螢幕上那些不斷滾動、令人眼花繚亂的英文命令符和除錯資訊。
他們正在全力以赴地除錯那個基於韓風提供的、被稱為“dBASE II類似概念”的關係型資料庫理論,艱難開發出來的、極其簡陋的“新潮閣庫存管理程式”命令列版本。這不再是控制LED燈閃爍那麼簡單,而是試圖讓機器理解並管理現實世界複雜的資料關係。
“又報錯了!這次是‘欄位型別不匹配’!”李曉有些煩躁地拍了一下那臺老式鍵盤的邊框,發出“哐”的一聲響,“這個‘入庫數量’欄位,我明明在定義資料表結構的時候,就明確設定成數值型(Numeric)了!為甚麼從介面輸入進去,系統還是讀不出來,提示型別不對?” 他指著螢幕上那一行刺眼的紅色錯誤提示,語氣充滿了挫敗感。
“別急,越急越亂。我們從頭再順一遍資料流…”王斌性格相對更沉穩些,他推了推鼻樑上滑落的眼鏡,湊近螢幕,手指在列印出來的、畫滿箭頭的程式流程圖上緩緩移動,試圖找出邏輯上的漏洞,“從輸入介面獲取的資料,到存入資料表之前,是不是少了甚麼型別強制轉換的步驟?或者,我們定義的表結構,和程式裡實際引用的欄位名,有沒有大小寫或者拼寫不一致的地方?”
而在幾條衚衕之外的“新潮閣”服裝廠倉庫裡,進行的則是另一場更為“原始”的實戰測試。易小軍和趙海帶著兩個被臨時抽調來、對電腦一竅不通的年輕倉庫工人,正對著一臺同樣連線著綠屏終端的裝置,進行著笨拙的入庫操作實踐。他們面前的地上,放著幾箱剛剛從紡織廠運來的、不同花色和規格的布料。
“海…海哥,這玩意兒…真能行嗎?”一個年輕工人看著終端螢幕上那冰冷的命令列提示符“>”,又看了看手裡那張寫著布料資訊的入庫單,哭喪著臉說,“我這對著這本子(他指終端)吭哧吭哧敲半天,字母都認不全,比咱們用賬本記賬、用算盤合計可慢多了!這不是耽誤事兒嗎?” 他感覺這所謂的“高科技”,純粹是脫褲子放屁——多此一舉。
“你懂個屁!這叫…這叫科技進步!眼光要放長遠!”趙海自己心裡其實也直打鼓,輸入命令的手指因為緊張而有些僵硬,但他牢記韓風的囑託和易小軍他們的期望,硬著頭皮給手下打氣,“剛開始肯定慢!練熟了就好了!以後查庫存,不用翻賬本,不用打算盤,手指頭一動,這螢幕上立馬就顯示出來了,那多快!多牛氣!” 他一邊說,一邊按照王斌他們反覆教了好多遍的步驟,笨拙地在鍵盤上,一個字母一個字母地敲擊著布料的唯一編號、品名全稱、顏色程式碼、以及本次入庫的數量…
每艱難地輸入完一條記錄,他都要和入庫單反覆核對好幾遍,生怕敲錯一個字母或者數字,額頭都滲出了細密的汗珠。那速度,慢得足以讓旁邊等著搬運的工人打哈欠。負責管理倉庫多年的老保管員,姓李,是個頭髮花白、手指上還沾著墨水漬的老頭,他抱著那本邊緣磨得起毛、裡面用鋼筆寫得密密麻麻的牛皮紙封面大賬本,站在不遠處冷眼旁觀,嘴角不屑地撇了撇,從鼻子裡輕輕哼了一聲,顯然極度不看好這冰冷的“鐵疙瘩”能取代他用了大半輩子、無比信賴的算盤和手工賬本。在他看來,這純粹是瞎折騰,是城裡學生娃的異想天開。
第一天的實地測試,可以說是狀況百出,一地雞毛。不是程式執行到一半,因為某個未預料到的邊界條件而莫名崩潰,退回作業系統介面,讓所有輸入前功盡棄;就是好不容易輸入進去的資料,在查詢時要麼死活找不到,要麼顯示出來的數字和入庫單對不上;更別提那些因為操作人員不熟悉鍵盤,頻繁敲錯鍵導致的五花八門的錯誤提示。倉庫裡怨聲載道,工人們私下議論紛紛,都覺得這是在浪費大家的時間,嚴重影響了正常的出入庫效率。王斌和李曉在工作室裡更是焦頭爛額,對著厚厚的除錯日誌和程式碼清單,不斷地修改程式,打上一個又一個補丁,試圖堵住那些層出不窮的漏洞。
韓風抽空過來看了看兩邊的情況,沒有流露出任何不滿或批評的意思。他看著王斌和李曉佈滿血絲的眼睛,看著趙海和工人們臉上的困惑與疲憊,反而語氣平和地鼓勵道:“任何新事物,在誕生和應用的初期,都註定不可能完美無缺,遇到問題是正常的。關鍵在於,我們要能發現問題,並且找到解決它的方法。每解決一個問題,我們就前進了一小步。不要怕慢,不要怕出錯,關鍵是方向要對,路子要走通。”
他還針對他們遇到的具體問題,提點了幾句關於“資料輸入校驗機制”、“建立關鍵欄位索引以提升查詢速度”、“以及增加異常處理模組”的重要性。雖然這些概念對於王斌和李曉來說還有些超前和抽象,但如同黑暗中劃過的閃電,給了他們極大的啟發和努力的方向。
經過連續幾天幾乎不眠不休的除錯、修改、再測試、再修改的艱難迴圈,這個稚嫩的程式終於勉強穩定了一些。雖然它的使用者介面依舊醜陋得只有命令列,操作流程繁瑣得令人抓狂,功能也僅限於最最基礎的入庫登記、出庫記錄和按編號或品名查詢當前庫存數量,但至少,資料能夠被相對準確地儲存進那個無形的“資料庫”裡了,並且在需要的時候,也能被基本正確地讀取和顯示出來。
當趙海又一次在終端上,小心翼翼地輸入一個之前錄入過的布料編號,按下回車鍵後,螢幕上清晰地顯示出該布料當前的庫存數量,並且這個數字,與老保管員李老頭賬本上剛剛更新過的數字,分毫不差時,原本有些嘈雜的倉庫裡,瞬間安靜了一下。
李老頭似乎有些不相信,他推了推鼻子上的老花鏡,湊到綠油油的螢幕前,眯著眼睛仔細看了又看,然後又翻開了自己那本厚重的賬本,找到對應頁欄,用手指點著核對了三遍,臉上終於露出了難以置信的神情,嘴裡忍不住嘀咕道:“咦?這…這鐵疙瘩…還真他孃的有點門道啊…”
儘管這距離一個真正成熟、穩定、易用的企業級資料庫管理系統,還差著十萬八千里,充其量只是一個剛剛破土而出的、歪歪扭扭的嫩芽。但就是這個稚嫩的雛形,意味著“新潮閣”乃至韓風旗下所有的產業,在利用現代資訊科技提升管理效率、邁向資訊化管理的漫長道路上,終於蹣跚著、卻是實實在在地邁出了具有里程碑意義的第一步。資料的價值,資料的威力,開始被這群先行者,以最直觀的方式,初步認識和感受到。