暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MATLAB被禁反思:中国如何做出卡别人脖子的技术?

51CTO技术栈 2020-06-23
773

昨天发布的一篇文章《MATLAB被禁,中国重新开发要多久?》引发了众多网友的热议,今天我们来看看中科院计算所研究员包云岗对 MATLAB 被禁后的反思,希望对你有启发。

图片来自 Pexels

很多人都在思考如何解决“Matlab 被禁”这个燃眉之急问题。大家回顾了中国的工业软件发展之痛,批评国内的盗版问题、知识产权保护问题、重硬件轻软件等一系列问题。

也提出了很多好的建议,比如给了针对 Matlab 各种功能的开源软件替代方案。这些都算是“昨天和今天”的事。

现在我想和大家一起讨论一下关于“明天”的事。我们每个人可以问自己一个问题:从现在这个时间点开始,给 10 年时间,甚至 20 年时间,我们能做出一个卡别人脖子的东西吗?(并不是说真的要去卡别人脖子,而是说成为别人离不开的东西)

如果从这个角度来看这次“Matlab 被禁”事件,那么也许可以给我们更多的是启发。

我们都知道 Matlab 最初只是新墨西哥大学 Clever Moler 教授在 1970 年代用于教学中的一个小工具软件,那它为什么能在几十年后成为卡我们脖子的利器?

我们一起来梳理一下 Matlab 发展过程中折射出来的几个理念:

①把东西做出来,而不是追求把论文发出来

Matlab 网站上有一篇 Moler 教授自己在 2018 年写的 Matlab 简史[1]。

他在开头就写道,在 1970 年和 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 最终走上商业化,就是因为 1980 年 Moler 教授在斯坦福大学给学生上课时,有个叫 Jack Little 的学生,对 Matlab 很感兴趣,后来主动提出用 C 重写一遍,并移植到 IBM 兼容 PC 上。

当他们完成 PC-Matlab 后,便于 1984 年一起成立了 MathWorks 公司。事实上,很多技术最早都是从课堂上发展起来,比如 RISC 架构是 David Patterson 教授在伯克利的课程实验。

④把持久战意识树立起来,而不是期望速胜论

坚持围绕一件事做,几十年后的累积效应是惊人了。中国今天被卡脖子的东西,几乎都是别人积累了 20 年以上的东西。

从第一版 Matlab 算起到现在已经有 40 年,1980 年代初的第一代 EDA 软件到现在也有快 40 年,Intel 在 1970 年左右第一代微处理器到现在已经有 50 年。台积电 1987 年成立到现在也是积累了 30 多年。

其实在学术界也有很多有影响力的工作也是积累很多年的产物,我们可以看一下 ACM System Software Award[2],获奖的软件基本上都是持续积累了几十年。

比如 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 那样的工作,做出能卡别人脖子的技术。这需要我们做出改变,观念上的改变,行动上的改变。

至于哪些具体的改变,我想前面梳理的四点就算是抛砖引玉吧:

  • 把东西做出来,而不是追求把论文发出来

  • 把东西用起来,而不是做完就扔了

  • 把教学场景用起来,而不是把教学当作负担

  • 把持久战意识树立起来,而不是期望速胜论

PS:以上为 CCF YOCSEF 杭州· Matlab 被禁之特别论坛的发言。

补充:这个发言引起了很多人的共鸣,有朋友还举了个例子:美国雪城大学的杜文亮教授最近出版了一本书介绍近 20 年来自己教学中开发的平台和工具,现在已经在 60 多个国家的 1000 多所大学使用,这个贡献和影响力甚至比他自己的科研还要大了。

但也有不少学者认为现在国内学术界要做到这四点很难。尤其是在高校,如果不发表论文,花大力气在教学上,那么考核、评职称就会比较难,更不要说一些学术帽子了。所以在国内要按照那四点去做,很可能等于断了自己的学术生涯发展道路。

前几年看到山东理工大学毕玉遂教授的故事,却是一个鲜明的对比:他从 2003 年开始坚持研究一种泡沫发泡剂,一直到 2011 年终于研制成功,2017 年卖了 5 亿专利费。

毕教授在一个采访中提到自己毕业于专科学校,在专科学校呆了很多年,反而让他更注重研究“接地气的、市场迫切需要的技术”,也让他更容易拥有淡泊名利、持之以恒的心态。

因此,科研人员自身观念和行动的改变才是根本的。很多人都期望环境变好了才做出改变,期待自上而下的改革。但为何不先从自我做起,通过自下而上来改变环境?

中国计算机学会 CCF 理事长梅宏院士有两句话讲得特别好:“要相信大多数科学家心底的'良知' ”,"相信公平即使不发生在空间上,也一定会发生在时间上”。我们先要建立这样的信念。

当然外部环境也是非常重要,这又涉及到学术评价这个硬骨头问题了。其实针对这四点,各个单位都可以做出一些容易操作的小措施:比如基金委也可以像美国 NSF 那样支持结题时提交软件或工具,而不仅仅是论文与专利;高校可以在职称评定时增加“科教融合”创新的比重等等。

参考链接:

  • [1]https://www.mathworks.com/company/newsletters/articles/a-brief-history-of-matlab.html

  • [2]https://en.wikipedia.org/wiki/ACM_Software_System_Award

作者:包云岗

简介:中国科学院计算技术研究所研究员、所长助理、先进计算机系统研究中心主任,中国科学院大学岗位教授,中国开放指令生态(RISC-V)联盟秘书长。主要研究领域为开源处理器与敏捷设计、数据中心体系结构等,主持研制多款达到国际先进水平的系统,相关技术已在华为、阿里、Intel 等国内外企业应用。曾获“CCF-Intel 青年学者”奖,ARM2018 全球研究峰会 45 分钟特邀大会报告、中科院青年创新促进会优秀会员,获“CCF-IEEE CS”青年科学家奖、共青团中央“全国向上向善好青年”荣誉称号。

编辑:陈昕悦

出处:转载自公众号风云之声(ID:fyvoice)

精彩文章推荐:

MATLAB被禁,中国重新开发要多久?
老板要搞微服务,只能硬着头皮上了...
阿里技术专家:如何画好一张架构图?
文章转载自51CTO技术栈,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论