農林漁牧網

您現在的位置是:首頁 > 農業

餘鵬鯤:MATLAB開了第一槍,中國該怎麼應對?

2022-03-19由 觀察者網 發表于 農業

程式庫用英文怎麼說

【文/觀察者網專欄作者 餘鵬鯤】

我們都知道美國政府已經盯上華為等中國高科技企業,但當它對高校師生和學術圈下手的時候還是讓人始料未及。

5月22日,美國商務部將中國十三所高校列入了“實體名單”,從法理上開始了對中國高校科研發展的圍剿。

6月9日,美國司法部起訴了和武漢理工大學有合作的美國院士,哈佛大學原化學與化學生物學系前系主任Charles Lieber。理由是該院士未如實報告與中方的合作情況,最高可獲刑五年,保釋條件之一是不再接觸相關中國合作機構。同一天還有其他中國學者也被起訴,而且不得保釋。一時間,中美學術交流之路籠罩在濃密陰霾之下。

上週,這隻霸權主義白頭雕又作妖了,這次的禽鳥之聲是MATLAB。

餘鵬鯤:MATLAB開了第一槍,中國該怎麼應對?

誰也沒想到,MATLAB被首先動用直接制裁國內高校

6月6日,哈工大的師生在正常使用MATLAB時,突然跳出了反啟用通知,但是還能使用。到了第二天啟動MATLAB時就顯示授權許可無效,網頁也無法登入哈工大域名的賬戶。幾乎同一時間哈工程的師生們也遇上了相同的問題。

事情發生後,哈工大、哈工程師生及校方立刻與開發MATLAB的公司——MathWorks進行了嚴肅的交涉。現在已經可以確定,兩大學的相關授權已經因為美國最新的進出口名單而終止了。

對大學下手令人不齒,已經付費的軟體突然停止授權又過於霸道。此事一經曝光,就頻繁登上熱搜。外交部也做了剋制但是明確的迴應,指出這是“非常錯誤的消極言行”,並認為美國的制裁最終將傷害到自身。

為什麼是MATLAB?

美國首先祭出禁用MATLAB這招似乎在意料之外,但細想又在情理之中。MATLAB作為一個跨平臺的數學計算軟體,覆蓋了幾十個相關學科的需求,在學術圈中影響力很大。筆者在文獻檢索平臺Web of Science上進行了搜尋,有近十萬篇英文論文使用了這個軟體進行資料分析、繪圖和應用開發。事件發生之後,輿論的反響也證明了這一點。

其實有很多專業軟體比MATLAB技術要求更高,在特定學科內更無可替代,但是影響力不如MATLAB那麼廣泛。有些專業軟體,除了小學科的人之外幾乎都沒聽過。在中美貿易戰日益政治化的今天,先禁用知名度更強的MATLAB無疑能起到先聲奪人的效果,也有利於美國政客炒作議題。

另外,禁用MATLAB雖然不能釜底抽薪,但能起到立杆見影的效果。作為一個主打單機使用的軟體,MATLAB從發明的第一年起就面臨著盜版問題。編譯原理告訴我們,不存在無法破解的大規模單機軟體。因此MathWorks不是從軟體銷售或者加密上想辦法,而是從規範使用上下手。

該公司和全球主要的英文學術出版商都保持了良好的關係,並且豢養了一大批熟悉當地政策並有一定背景的法務。一旦有學者的論文采用了MATLAB,在發表時就會被要求拿出MathWorks公司的授權。如果拿不出來,輕則論文無法發表,重則還會面臨法律上的糾紛。

所以,哈工大、哈工程的師生雖然可以繼續使用盜版的MATLAB進行科研,但是完成的論文將很難投在高水平的英文學術期刊上。在現行的評價體制下,哈工大、哈工程師生的成果有被低估的風險。

另外MATLAB中有一個稱之為Simulink視覺化程式設計模擬工具,可以用傻瓜式的拖動進行很多問題的建模,被廣泛用於通訊、控制、訊號處理、影片處理和影象處理系統。如果沒有Simulink,通訊、控制、訊號、車輛等專業的研究效率都會受到影響。哪怕不用Simulink,很多這方面的模擬軟體也只提供MATLAB的介面,是MATLAB核心競爭力之一。

餘鵬鯤:MATLAB開了第一槍,中國該怎麼應對?

Simulink模擬工業機器人

因此美國把MATLAB推到前線,既造成了很大的輿論,又有實在的效果。

被禁用對大學師生到底影響幾何?

由於MATLAB是一個複雜的軟體,因此討論MATLAB被禁用的影響,也必須分層次進行討論。

MATLAB是一種可以由MATLAB語言操作的軟體,MATLAB語言的簡易性是使用者喜歡它的主要原因,很多中國大學的非計算學科甚至只教授這種語言。提出這種語言的Cleve Moler教授在新墨西哥大學任教期間希望學生不用學習複雜而且難記的Fortran語言,即可享受到線性代數和數值分析的魅力,於是編寫了一個簡單的互動式矩陣計算器。

後來這個計算器就變成了MATLAB語言,MATLAB語言在當時衝擊了人們關於數學計算語言的定式。時至今日,當年的數學計算的霸主Fortran已經幾乎無人使用,而MATLAB一直都保持了相當的人氣。

這主要是因為MATLAB充分降低了學習門檻,在計算速度和易寫當中保持了一個很好的平衡。與Fortran相比MATLAB是一種動態語言,可以逐步除錯,而且可以直接執行,免去了編輯-編譯-連結-載入-執行等靜態語言繁瑣的步驟。它把常用的功能都變成了關鍵字,避免了不懂程式設計的人去處理各種庫的麻煩。最後,MATLAB簡化了控制流,只保留了迴圈、判斷、定義函式等最簡單的幾種語義。下圖是1981版MATLAB的關鍵字,其中和控制流相關的只有幾個,今天它的關鍵字已經多達近千個,但是必須掌握的控制流關鍵字就在10個左右。

也就是說學會了這10個關鍵字的用法加上善於查詢MATLAB的幫助手冊,就可以進行數學計算、繪圖和模擬了,可謂是非常方便了。

餘鵬鯤:MATLAB開了第一槍,中國該怎麼應對?

81版matlab的關鍵詞

但這部分其實是比較好替代的,Scilab、Octave等開源軟體都可以很好的進行替代。其中Scilab與MATLAB關鍵字的相同度在95%以上,Octave與MATLAB關鍵字的相同度在99%以上,普通的MATLAB的程式拿到Octave幾乎可以不做修改的跑起來。

餘鵬鯤:MATLAB開了第一槍,中國該怎麼應對?

Scilab和Octave都是開源軟體中MATLAB的有力競爭者

更何況今天的MATLAB語言不過是在英特爾編寫的MKL(數學核心函式庫)上做的一層語法糖。程式設計基礎好的人完全可以直接呼叫MKL完成研究所需要的科學計算,遇上迴圈多的測試,這種方法能比MATLAB快十倍以上。

退一萬步說,非得用MATLAB處理資料,也可以把繪製圖表的資料用MATLAB處理後儲存成Excel的格式,用其他軟體進行繪圖。

MATLAB的第二個層次是多年積累下來的生態,比如說第三方用MATLAB編寫的程式庫。論文裡總不能說研究用到的程式庫都是自己寫的吧?

但是這個問題其實也不大,首先某些學科的研究者早就利用更加開放的工具了,比如研究神經網路的一般都用開源的Python及其相關庫,研究機器學習的用開源的Julia及其相關庫的也很多。

對於其他學科的研究者而言,由法國國家資訊、自動化研究院的科學家們開發並開源的Scilab在資料分析、影象處理 、電路模擬、控制系統等十餘個領域也有比較豐富的程式庫,可以滿足一定的要求。而由GNU贊助開發的Octave,其相關庫也非常豐富,從工具庫的齊全上來說,筆者認為開源軟體可以實現約70%-80%。

最大的問題在於之前提到的Simulink。哈工大和哈工程被禁用MATLAB之後,網友們集思廣益列出一系列替代選擇,但是其中絕大多數軟體和程式沒有類似於Simulink的模組和庫。就目前來看,開源軟體中只有Scilab有類似的Xcos,Xcos也是一個視覺化程式設計模擬工具。經過親身體會,其功能大約有Simulink的30-40%,還有不小的差距。

但是Simulink本意畢竟是一種針對不會程式設計者的模擬工具,Simulink的全部功能透過嚴肅的程式設計都能實現,而且已經有相當多的模擬程式庫可供呼叫。因此對於哈工大、哈工程裡真正重要的研究我們不必過於擔心,更重要的是美國將魔爪伸向中國高校,我們該如何應對。

中國應全域性統籌自強不息

MATLAB被禁用相對來說並沒有那麼可怕,因為多少還有一些替代品。國內院校使用的EDA、CAD類輔助設計軟體,主要也是來自美國公司,而且國內鮮有替代品。在計算機輔助工程(CAE)領域,國內雖然有替代品,但從介面、方便性和可靠性上來說與國外的產品差距不小。

面對可能進一步的施壓,我們必須全域性統籌,拿出一整套方案。不能頭痛醫頭,腳痛醫腳,要做好打持久戰的準備。不能今天MATLAB被禁用了,就一窩蜂的搞數學計算軟體。明天工程有限元、有限差分法軟體被禁了,又一窩蜂的搞CAE軟體。

高校軟體被禁,最直接的影響就在投論文上。中國的出版商肯定不會為了美國指定的“清單”不準國內的學者出版。但是國內期刊在學術評價上長期遭遇制度性的歧視,中文寫的國內期刊無論如何好,很多地方最多比照SCI四區進行評價。而英文論文只要被SCI收錄,至少都是四區。

在美國製裁手段日益逼近學術圈的當下,建立新的學術評價體系不僅非常必要,而且已成為迫切需要解決的問題。

當然中文期刊自身也存在著很多問題,很多甚至是學術道德問題。今年初《冰川凍土》和《銀行家》兩本核心期刊,分別被發現存在學術不端行為,再次揭開了中文期刊存在的這些問題。因此中文期刊必須建立更嚴格的監督機制,這樣才能使得學者們願意在中文期刊上投稿。

這次MATLAB被禁,有學者認為“中方迴應需要有恰如其分的評估,譬如由國家與企業對替代的開源軟體做深度開發”。筆者完全同意這一說法,但是想換一換說法——替代MATLAB的軟體,中方必須做深度開發,必須走一條自強之路。

這麼說,是有感於自主可控軟硬體發展的現狀。正如之前的分析,MATLAB語言和平臺本身科技含量不高,可替代性最強。而積累的工具庫可替代性就相對弱一些了,Simulink以及matlab為大學和企業定製開發的特色功能則更加不可替代。

按照需要什麼,我們就研究什麼的思路。發展自主可控軟體的人應該首先考慮深度開發開源軟體實現替代Simulink。但是現實是仿造另一個MATLAB語言甚至是套皮一個成果的輿論影響更大。而且國內對於自主軟體的發展,尤其是商業收益上規劃非常不合理。很多人只看到生態擁有者能獲得的收益,看不到為了培植生態付出的艱辛。

仿造另一個MATLAB語言的國產平臺,如果發展起來,就意味著位於生態圈的中心,真金白銀滾滾而來。無數國產軟硬體看不破、放不下的就是這個迷夢。但是別人比你發展的早,開發團隊又比你強大,僅僅是走一遍回頭路,憑什麼就能取代原有霸主的地位?

並非危言聳聽,回顧過去,這種迷夢加上弄虛作假就是“漢芯”,加上言過其實就是程式語言“木蘭”,加上引進吸收消化不良就是“華芯通”,一堆迷夢自我相加就是猶如過江之鯽魚般死去的那些“國產系統”和“中文程式設計”。

尤其是中文程式設計,在編譯框架和宏程式設計技術已經極為先進的當下,模仿一種語言,將關鍵字替換為中文已經是非專業人士也可以做到的了。而且關鍵字因為數量有限而且固定,對方便理解來說其實沒有變數名和函式名重要。目前主流的程式語言都支援以中文為變數名和函式名,但是一些庫因為歷史原因支援這些變數還有問題。

從提升中文影響力和方便中國人理解的角度出發,解決各語言的官方庫對中文的支援顯然比造一個“中文程式設計”強得多。但是前者主要是國外開發者在做,後者目力所及都是國內的開發者在反覆寫這樣的程式。

說了這麼多,其實就是希望國內的應對計劃能綜合統籌,集中好資源和開發力量,真正踏踏實實地深度開發,真真切切的改善需求迫切的“痛點”。真能如此,則美國的黑槍,莫說是MATLAB一槍,就是十槍百槍萬槍也都無法阻擋中國科技發展進步的步伐。