包云岗:“Matlab被禁”事件启发:我们如何做出能卡别人脖子的软件?
今年 6 月,哈爾濱工業大學、哈爾濱工程大學因被列入美國商務部實體名單,并被禁用數學基礎軟件 Matlab,引發了關于國產軟件的大規模討論。
對于大多數理工科學生而言,Matlab 并不陌生,Matlab 是一款被廣泛應用于教學、科研、工業領域的基礎軟件,而這類 EDA(Electronic Design Automation,電子設計自動化)軟件,卻剛好又是我國的短板。正因如此,不少行業人士感慨,這次我們真的是被卡脖子了。
6 月 19 日,中科院計算所研究員、先進計算機系統研究中心主任,中國開放指令生態聯盟秘書長包云崗在微博上分享了他在「CCF YOCSEF 杭州· Matlab 被禁之特別論壇」上關于“Matlab 被禁”事件帶來的思考與啟發的發言。
包云崗指出,當我們在思考如何解“Matlab 被禁”這個燃眉之急的同時,更需要考慮如何才能在未來做出像 Matlab 這樣的工具,做出能卡別人脖子的技術。
至于如何做出像 Matlab 這樣能卡別人脖子的軟件,包云崗總結為如下四點:
第一,把東西做出來,而不是追求把論文發出來;
第二,把東西用起來,而不是做完就扔了;
第三,把教學場景用起來,而不是把教學當作負擔;
第四,把持久戰意識樹立起來,而不是期望速勝論。
以下為包云崗在「CCF YOCSEF 杭州· Matlab 被禁之特別論壇」發言原文,雷鋒網做了不改變原意的編輯整理:
很多人都在思考如何解決“Matlab 被禁”這個燃眉之急的問題。大家回顧了中國的工業軟件發展之痛,批評國內的盜版問題、知識產權保護問題、重硬件輕軟件等一系列問題。也提出了很多好的建議,比如給了針對 Matlab 各種功能的開源軟件替代方案。這些都算是“昨天和今天”的事。
現在我想和大家一起討論一下關于“明天”的事。我們每個人可以問自己一個問題:從現在這個時間點開始,給 10 年時間,甚至 20 年時間,我們能做出一個卡別人脖子的東西嗎?(并不是說真的要去卡別人脖子,而是說要成為別人離不開的東西)
如果從這個角度來看這次“Matlab 被禁”事件,那么給我們更多的是啟發。
我們都知道 Matlab 最初只是新墨西哥大學 Clever Moler 教授在 1970 年代用于教學中的一個小工具軟件,那它為什么能在幾十年后成為卡我們脖子的利器?
我們一起來梳理一下 Matlab 發展過程中折射出來的幾個理念:
一、把東西做出來,而不是追求把論文發出來。Matlab 網站上有一篇 Moler 教授自己在 2018 年寫的 Matlab 簡史。他在開頭就寫道,在 1971 年和 1975 年他所在團隊向 NSF 申請了兩個項目,目標是“探索開發高質量數學軟件的方法、成本和資源”。他自己也認為,從某種程度上來看,這兩個項目是失敗的,因為他們沒有發表出一篇論文,他們只是開發出了兩個軟件:一個是 EISPACK,另一個是 LINPACK。而且這兩個軟件也談不上有多大的學術創新,因為 EISPACK 就是把 1965-1970 年發表論文中用 Algo60 寫的算法翻譯為 Fortran,而 LINPACK 則是直接用 Fortran 重寫一遍。
二、把東西用起來,而不是做完就扔了。雖然 EISPACK、LINPACK 沒有相關論文發表,學術創新也似乎不是很高,但確實是兩個很有用的軟件。EISPACK 的開發團隊在 1974 年寫了一本使用手冊,我在 Google Scholar 上查了一下,到現在已經被引用了 1800 多次,1970-1980 年代使用非常廣泛。LINPACK 更是世界超級計算機排行榜 Tops500 的基準測試程序,可以說是影響了世界超級計算機的發展。
三、把教學場景用起來,而不是把教學當作負擔。Matlab 是 Moler 教授想把 EISPACK 和 LINPACK 應用于教學過程中的產物。如果 Moler 教授不是用心去做教學,不是為了能讓學生更好地掌握線性代數與數值分析,更容易地使用 EISPACK 和 LINPACK 這兩個軟件,那么他就不會有動機自己動手去寫一個 Matlab 小工具來把這兩個軟件接口封裝起來,從而方便學生使用。
今天,由于嚴苛的科研競爭環境和考核壓力,很多人都把教學當作了一種負擔,認為會影響科研。但教學其實是試驗新技術、新工具最好的應用場景,因為試錯成本很低,而且學生的創新性和主動性,還能幫助改進優化技術和工具。Matlab 最終走上了商業化道路,就是因為 Moler 教授在斯坦福大學給學生上課時,有兩個學生對 Matlab 很感興趣,主動提出用C重寫一遍,同時移植到 IBM PC 上。很多技術最早都是從課堂上發展起來,比如 RISC 架構是 David Patterson 教授在伯克利的課程實驗。
四、把持久戰意識樹立起來,而不是期望速勝論。堅持圍繞一件事做,幾十年后的累積效應是驚人了。中國今天被卡脖子的東西,幾乎都是別人積累了 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 那樣的工作,做出能卡別人脖子的技術。這需要我們做出改變,觀念上的改變,行動上的改變。
總結
以上是生活随笔為你收集整理的包云岗:“Matlab被禁”事件启发:我们如何做出能卡别人脖子的软件?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win10安装ubuntu失败后怎么删除
- 下一篇: 雷字开头成语有哪些啊?