做者 | 包雲崗算法
編輯 | 王金旺架構
今年6月,哈爾濱工業大學、哈爾濱工程大學因被列入美國商務部實體名單,並被禁用數學基礎軟件Matlab,引起了關於國產軟件的大規模討論。工具
對於大多數理工科學生而言,Matlab並不陌生,Matlab是一款被普遍應用於教學、科研、工業領域的基礎軟件,而這類EDA(Electronic Design Automation,電子設計自動化)軟件,卻恰好又是我國的短板。正因如此,很多行業人士感慨,此次咱們真的是被卡脖子了。學習
6月19日,中科院計算所研究員、先進計算機系統研究中心主任,中國開放指令生態聯盟祕書長包雲崗在微博上分享了他在「CCF YOCSEF杭州· Matlab被禁之特別論壇」上關於「Matlab被禁」事件帶來的思考與啓發的發言。測試
包雲崗指出,當咱們在思考如何解「Matlab被禁」這個燃眉之急的同時,更須要考慮如何才能在將來作出像Matlab這樣的工具,作出能卡別人脖子的技術。優化
至於如何作出像Matlab這樣能卡別人脖子的軟件,包雲崗總結爲以下四點:網站
第一,把東西作出來,而不是追求把論文發出來;翻譯
第二,把東西用起來,而不是作完就扔了;設計
第三,把教學場景用起來,而不是把教學看成負擔;3d
第四,把持久戰意識樹立起來,而不是指望速勝論。
如下爲包雲崗在「CCF YOCSEF杭州· Matlab被禁之特別論壇」發言原文, AI科技評論得到了包老師的受權 ,作了不改變原意的編輯整理:
不少人都在思考如何解決「Matlab被禁」這個燃眉之急的問題。你們回顧了中國的工業軟件發展之痛,批評國內的盜版問題、知識產權保護問題、重硬件輕軟件等一系列問題。也提出了不少好的建議,好比給了針對Matlab各類功能的開源軟件替代方案。這些都算是「昨天和今天」的事。
如今我想和你們一塊兒討論一下關於「明天」的事。咱們每一個人能夠問本身一個問題:從如今這個時間點開始,給10年時間,甚至20年時間,咱們能作出一個卡別人脖子的東西嗎?(並非說真的要去卡別人脖子,而是說要成爲別人離不開的東西)
若是從這個角度來看此次「Matlab被禁」事件,那麼給咱們更多的是啓發。
咱們都知道Matlab最初只是新墨西哥大學Clever Moler教授在1970年代用於教學中的一個小工具軟件,那它爲何能在幾十年後成爲卡咱們脖子的利器?
咱們一塊兒來梳理一下Matlab發展過程當中折射出來的幾個理念:
1、把東西作出來,而不是追求把論文發出來。 Matlab網站上有一篇Moler教授本身在2018年寫的Matlab簡史。他在開頭就寫道,在1970年和1975年他所在團隊向NSF申請了兩個項目,目標是「探索開發高質量數學軟件的方法、成本和資源」。他本身也認爲,從某種程度上來看,這兩個項目是失敗的,由於他們沒有發表出一篇論文,他們只是開發出了兩個軟件:一個是EISPACK,另外一個是LINPACK。並且這兩個軟件也談不上有多大的學術創新,由於EISPACK就是把1965-1970年發表論文中用Algo60寫的算法翻譯爲Fortran,而LINPACK則是直接用Fortran重寫一遍。
2、把東西用起來,而不是作完就扔了。 雖然EISPACK、LINPACK沒有相關論文發表,學術創新也彷佛不是很高,但確實是兩個頗有用的軟件。EISPACK的開發團隊在1974年寫了一本使用手冊,我在Google Scholar上查了一下,到如今已經被引用了1800屢次,1970-1980年代使用很是普遍。LINPACK更是世界超級計算機排行榜Tops500的基準測試程序,能夠說是影響了世界超級計算機的發展。
3、把教學場景用起來,而不是把教學看成負擔。 Matlab是Moler教授想把EISPACK和LINPACK應用於教學過程當中的產物。若是Moler教授不是用心去作教學,不是爲了能讓學生更好地掌握線性代數與數值分析,更容易地使用EISPACK和LINPACK這兩個軟件,那麼他就不會有動機本身動手去寫一個Matlab小工具來把這兩個軟件接口封裝起來,從而方便學生使用。
今天,因爲嚴苛的科研競爭環境和考覈壓力,不少人都把教學看成了一種負擔,認爲會影響科研。但教學實際上是試驗新技術、新工具最好的應用場景,由於試錯成本很低,並且學生的創新性和主動性,還能幫助改進優化技術和工具。Matlab最終走上了商業化道路,就是由於Moler教授在斯坦福大學給學生上課時,有兩個學生對Matlab很感興趣,主動提出用C重寫一遍,同時移植到IBM PC上。 很 多技術最先都是從課堂上發展起來,好比RISC 架構是David Patterson 教授在伯克利的課程實驗。
4、把持久戰意識樹立起來,而不是指望速勝論。 堅持圍繞一件事作,幾十年後的累積效應是驚人了。中國今天被卡脖子的東西,幾乎都是別人積累了20年以上的東西。
從初版Matlab算起到如今已經有40年,1980年代初的第一代EDA軟件到如今也有快40年,Intel在1970年左右第一代微處理器到如今已經有50年。臺積電1987年成立到如今也是積累了30多年。其實在學術界也有不少有影響力的工做也是多年積累的產物,咱們能夠看一下ACM System Software Award,獲獎的軟件基本上都是持續積累了幾十年,好比LLVM持續優化了17年、Eclipse優化了19年、Wireshark優化了22年、Coq優化了31年,GCC則有33年。
再仔細剖析一下Matlab以及MathWorks這家公司,能夠說是持久戰的典範。MathWorks在1984年成立,只有1名員工。第一筆收入是1985年賣給了MIT10個Matlab版權,收入500美圓。MathWorks公司早期很不起眼,有個玩笑稱它前7年員工數每年翻一番——1984年1個員工,1985年2個員工,1986年4個員工,直到7年後的1991年也才只有128個員工。和今天不少初創公司相比,這個成長速度就像是蝸牛了。可是他們力出一孔,圍繞着Matlab不斷增長功能,使Matlab成爲一個行業領先的工具軟件。1997年,MathWorks的營業額達到了5000萬美圓,380名員工。現在2019年MathWorks公司營業額是10億美圓,3000多員工,全球有400多萬用戶。雖然從營業額看並不大,但其實咱們更應該學習這種模式——不斷積累。把一項技術作到極致,成爲某個細分領域的隱形冠軍。
最後總結一下,當咱們在思考如何解「Matlab被禁」這個燃眉之急的同時,更須要考慮如何才能在將來作出像Matlab那樣的工做,作出能卡別人脖子的技術。這須要咱們作出改變,觀念上的改變,行動上的改變。
ACL 2020原定於2020年7月5日至10日在美國華盛頓西雅圖舉行,因新冠肺炎疫情改成線上會議。爲促進學術交流,方便國內師生提前瞭解天然語言處理(NLP)前沿研究,AI 科技評論將推出「ACL 實驗室系列論文解讀」內容,同時歡迎更多實驗室參與分享,敬請期待!
點擊"閱讀原文",直達「ACL 交流小組」瞭解更多會議信息。