包云岗:“Matlab被禁”事件启发:我们如何做出能卡别人脖子的软件?
今年 6 月,哈爾濱工業(yè)大學(xué)、哈爾濱工程大學(xué)因被列入美國(guó)商務(wù)部實(shí)體名單,并被禁用數(shù)學(xué)基礎(chǔ)軟件 Matlab,引發(fā)了關(guān)于國(guó)產(chǎn)軟件的大規(guī)模討論。
對(duì)于大多數(shù)理工科學(xué)生而言,Matlab 并不陌生,Matlab 是一款被廣泛應(yīng)用于教學(xué)、科研、工業(yè)領(lǐng)域的基礎(chǔ)軟件,而這類 EDA(Electronic Design Automation,電子設(shè)計(jì)自動(dòng)化)軟件,卻剛好又是我國(guó)的短板。正因如此,不少行業(yè)人士感慨,這次我們真的是被卡脖子了。
6 月 19 日,中科院計(jì)算所研究員、先進(jìn)計(jì)算機(jī)系統(tǒng)研究中心主任,中國(guó)開放指令生態(tài)聯(lián)盟秘書長(zhǎng)包云崗在微博上分享了他在「CCF YOCSEF 杭州· Matlab 被禁之特別論壇」上關(guān)于“Matlab 被禁”事件帶來的思考與啟發(fā)的發(fā)言。
包云崗指出,當(dāng)我們?cè)谒伎既绾谓?ldquo;Matlab 被禁”這個(gè)燃眉之急的同時(shí),更需要考慮如何才能在未來做出像 Matlab 這樣的工具,做出能卡別人脖子的技術(shù)。
至于如何做出像 Matlab 這樣能卡別人脖子的軟件,包云崗總結(jié)為如下四點(diǎn):
第一,把東西做出來,而不是追求把論文發(fā)出來;
第二,把東西用起來,而不是做完就扔了;
第三,把教學(xué)場(chǎng)景用起來,而不是把教學(xué)當(dāng)作負(fù)擔(dān);
第四,把持久戰(zhàn)意識(shí)樹立起來,而不是期望速勝論。
以下為包云崗在「CCF YOCSEF 杭州· Matlab 被禁之特別論壇」發(fā)言原文,雷鋒網(wǎng)做了不改變?cè)獾木庉嬚恚?/p>
很多人都在思考如何解決“Matlab 被禁”這個(gè)燃眉之急的問題。大家回顧了中國(guó)的工業(yè)軟件發(fā)展之痛,批評(píng)國(guó)內(nèi)的盜版問題、知識(shí)產(chǎn)權(quán)保護(hù)問題、重硬件輕軟件等一系列問題。也提出了很多好的建議,比如給了針對(duì) Matlab 各種功能的開源軟件替代方案。這些都算是“昨天和今天”的事。
現(xiàn)在我想和大家一起討論一下關(guān)于“明天”的事。我們每個(gè)人可以問自己一個(gè)問題:從現(xiàn)在這個(gè)時(shí)間點(diǎn)開始,給 10 年時(shí)間,甚至 20 年時(shí)間,我們能做出一個(gè)卡別人脖子的東西嗎?(并不是說真的要去卡別人脖子,而是說要成為別人離不開的東西)
如果從這個(gè)角度來看這次“Matlab 被禁”事件,那么給我們更多的是啟發(fā)。
我們都知道 Matlab 最初只是新墨西哥大學(xué) Clever Moler 教授在 1970 年代用于教學(xué)中的一個(gè)小工具軟件,那它為什么能在幾十年后成為卡我們脖子的利器?
我們一起來梳理一下 Matlab 發(fā)展過程中折射出來的幾個(gè)理念:
一、把東西做出來,而不是追求把論文發(fā)出來。Matlab 網(wǎng)站上有一篇 Moler 教授自己在 2018 年寫的 Matlab 簡(jiǎn)史。他在開頭就寫道,在 1971 年和 1975 年他所在團(tuán)隊(duì)向 NSF 申請(qǐng)了兩個(gè)項(xiàng)目,目標(biāo)是“探索開發(fā)高質(zhì)量數(shù)學(xué)軟件的方法、成本和資源”。他自己也認(rèn)為,從某種程度上來看,這兩個(gè)項(xiàng)目是失敗的,因?yàn)樗麄儧]有發(fā)表出一篇論文,他們只是開發(fā)出了兩個(gè)軟件:一個(gè)是 EISPACK,另一個(gè)是 LINPACK。而且這兩個(gè)軟件也談不上有多大的學(xué)術(shù)創(chuàng)新,因?yàn)?EISPACK 就是把 1965-1970 年發(fā)表論文中用 Algo60 寫的算法翻譯為 Fortran,而 LINPACK 則是直接用 Fortran 重寫一遍。
二、把東西用起來,而不是做完就扔了。雖然 EISPACK、LINPACK 沒有相關(guān)論文發(fā)表,學(xué)術(shù)創(chuàng)新也似乎不是很高,但確實(shí)是兩個(gè)很有用的軟件。EISPACK 的開發(fā)團(tuán)隊(duì)在 1974 年寫了一本使用手冊(cè),我在 Google Scholar 上查了一下,到現(xiàn)在已經(jīng)被引用了 1800 多次,1970-1980 年代使用非常廣泛。LINPACK 更是世界超級(jí)計(jì)算機(jī)排行榜 Tops500 的基準(zhǔn)測(cè)試程序,可以說是影響了世界超級(jí)計(jì)算機(jī)的發(fā)展。
三、把教學(xué)場(chǎng)景用起來,而不是把教學(xué)當(dāng)作負(fù)擔(dān)。Matlab 是 Moler 教授想把 EISPACK 和 LINPACK 應(yīng)用于教學(xué)過程中的產(chǎn)物。如果 Moler 教授不是用心去做教學(xué),不是為了能讓學(xué)生更好地掌握線性代數(shù)與數(shù)值分析,更容易地使用 EISPACK 和 LINPACK 這兩個(gè)軟件,那么他就不會(huì)有動(dòng)機(jī)自己動(dòng)手去寫一個(gè) Matlab 小工具來把這兩個(gè)軟件接口封裝起來,從而方便學(xué)生使用。
今天,由于嚴(yán)苛的科研競(jìng)爭(zhēng)環(huán)境和考核壓力,很多人都把教學(xué)當(dāng)作了一種負(fù)擔(dān),認(rèn)為會(huì)影響科研。但教學(xué)其實(shí)是試驗(yàn)新技術(shù)、新工具最好的應(yīng)用場(chǎng)景,因?yàn)樵囧e(cuò)成本很低,而且學(xué)生的創(chuàng)新性和主動(dòng)性,還能幫助改進(jìn)優(yōu)化技術(shù)和工具。Matlab 最終走上了商業(yè)化道路,就是因?yàn)?Moler 教授在斯坦福大學(xué)給學(xué)生上課時(shí),有兩個(gè)學(xué)生對(duì) Matlab 很感興趣,主動(dòng)提出用C重寫一遍,同時(shí)移植到 IBM PC 上。很多技術(shù)最早都是從課堂上發(fā)展起來,比如 RISC 架構(gòu)是 David Patterson 教授在伯克利的課程實(shí)驗(yàn)。
四、把持久戰(zhàn)意識(shí)樹立起來,而不是期望速勝論。堅(jiān)持圍繞一件事做,幾十年后的累積效應(yīng)是驚人了。中國(guó)今天被卡脖子的東西,幾乎都是別人積累了 20 年以上的東西。
從第一版 Matlab 算起到現(xiàn)在已經(jīng)有 40 年,1980 年代初的第一代 EDA 軟件到現(xiàn)在也有快 40 年,Intel 在 1970 年左右第一代微處理器到現(xiàn)在已經(jīng)有 50 年。臺(tái)積電 1987 年成立到現(xiàn)在也是積累了 30 多年。其實(shí)在學(xué)術(shù)界也有很多有影響力的工作也是多年積累的產(chǎn)物,我們可以看一下 ACM System Software Award,獲獎(jiǎng)的軟件基本上都是持續(xù)積累了幾十年,比如 LLVM 持續(xù)優(yōu)化了 17 年、Eclipse 優(yōu)化了 19 年、Wireshark 優(yōu)化了 22 年、Coq 優(yōu)化了 31 年,GCC 則有 33 年。
再仔細(xì)剖析一下 Matlab 以及 MathWorks 這家公司,可以說是持久戰(zhàn)的典范。MathWorks 在 1984 年成立,只有 1 名員工。第一筆收入是 1985 年賣給了 MIT10 個(gè) Matlab 版權(quán),收入 500 美元。MathWorks 公司早期很不起眼,有個(gè)玩笑稱它前 7 年員工數(shù)每一年翻一番——1984 年 1 個(gè)員工,1985 年 2 個(gè)員工,1986 年 4 個(gè)員工,直到 7 年后的 1991 年也才只有 128 個(gè)員工。和今天很多初創(chuàng)公司相比,這個(gè)成長(zhǎng)速度就像是蝸牛了。但是他們力出一孔,圍繞著 Matlab 不斷增加功能,使 Matlab 成為一個(gè)行業(yè)領(lǐng)先的工具軟件。1997 年,MathWorks 的營(yíng)業(yè)額達(dá)到了 5000 萬(wàn)美元,380 名員工。如今 2019 年 MathWorks 公司營(yíng)業(yè)額是 10 億美元,3000 多員工,全球有 400 多萬(wàn)用戶。雖然從營(yíng)業(yè)額看并不大,但其實(shí)我們更應(yīng)該學(xué)習(xí)這種模式——不斷積累。把一項(xiàng)技術(shù)做到極致,成為某個(gè)細(xì)分領(lǐng)域的隱形冠軍。
最后總結(jié)一下,當(dāng)我們?cè)谒伎既绾谓?ldquo;Matlab 被禁”這個(gè)燃眉之急的同時(shí),更需要考慮如何才能在未來做出像 Matlab 那樣的工作,做出能卡別人脖子的技術(shù)。這需要我們做出改變,觀念上的改變,行動(dòng)上的改變。
總結(jié)
以上是生活随笔為你收集整理的包云岗:“Matlab被禁”事件启发:我们如何做出能卡别人脖子的软件?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win10安装ubuntu失败后怎么删除
- 下一篇: 雷字开头成语有哪些啊?