<p class="ql-block"><span style="color:rgb(22, 126, 251);">——回憶錄之《程序員篇》<span class="ql-cursor">?</span></span></p> <p class="ql-block">這幾年程序員這個職業(yè)崗位的曝光率呈增大趨勢。</p><p class="ql-block">據(jù)2024年國家工業(yè)和信息化部正式公布的數(shù)據(jù),我國程序員數(shù)量已突破940萬,供職于各級政府及各類行業(yè)核心技術部門。</p><p class="ql-block">有網(wǎng)帖稱,我國程序員的人數(shù)約占全球軟件開發(fā)人員總數(shù)的三分之一,是全球此崗位人數(shù)最多的國家(這條占比信息非國家工信部發(fā)布,僅供參考)。</p> <p class="ql-block">沒想到這個我職業(yè)生涯中歷時最長的行當,在我淡出江湖好長時間后居然被社會矚目上了。</p><p class="ql-block">過去說到就職崗位,我總是籠統(tǒng)地說成科技部門,單怕細說是程序員,對方聽不明白。</p><p class="ql-block"> </p><p class="ql-block">現(xiàn)在出現(xiàn)這么個新情況,促使我產(chǎn)生一個念頭,寫篇“按從事程序員經(jīng)歷為主線”的工作回憶錄,標題就叫《我的程序員生涯》吧。</p><p class="ql-block"><br></p> <p class="ql-block">在校時,我們算是中國第一批接觸程序設計的學生。學過ALGOL語言、機器語言、匯編語言。</p><p class="ql-block">匯編語言后來相應專業(yè)的大學生都學過(例如z80匯編),只不過跟我們學時使用的芯片不同,指令表肯定不同。但編寫語句、組成程序的思路和做法是完全一致的。</p><p class="ql-block">機器語言,這種只能用0、1書寫程序的語言,九十年代起進校的學生估計是光聞其名、不曾實踐了。</p><p class="ql-block">至于最前面說的ALGOL語言,新大學生們就只有在計算機語言發(fā)展史這些資料里看到這個名稱了,改開之后、第三次浪潮掀起時的學生也是從BASIC、Fortran 這些語言起步了。</p><p class="ql-block">好在這些后問世的高級語言之編程思路和方法與ALGOL語言是一脈相承的。我們當年的苦讀沒有白費,而且為日后從事程序員工作打下了良好的專業(yè)基礎。</p><p class="ql-block">只是在校時沒有聽說社會上有專職的程序員崗位,我們也就只把其看成與《計算機原理》等一樣,僅僅當作一門課程看待,根本沒有想到日后的工種就叫“程序員”。</p><p class="ql-block"><br></p> <p class="ql-block">本人畢業(yè)分配地原為佳木斯,經(jīng)家長一番運作后,直接分回浙江,報到單位是寧波市人民銀行。其時沒聽說寧波哪個單位有計算機,我被分到計劃科,主要業(yè)務是各類統(tǒng)計,每月寫份執(zhí)行情況報告。</p><p class="ql-block">這幾年計算機的蹤影也不曾見到,說實話自己心里也差不多忘記了曾經(jīng)學過程序設計。</p><p class="ql-block"><br></p> <p class="ql-block">轉(zhuǎn)機出現(xiàn)在1980年,人行率先引進與計算機同原理的電子記賬機處理業(yè)務。人總行在京舉辦由各省人員參加的培訓班。本人幸運地被省行推選參加了這次總行robotron1355機培訓班。</p><p class="ql-block">該機德國產(chǎn),教員是德國人,他用德語講課,旁邊一位中國翻譯當場譯成中文。</p><p class="ql-block">結(jié)業(yè)考試的成績欄得了個1,得到一張除了數(shù)字、其余全是德文的證書(上圖)。</p><p class="ql-block">現(xiàn)在回顧歷程,梳理軌跡,參加這次總行培訓班是我接觸程序設計崗位的一個重要起點。</p> <p class="ql-block">總行培訓班結(jié)束后的1980年夏,人總行舉辦粵湘贛及杭州“三省一市robotron1355程序設計培訓班”,我被總行指派為主講教員(下面照片是與來自廣東、湖南、江西及杭州市的銀行同事兼學員合影)。</p> <p class="ql-block">之后,又受人總行指派到沈陽擔任東三省人行robotron1355機程序設計培訓班的主講教員。</p><p class="ql-block"><br></p><p class="ql-block">后來才知道,我這樣膚淺的資歷得以擔任這種幾省聯(lián)辦的高規(guī)格培訓班的教員,是總行培訓結(jié)業(yè)考試時我得的這個1分(等級1)起的作用。</p><p class="ql-block">感謝德國教員格魯達曼先生,真沒想到,第一個推動我職業(yè)生涯進步是這位德國人。他給的這個1分為我進入程序員崗位起到了極大的助推作用??陀^地說,還是高調(diào)進入。</p><p class="ql-block"><br></p> <p class="ql-block">1984年工商銀行成立,我被分到市工行教育科技部門。</p><p class="ql-block">這個時期,COBOL 語言作為世界上最盛行的商用計算機語言、編程高級語言,十分熱門。有資料稱,鼎盛時期全世界每100臺計算機有72臺在運行COBOL.</p><p class="ql-block">不久省工行科技處緊跟形勢舉辦“浙江省工行COBOL程序設計培訓班”,我被省行叫去擔任這個培訓班的程序設計主講教員。</p><p class="ql-block">碰巧我在此前幾個月無意間從雜志上看到COBOL語言這個名字和相關介紹,就托人弄來本英文版原始資料,空閑時翻閱一些章節(jié),看看程序結(jié)構(gòu)和指令語句格式,算是先行進場遛了一圈。接到省行這項任務,倒是正好排上用場了。那時有句流行的話“誰最先得到原版資料,誰就領先一步”(因為隨機器配發(fā)的說明書都是英文版的)。</p><p class="ql-block">有同事后來寫文章,其中有句抬舉我的話“機會總是留給有準備的人”,我自知之明,本人哪有這般先見遠矚,純屬碰巧。就把同事溢美之言當做勉勵、及今后爭取達到的格局吧。</p> <p class="ql-block">那幾年我人員編制和工資領取都在寧波市行,而上班地點一年里大多數(shù)時間在省行。承省行許處、沙處信任,還擔任過在浙江每個地市建一個示范網(wǎng)點的省行工作組副組長,許多同事都誤以為我是省行的人。</p> <p class="ql-block">之后,銀行引進大批正規(guī)的電子計算機,業(yè)務領域不斷擴展、使用的支行迅猛擴增。由此,我的工作逐步疏遠雜務而專職科技。</p><p class="ql-block">隨著工作任務逐漸向電子計算方向聚集,崗位職責趨向明朗,不經(jīng)意間會想到“目標”這個詞。我當時想的目標、更確切說是心愿,爭取當個浙江省工行系統(tǒng)程序設計的排頭兵。</p><p class="ql-block">朋友們咋一聽可能會覺得這目標太狂妄了,一個地市支行的人,想在全省領先?但結(jié)合本人這些年一直在從事的崗位——人總行及省工行程序設計培訓班的講課工作,培訓各行人員,就不會誤解了。如果程序設計比不過聽課的學員,那豈不成了濫竽充數(shù)的教員?</p><p class="ql-block"><br></p> <p class="ql-block">或許是神明上蒼得知我上述心愿,有意眷顧我心想事成,1990年3月省行首次評比科技成果,本人設計開發(fā)的《儲蓄業(yè)務監(jiān)督系統(tǒng)》等應用軟件順利通過省行科技和業(yè)務兩個部門的聯(lián)合鑒定,在全省11個地市的工行分支機構(gòu)的各個營業(yè)網(wǎng)點投入運行。因此很榮幸地得到了2張省行一等獎的獎狀,算是全省工行科技系統(tǒng)獨無僅有。感謝省行領導的認可和鼓勵!</p><p class="ql-block">此后,行政崗位有些變化,但業(yè)務主體沒有變,只是從自身程序員擴展為同時管理一群程序員,從獨自個體變成協(xié)調(diào)團隊。</p> <p class="ql-block">這里有必要附注一句,那時整個業(yè)務處理系統(tǒng)居然可以一個人獨立完成的,這對現(xiàn)在的畢業(yè)生來說可能是聞所未聞、不可思議。主要原因是實用為主,能正確處理業(yè)務就行。對數(shù)據(jù)項定義、系統(tǒng)分析、系統(tǒng)維護這些很費時的文本資料撰寫還沒有嚴格規(guī)范的要求,由此省下了大量時間。</p><p class="ql-block"><br></p> <p class="ql-block">1990年9月,服從組織調(diào)動,我進入寧波市政府工作,任市政府人普辦副主任(分管數(shù)據(jù)處理)兼市統(tǒng)計局計算中心主任,仍然是與程序和程序員打交道為主(外加80多位從各局抽調(diào)來的數(shù)據(jù)錄入員)。</p><p class="ql-block">到市府工作后得到的第一張省級獎狀仍然是與程序密切相關的數(shù)據(jù)處理工作方面的。</p><p class="ql-block"><br></p> <p class="ql-block">寧波市府和市計算機學會很重視獲取浙大的支持,浙大為推進寧波計算機事業(yè)發(fā)展功不可沒。本人很榮幸地就任浙大計算機工程研究所寧波軟件開發(fā)基地的副主任(主任是浙大計算機系的潘雪增教授),并被浙大寧波軟件學院聘為碩士研究生導師(該學院干紅華副院長經(jīng)辦)。</p><p class="ql-block">浙大這塊金字招牌為我的程序員足跡增添了一抹閃亮的光彩。</p><p class="ql-block"><br></p><p class="ql-block"><br></p> <p class="ql-block">縱觀幾十年與程序有關的工作經(jīng)歷,覺得程序員這個崗位挺適合我的。在銀行期間,如果叫我去出納部門點鈔或儲蓄柜面處理業(yè)務,恐怕要達到合格水平都挺懸。</p><p class="ql-block">與代碼和指令語句打交道,還是挺有趣的。特別是每當一個程序調(diào)試通過時,都能體會一把“勝利到達終點”的舒暢感和成就感。</p><p class="ql-block"><br></p><p class="ql-block">文人朋友跟我聊起程序,我就推送《文學寫作與程序設計》一文交流,寫作與編程的流程何其相似乃爾。</p><p class="ql-block"><a href="http://m.kamkm888.com/5gi11hdv" target="_blank"><i class="iconfont icon-iconfontlink"> </i><i> </i>文學寫作與程序設計</a> <font color="#39b54a">(有興趣者可點擊訪問)</font></p><p class="ql-block">而且指令語句遠沒有文學的句式復雜多樣,它很單一:省略了主語的祈使句,即:動作 +動作對象。</p><p class="ql-block">設計程序,必須按嚴格的字符集和語法規(guī)則書寫,說好聽點:邏輯嚴謹;貶義講就是:極端死板,一個標點符號都不能寫錯。</p> <p class="ql-block">程序員最通常的工作場景是人機對話。名義上講是人在向機器發(fā)指令,而他面對的其實是個最橫蠻無理的角色。對程序員從鍵盤輸入的命令,凡是超出電腦OS和語言指令集合范圍的,電腦不說自己不認識,而是馬上屏幕彈出warning (警告性錯誤) 或 error (致命性錯誤),指責程序員錯了。你若不改成電腦認識的,它就罷工中止運行了。程序員拿它一點辦法也沒有,只得老老實實改寫。</p><p class="ql-block">現(xiàn)在AI出來了,電腦系統(tǒng)帶有智能了,對數(shù)據(jù)和模型格式的刻板程度大大下降了,而源程序還是必須嚴格規(guī)范。要想叫電腦學會修改源程序倒不是不可能,問題是一旦放任它自行修改源程序,那結(jié)果就可能脫離原定功能、甚至離奇得五花八門了。</p><p class="ql-block"><br></p><p class="ql-block">遇到新生代程序員與我交流,我給他們的建議就一句話:計算機科學方面,中國最可能超過美國的是應用軟件開發(fā)這個領域(包括算法設計)。在用戶數(shù)量上中國占絕對的多數(shù),如果是針對中國用戶為主的項目,關注用戶需求與設備現(xiàn)狀的結(jié)合,是擊敗美國公司這些競爭對手的有效途徑,是我們國人建樹成績的有利機會。(注:此處應用軟件是一個專業(yè)術語,是指軟件系統(tǒng)的兩大分類之一)</p><p class="ql-block"><br></p><p class="ql-block">回首工作經(jīng)歷,記憶最深的還是上述這些程序員歷程。</p><p class="ql-block">比特與字節(jié)的單調(diào)回響,</p><p class="ql-block">譜就我職業(yè)生涯的主旋律。</p><p class="ql-block">記錄和文件的處理模塊,</p><p class="ql-block">拼成我步步前行的里程碑。</p><p class="ql-block"> <font color="#39b54a">. ( bit, byte, record, file</font></p><p class="ql-block"><font color="#39b54a"> 這4個單詞程序員都熟知).</font></p><p class="ql-block">開發(fā)的作業(yè)程序全省運行,</p><p class="ql-block">是我收獲耕耘的高光時刻。</p><p class="ql-block">經(jīng)典的迭代算法展現(xiàn)新貌,</p><p class="ql-block">帶我走上講臺去激勵后輩。</p><p class="ql-block"><br></p> <p class="ql-block">最后為了在本文中把基本的數(shù)據(jù)格式用齊全,附上一個視頻數(shù)據(jù)文件:</p> <div><br></div><div><br></div><div><br></div> <font color="#167efb">__________________</font><div><font color="#167efb">背景音樂下載自網(wǎng)絡.</font></div><div><font color="#167efb">本文作者系中國計算機學會會員.</font></div><div><br></div><div><br></div>