從抗美援朝到圖形演算法,84 歲老爺爺仍痴痴學習最新AI技術,為爺爺點32個贊
不要再問:“XX 歲,學習 XX,還來得及嗎?”
亡羊補牢,為時未晚。
如果有心,什麼都會來得及,只是需要付出更多的努力,只是看自己是否願意!
本文想和大家分享的是一位名為吳祖增的 84 歲技術人的故事,他從最初的醫學領域成功跨行至網際網路行業,後在數學、物理、電子工程、計算機硬體和軟體方面頗有造詣,並在圖形影象和演算法方面有著深厚的經驗,如今的他部落格(http://blog.csdn.net/zzwu)依然堅持更新,不願做時代的尾巴,緊隨技術潮流,真正詮釋了何為“活到老,學到老”的含義。
注:下文中註釋詳見文末連結。
01
豐富多彩的人生經歷
靜靜地回憶起過往,似乎已經過去了很久,卻又宛如昨日。
我於 1933 年出生在浙江嘉興新塍【1】,抗戰時期逃難到諸暨趙家鎮外婆家,在趙家藍臺小學讀書,三年級時曾因逃難而留了一學期,畢業後報考諸暨楓橋一中學被錄取,但未去而又在蘭臺補習了一學期,在趙家一共度過八年抗戰的後七年。
圖1 我的出生地——嘉興新塍吳潤昭私院,全景
抗戰勝利後的 1946 年春,我搬到了紹興,並報考紹興第一中學初中被錄取。讀完初中後就步入了高中的大門,一直讀到高二下學期,風平浪靜地度過了五年時光。回憶起這段年少歲月,其中最難忘的當屬初中時的一次考試。因彼時除紹興外,還有周邊許多縣的小學畢業生,總共有 500 多人蔘加報考,僅錄取 100 名,他們中不乏“天字第一號”,競爭激烈,而我以第 7 名被錄取。這次的成功,不僅與過往復習有關,最重要的是也離不開我的父親在臨考前幫助我突擊複習。
1950 年,在“抗美援朝”聲中我報名參軍,後於 51 年 1 月去了軍幹校,在杭州三墩學醫。學完一年基礎醫學後,被調浙江醫學院(今浙江醫科大學)進修組織學 1 學期,之後回部隊從事教學工作半年,就以兩年制畢業,並留校任技術員。畢業後又去第二軍醫大學進修胚胎學一學期再繼續工作兩年多。一共在部隊度過了四年多,曾因進修或所在單位地點遷移,我到過滬、寧、蘇、杭四個城市的八個地方,直到 55 年 3 月底從南京復員。
圖2 浙江醫學院進修臨別留念
復員後回到紹興,在家自學四個多月,後以同等學歷按第一志願考取北大數學力學系。這次考試也很難忘,因備考很辛苦。我高三課程參軍前未學,為了報考大學,必須從頭到尾自學一遍,我特別要求自己做完高中幾何和物理全部習題,一個也不漏。考前我的體重有 60 多公斤,錄取到北大後一查體重僅 45 公斤。
北大數力系學制為 5 年。我被分在數學專業。1-3年級時讀數學和物理基礎課,4-5年級分到控制論專門化讀數理邏輯、演算法論、資訊理論及和計算機有關課程,畢業論文是為蘇制 БЭCM 機搞《程式設計自動化》。所謂“程式設計自動化”,實際是用機器語言搞一個彙編,但其功能要求很高,某些方面就和高階語言一樣甚至超過,因要求能解一些方程的計算問題。這是一個大課題,由全專門化十多個人再與本系 3 年級部分同學一起、分成 4 小組,分別考慮整個程式設計自動化所需的算術運算元、迴圈運算元、專用運算元、代真運算元 4 個部分的程式設計。我參加了算術運算元小組。課題由後來曾任北大校長的丁石蓀先生帶,並由陳沐天、楊芙清、陳琨球幾個年輕教師輔導。整個程式最後未除錯完成,因北大根本沒有 БЭCM 機,要到中科院去上機,而學生又無機會親自上機,要由教師代為除錯,這就拖了時間。後來丁先生說,沒有帶領我們這一班人完成這一課題是他“一生最大的遺憾”。
1960 年大學畢業被分配到復旦大學數學力學系,後轉計算機系、再被調物理系、電子工程系、微電子系,從事數理邏輯、微積分、計算機等十多門課程的教學,搞過 VLSI 設計、測試、剖析等科研,其中 1964 年曾在計算機房工作過,後又有一段時間在系與校辦的工廠工作過。
白駒過隙,時間來到了 1993 年,當時已經 60 歲的我開始辦理了退休。彼時,學校聘我為 CAI 實驗室顧問,幫助一些學生搞軟體開發,後來直到 CAI 實驗室主任也退休、CAI 實驗室關門為止。退休後也曾應同事邀請為一些單位開發過應用軟體,還在學校內外從事計算機自考生的教學。這些工作一共進行了 8 年,直到 2001 年,從此呆在家裡做我自己感興趣的事,包括讀書看報、上網瀏覽、做網站、參加論壇,寫部落格回憶我做過的工作,或應邀單獨或與別人合譯一些書【2】。
02
跨越性的技術轉型之路
也許人的一生最幸運地就是可以從事自己喜歡的事情。
雖然我的職業生涯好像有許多轉變,但是幸而最終選擇了自己的興趣。至於為何會有如此地轉型,其中也有不少隱藏的原因。
醫學。我只學了一年的基礎醫學,後來進修的也是基礎課,而根本原因還在於我從小喜歡數學,不喜歡將來自己很有可能被分配到醫院去與醫學打交道。
數學系到計算機系。首先是由於我當時業餘喜歡動手裝收音機、萬用表、訊號發生器等電子產品,1964 年春,數學系就安排我到本系 130 機房搞計算機的維修工作;66 年文革期間我又抽空獨自一人去數學系自制的 602 機的機房整理了全套資料;68 年復課鬧革命後我還利用這些資料為數訓班開過計算機原理課,所以後來複旦成立計算機系時,我以及所有和計算機教學有關教師,理所當然地要一起轉到計算機系去。
從計算機系轉物理系。這則是當時物理系的要求,那時的物理系希望計算機系調一名教師去幫助他們教計算機原理課,而後我接受領導的安排就去了物理系。物理系有許多專業的教研組,包括半導體器件、半導體材料、半導體物理、無線電線路等,我去了無線電線路教研組,但也為其他專業學生上課。
再從物理系轉電子工程系。這是 1979 年的事,當時電子工程系以 ZB-781 工程的名義申請了國家專案,準備搞 VLSI 設計和製版一條線的建設。這需要許多人,包括維護計算機和從事軟體設計。當時,我去系裡時,已剛從蘇州無線電廠買到 DJS-130 機和一臺從日本引進的 Tectronix-4014 圖形顯示終端,但廠家還沒有為我們以及許多買家進行培訓,兩個裝置也沒有連線起來。我到電子工程系首先做的工作就是參與接機培訓,熟悉 Tectronix-4014 的效能,設計並製作了一個 8-bit 介面將國產 DJS-130 機和進口的 Tectronix-4014 連起來。
至於從電子工程系轉微電子系,則是我退休後幾年的事。那時剖析組已改稱為專用積體電路設計中心,由於人數很多,後來就從電子工程系獨立開來而成為微電子系。
03
科研生涯的成功與失敗
真與假、對與錯並行。
在我一生從事的工作中,在教學方面,我教過10多門課程【4】,其中只有幾門數學課是我在大學中學過的,其餘都靠自學後進行,並多數自編了講義【2】,這一點我認為基本成功。在科研上,不管是硬體或軟體、屬或不屬於我的專業,我接受了就極力去做,其中不少是別人不會做、或做得不好、或想不到要做的工作【5】,其中有:
-
1969 年為上海市紅衛皮革廠設計5A矽平面大功率管掩膜版圖【6】——這是專門設計電晶體的上海元件五廠做不到的指標,用他們設計的掩膜生產出來的大功率管只能流出3A,該廠也曾叫復旦物理學搞半導體的人去改進設計,但也回答不行,後來就要我幫忙。我作為一個完全外行花了 3 個星期的鑽研終於設計完成,後圖紙被廠家拿去製版並投片試驗,竟一次成功,後被大量投產,“直到堆滿倉庫,並造起了大樓“,創造了巨大財富(當時一隻5A 大功率管賣 117 元,3 只管子可賣一兩黃金)。
-
73-75 年積體電路測試系統中的許多部件設計【7】——這是與上海計算所等幾個單位的設計人員一起完成的工作,我做了其中相當繁瑣的幾個設計工作,這也是為社會間接創造巨大財富的工作,因當時上海幾個元件廠年產積體電路產值共 10 多億,但如果不經測試的積體電路是一個也賣不出去的。
-
79-82 年的快速最優通道佈線演算法 FOCR【8】——這是被中、外同行好評或看不懂的軟體,它比國外原有軟體速度提高几倍到幾十倍,特殊情況下可以更多數量級。
-
81-82 年的崎嶇通道佈線演算法 DOCR【9】——這是很有用但國內外同行不能做或想不到做的事情。
-
84 年的第一代身份證底紋曲線繪製程式【10】——這是公安部曾叫北大、清華、中科院、華東計算機所等單位做而不會做的事情,而我花時 2 小時就把程式設計完畢再化 2 個通宵把正反兩面的底紋曲線用平板繪圖儀畫出來了。
-
85 年的圖形編輯器 GED【11】——這是在別人都當字元輸入用的終端上開發的,我僅僅憑終端說明書上看到能顯示單個畫素的功能而開發了整個軟體。
-
87 年的版圖圖形-線路圖轉換程式 LVS【12】——這是一個在 Jupiter7 彩色圖形終端上有漂亮圖形輸出的程式,以至於程式鑑定時,當時復旦校長華中一先生看到以後第一句話就是問“假的吧?“,不相信螢幕上電路圖是從版圖圖形自動提取得到的。
-
91 年開始的 MOL4D【3】——這在前面已介紹,是受到內行單位一致好評的軟體,全國高校CAI軟體評比得到最高的等級獎,而分組評比時都是第一名。
-
94 年的 FDISK 磁碟分割槽和 CMOS 設定模擬程式【13】【14】——這是兩個與《計算機應用能力中級》配套的軟體,被上海電視大學、勞動局等許許多多單位免費使用,用過人數單是上海就至少100萬。
-
95 年的《重錘下落式彈簧動剛度測試》軟體【15】——這是我在 DOS 下開發的軟體,由於效能可以,介面也不錯,一直被使用者上海材料所使用到 Windows 時代好多年而不肯更換。
這些工作有的比較簡單(如繪製身份證底紋曲線程式的設計),而其他大部分比較繁瑣或相當繁瑣,需要我不斷思索創新,完成後使我得到了一種成就感。
然而想要往成功的方向邁進一步,也會掉入無數的坑中。曾經我在從事教學講解、編寫教材時都出過不少錯誤,幸好有學生及同事的提醒,才得以及時糾正。
04
抓住科技潮流,想走
沒有完美的人生,但是我盡力。
根據個人的經驗,即在圖形軟體的開發方面,典型例子就是上面提到的分子圖形軟體,從 MOL3D 到 MOL4D,後者已開發了許多版本和功能模組。這一方面是為了增加軟體本身的功能,但也是為了“順應時代潮流”吧,因為不這樣軟體效能就明顯落後,甚至根本不能再用。我必須不斷更新它,以適應不斷更新的軟、硬體環境,包括解析度的提高、內外儲存器容量的增加,作業系統、程式語言的改變等。
但很難說我在其他許多方面都能適應時代潮流,實際上,我常感到自己已落後於時代潮流。現在的我也有許多軟體不會操作,因此在 CSDN 上轉載了許多技術性部落格,並不是說我已熟悉這些部落格內容,而只是放在那裡作為“備忘”,到時候可以翻出來供我自己學習之用。
05
新舊主流技術衝撞,想看
長江後浪推前浪,總會有交接的點。
曾經,我使用過的計算機語言包括 Fortran、C、C++、Basic、Pascal、Java,但我用的最多的是 Fortran 和 Pascal。而我之所以不喜歡一直用 C 而用 Pascal 是有原因的。1989 年夏,我個人買了一臺 PC 機(PC-BOY機),它只有 256k 記憶體,和容量為 365M 的一隻軟盤,我在其上曾用 TC-1(Turbo C -1)和 TP-3(Turbo Pascal-3)編過同一個程式,結果用 TC-1 編譯時竟需要我將軟盤從驅動器中拔出-插入、拔出-插入重複十多次,結果仍然未通過,而用 TP-3 編譯時只要拔出-插入一次就通過。這一對比使我從此對 C 沒有好感。
整體對我來說,主要關注的點可能並不在程式語言而是解決問題的演算法。我關心的還是和圖形、影象、多媒體有關的部分,並且希望將它們放到網上去,能被別人瀏覽。現在把圖形放到網上已很容易,但要把我以前製作的分子動畫放到網上就不容易,因為別人製作的瀏覽器不支援我製作的動畫格式。我也想自己做一個瀏覽器來支援這種格式,讓別人使用我的瀏覽器以觀看我的分子動畫,但還沒有動手。我以前也做過一個多媒體演示軟體,能用來觀看 MPEG、DAT、AVI、WAV、MP3、MID 等多種格式的媒體檔案,但現在已不能全支援了。很想把它更新一下,但發覺也不容易。
06
擁抱時代產物——人工智慧技術,想聽
我無法深扎的地方,希望有人能實現。
人工智慧是一很老的課題,早在上世紀 50 年代初計算機剛發明不久就有人研究過,2006 年我在 CSDN 上也轉載過數學-邏輯學家、英國人圖靈 1950 發表的的一篇文章【16】。這篇文章中談到計算機與人下棋涉及人工智慧問題。但由於當時機器規模很小,他所想象的機器的人工智慧只能與人下 Tic-Tac-Toe 那樣的簡單棋類遊戲,那是用簡單的確定性演算法就能解決問題的。到了60年代,人工智慧問題已在許多領域提出來了。我有一本 63 年出版的叫《Computers and Thought》的書,裡面就大量談到人工智慧問題,計算機除了能玩遊戲外,還能去證明數學定理、回答問題、模式識別,等等許多方面,但當時實際很多也還是紙上談兵,沒有實際的產品,因而受到人們重視程度永遠不能和上世紀 90 年代 IBM 公司開發的深藍或當今 Google 開發的 AlphaGo 那樣的實際顯示巨大威力的程式相比。
而對於“人工智慧將取代人而進行勞動”這一說法,並非當今才出現,而是工業革命以來就有的事情。事實上,“一切(機械的)機器都是人手的延長“,因此都是用來取代人手進行勞動的,只是沒有人工智慧的機器只會勞動,不會考慮怎樣一步一步勞動,它們怎樣勞動必須由人預先安排好。另一方面,具有人工智慧的機器——電子計算機沒有機械機器的配合,也只會腦力勞動而不會體力勞動。必須兩者配合,才能代替人的手和腦進行兩種勞動。至於“人工智慧的機械機器最終是否能取代人的一切勞動“的問題,我的看法答案應該肯定,但只能要求一個機器人做一種或一些工作,而不能要求它像人那樣做許多許多的工作,因為計算機儲存器畢竟不可能做到人類大腦那樣大的容量。
技術的產生才會促使生活的便利,對於人工智慧領域的未來發展,我的期望很大。從自身來說,我已 84歲,住在沒有電梯的五層高樓上,因腦梗不能下樓去買菜、買米、買一切需要的東西,全靠家裡人辦這些事情,但家人也有老的一天。我期待有一天會出現人工智慧的機器人,它能聽我指揮,替代我的家人上、下樓梯去買米、買菜、買我需要的任何東西。這個機器人還要能自己照顧自己,如自己去充電,我沒有叫它辦事時,就自動遠離我,跑到陽臺角落裡躲起來,不要妨礙我們走路。如今的機器人已能走路,推翻它也能自己爬起來,還能自己開門出去再開門進來。我想叫它看紅燈、串馬路也不會成問題,就是要它到小菜場自己尋找攤位去買我叫它買的小菜可能不容易。
07
對身處浮躁網際網路環境下的技術人,想說
憑心而論,未來機遇無限,勿失本心。
曾經我做過各種的工作,但與如今很多人一樣,這些大多數都是別人要我做的。學習的內容就是針對要我做的工作,我無從選擇。當然,有空時特別是當退休後,也去學一些自己感興趣的東西,或者不感興趣但很需要的新知識、新技能。但當今是科技知識爆炸年代,可學東西很多很多,我們不可能樣樣都學,要學什麼,必須有所專攻,仍需一點一點地積累,一步一個腳印。
現在的開發者們,為了應付複雜的就業狀況,個人認為全靠自己一點點摸索是不夠的,因為這樣速度太慢了,建議越早接觸計算機越好。我們雖提倡“活到老,學到老”,但老年人各方面的功能都衰退,學習效率很低,特別是眼花、耳聾、連一個游標也看不清,由於記憶力減退,一時吸收了也容易忘記。我認為“學電腦要從娃娃時就開始”是很有道理的。儘管知識和技能都要一點一滴地積累,但年輕時學比年老時學,所學到的要多得多。
另外,我對計算機接觸總的說來比較早,對許多技術有好奇心,也有所創新,喜歡解決各種技術問題,實際也做了一些有價值的東西,但我總是感到時間不夠,事情一個接一個地沒完沒了,不能讓我把已做過的事情好好進行總結,而即使有的專案按要求已作過總結,也不喜歡及時將它們公開發表讓別人知道從而進行推廣,曾開發的部分軟體有人願意收購或提議我申請專利,在此過程中,我都未接受他們的好意,這或許不利於將科技轉化為生產力,這算是過往很大的一種遺憾。
相關資源:
熱文推薦【1】我的出生與經歷:http://blog.csdn.net/zzwu/article/category/6122903/
【2】a 我的著作與翻譯:http://blog.csdn.n e t/zzwu/article/details/91915319/
【2】b 我從事的課程教學:http://blog.csdn.net/zzwu/article/details/53996517
【3】分子圖形軟體MOL4D:http://blog.csdn.net/zzwu/article/details/42610721
【4】我教過的課程:http://blog.csdn.net/zzwu/article/details/53996517
【5】我的硬體軟體設計:http://blog.csdn.ne t/zzwu/article/details/9024697/
【6】5A矽平面大功率掩膜設計:http://blog.csdn.net/zzwu/article/details/9069369
【7】VLSI測試儀會戰專案:見【11】中的第11a,11b,11c,11d四項
【8】快速最優通道佈線:http://blog.csdn.net/zzwu/article/details/8253886
【9】崎嶇通道最優佈線:http://blog.csdn.net/zzwu/article/details/8253889
【10】第一代身份證底紋曲線繪製:http://blog.csdn.net/zzwu/article/category/6562211
【11】影象編輯器GED:http://blog.csdn.net/zzwu/article/details/8254196
【12】版圖到線路圖轉換LVS:http://blog.csdn.net/zzwu/article/details/8274518
【13】FDISK軟體的模擬:http://blog.csdn.net/zzwu/article/details/9075751
【14】CMOS設定的模擬:http://blog.csdn.net/zzwu/article/details/44885663
【15】彈簧動剛度的測試:http://blog.csdn.net/zzwu/article/details/68941911
【16】圖靈:機器與思維:http://blog.csdn.net/zzwu/article/category/243030
告訴你一個學習麻省理工大學所有課程的好地方
☞點贊和分享是一種積極的學習態度