《三體》中有一個重要情節,三體人用質子幹擾地球上的加速器,封鎖了地球上基礎科學的發展,防止地球上在短時間內產生「技術爆炸」。現如今美國封禁MATLAB,與《三體》有異曲同工之處。因此,我認為此次美國禁止哈爾濱工業大學、哈爾濱工程大學使用MATLAB這件事,並不局限於「二哈」範圍內。
說「軟體學院只能培養程式設計師」?冤也不冤
最近這段時間,網上出現這樣一個批評的觀點:哈工大的軟體學院發展了20多年,培養了很多人才,但實際上只不過是給BAT這樣的網際網路公司培養了一大批可以「996」的程式設計師。
當我看到這個觀點之後,是非常自責的。但是冷靜下來一想,這個觀點其實也有些站不住腳。這麼說軟體學院,我覺得有點冤。
為什麼說冤?第一,軟體學院包括計算機專業,其實是純粹在研究計算機本身的技術和理論。如果讓我們切入到去研發MATLAB或其他基礎工業軟體、科研軟體,我們是沒有這些特定領域的專業知識的。比如,假設讓我做一個控制領域或電子學領域、化學領域的仿真軟體,我是沒有相關領域知識的。只有把領域專業知識和計算機知識很好地結合在一起, 才能去做一些跨領域的事情。
但是,大多數搞計算機的人很難在短時間之內擁有非常豐富的領域知識。在這種情況下,讓我們去做工業基礎軟體或科研基礎軟體就很困難。
但是,反過來講,我們也不冤。因為如果我們深入思考,就能發現這其中存在著非常重要問題:投機心理。
我們都知道基礎軟體非常重要,對國家也非常重要。但是為什麼都不去做?生物信息學專業的學生都能把生物學和計算機交叉在一起,我們的教授、學者、工程師們為什麼不去做這些交叉?
這其中有一個很重要的原因:我們經常是偷懶的。
當前,所謂的「雲智大物移」「ABCDE」非常熱門——很多是外國人發明的,而我們經常盯著這些熱門。道理很簡單,因為吸引眼球,國家也有很多科研經費投入,所以大家一股腦都撲到這些方向上。這些既簡單直觀、容易理解,又容易出成果,容易在期刊發表論文。
從這個角度來看,我們就不冤了——每個人的科研方向都是自己做出的選擇,我們為什麼沒有選那些對國家看起來更重要的,而是去選這些熱點?美國人用了40多年做出來MATLAB,我們中國沒有,因為沒有人去做這塊。
所以我們也不能怪人們把「MATLAB被禁」這口鍋甩到軟體學院的頭上,我們確實沒有這方面的成果。
為什麼技術封禁一出現就是釜底抽薪?
萬丈高樓,起於平地。但是,為什麼每次技術封禁一旦出現,都好像是釜底抽薪?
計算思維中有一個重要的觀點:任何社會系統和技術系統都是分層的。大到國家治理體系,小到計算機系的課程體系都是如此。
就以計算機系的課程體系為例。大家知道計算機領域的新技術、新知識日新月異,導致大學四年的課時已經無法容納了。怎麼辦?我注意到,很多學校、院系在更新課程體系的時候,不經意間會把底層的基礎層給壓縮掉。
道理很簡單,上層不斷地湧現新知識、新技術,這些新內容又是和工業界接軌的,所以老師們寧可犧牲掉基礎課,去擴展這種頂層應用的內容。
很具體的一個例子:之前我們也討論過,計算機系大一的編程課到底要去學習彙編語言,還是去學習C、C++甚至是Python?
這實際上反映了一個「到底是重視基礎層還是重視應用層」的問題。
越底層的東西,構造難度就越大。晶片、作業系統、基礎軟體,如果都不去做,自然也就不需要去學這種靠近計算機底層的基礎知識。只解決頂層的應用問題,Python就夠了。
同樣的道理在AI領域也是一樣。我經常參加碩士和博士論文的答辯評審,幾乎每篇論文都涉及深度學習的很多算法如CNN、RNN,框架如TensorFlow、PyTorch,但都不是我們的。使用這些算法和框架去「創造」所謂自己的算法和創新,但十幾年、二十年後呢?中國提出的AI國家戰略很好,但我擔心,AI的根基也會慢慢被壓縮掉。
所以,當針對我們的技術制裁一旦出現,就相當於是一種釜底抽薪。教育界、研究領域都在忽視基礎的東西,但如果沒了吃飯的工具,就只能用手抓了。用手抓著吃,肯定吃不好。
追求短期效益,就是丟掉未來
事物都是有發展規律的。MATLAB經過三四十年的發展,通過不斷地積累完善和迭代,才有了今天強大的生命力。它不僅涉及到軟體本身的技術,還涉及到在不同的科研領域裡對領域知識的積累。所以,我們不能奢望不去打基礎,一下子就能做出一個MATLAB。
所以,所謂的「彎道超車」,我並不是非常贊同。因為當我們趕時間去追求短期效果的時候,我們其實是在丟掉未來的東西。搞研究也是如此,年輕時如果一味投機取巧,也可以發表很多論文和成果;但是如果沒有內功的修煉,以後想去做出更高水平的成就,就變得非常困難。
有很多博士生是這樣做事情的:一般是從論文當中發現要做的問題——這常常是一種空想主義。這個問題沒有遇到過,但是看到別人在做,於是就決定「我也去做」。那這樣做出來的成果,很多並不是為我們的工業界服務的,而是為論文服務的。如此一來,就會帶來很大的麻煩。
怎麼去解決這個問題?很多人提出要靠市場機制。但我認為靠市場機制不太靈。一個很直接的問題:今天MATLAB被禁了,但可能兩個月以後、一年以後又放開了。放開了會怎樣?即使有了國產替代軟體,但可能在性能上、質量上比不上MATLAB,很多科研人員又回到MATLAB的懷抱了。
那麼靠情懷行不行?準備在火星上退休的埃隆·馬斯克,搞出來了SpaceX,有時候靠情懷是有用的。但是像MATLAB這種東西,我們不能把它推到一兩個人、一兩家公司身上。
是不是要靠國家體制?我覺得更重要的是,是通過改變考核機制,讓更多的人願意投身在這些領域之中。MATLAB就是通過長時間的持續不斷地積累,才變成這樣一個產品。
另外,要從我們每個人做起。前幾天我跟同事們聊天,說我們還有20多年就退休了,這20年如果讓你把時間都放在去開發MATLAB最核心、最基礎的一個模塊上,可不可以?
大家回答說:讓我們去做編程沒問題,但是如果跟其他學科的人一起去做——面向產業界的需求、用自己的設備去做實驗、積累基礎數據、形成領域知識,就沒問題。其實就是搞軟體工程的人從軟體的角度切入,各個領域的專家從各自專業切入,大家一起去打磨,完全是可以做得到的。
但這其中非常重要的是,現在短期的目標考核導致很多人是不願意這麼去做的。
要知道,做作業系統的人很多,出現過一百多個,但最終留下來的只有Windows、Linux、BSD這些。這給我們什麼啟示呢?
現在的博士論文,不管水平多高,最終評審時往往一刀切:你的創新點有哪些?是不是通過幾條漂亮的對比曲線證明了你的方法、研究結果可以超過美國人、英國人的結果?
我想說的是,如果我們能夠允許博士論文「重複造輪子」,可以去重複走過諸如MATLAB最早期發展的那一段時間,可不可以?
這不是我能說了算的。這是考驗我們整個中國科研領域所有學者耐性和持久性的問題。
(王忠傑系哈爾濱工業大學計算學部、國家示範性軟體學院教授,計算機科學與技術學院副院長,本報記者趙廣立根據其在YOCSEF哈爾濱特別論壇上的發言整理)
版權聲明:凡本網註明「來源:中國科學報、科學網、科學新聞雜誌」的所有作品,網站轉載,請在正文上方註明來源和作者,且不得對內容作實質性改動;微信公眾號、頭條號等新媒體平臺,轉載請聯繫授權。郵箱:shouquan@stimes.cn。