作者:王忠杰 来源:中国科学报 发布时间:2020/6/24 0:17:49
选择字号:
“MATLAB被禁”,谁之过?

 

《三体》中有一个重要情节,三体人用质子干扰地球上的加速器,封锁了地球上基础科学的发展,防止地球上在短时间内产生“技术爆炸”。现如今美国封禁MATLAB,与《三体》有异曲同工之处。因此,我认为此次美国禁止哈尔滨工业大学、哈尔滨工程大学使用MATLAB这件事,并不局限于“二哈”范围内。

说“软件学院只能培养程序员”?冤也不冤

最近这段时间,网上出现这样一个批评的观点:哈工大的软件学院发展了20多年,培养了很多人才,但实际上只不过是给BAT这样的互联网公司培养了一大批可以“996”的程序员。

当我看到这个观点之后,是非常自责的。但是冷静下来一想,这个观点其实也有些站不住脚。这么说软件学院,我觉得有点冤。

为什么说冤?第一,软件学院包括计算机专业,其实是纯粹在研究计算机本身的技术和理论。如果让我们切入到去研发MATLAB或其他基础工业软件、科研软件,我们是没有这些特定领域的专业知识的。比如,假设让我做一个控制领域或电子学领域、化学领域的仿真软件,我是没有相关领域知识的。只有把领域专业知识和计算机知识很好地结合在一起, 才能去做一些跨领域的事情。

但是,大多数搞计算机的人很难在短时间之内拥有非常丰富的领域知识。在这种情况下,让我们去做工业基础软件或科研基础软件就很困难。

但是,反过来讲,我们也不冤。因为如果我们深入思考,就能发现这其中存在着非常重要问题:投机心理。

我们都知道基础软件非常重要,对国家也非常重要。但是为什么都不去做?生物信息学专业的学生都能把生物学和计算机交叉在一起,我们的教授、学者、工程师们为什么不去做这些交叉?

这其中有一个很重要的原因:我们经常是偷懒的。

当前,所谓的“云智大物移”“ABCDE”非常热门——很多是外国人发明的,而我们经常盯着这些热门。道理很简单,因为吸引眼球,国家也有很多科研经费投入,所以大家一股脑都扑到这些方向上。这些既简单直观、容易理解,又容易出成果,容易在期刊发表论文。

从这个角度来看,我们就不冤了——每个人的科研方向都是自己做出的选择,我们为什么没有选那些对国家看起来更重要的,而是去选这些热点?美国人用了40多年做出来MATLAB,我们中国没有,因为没有人去做这块。

所以我们也不能怪人们把“MATLAB被禁”这口锅甩到软件学院的头上,我们确实没有这方面的成果。

为什么技术封禁一出现就是釜底抽薪?

万丈高楼,起于平地。但是,为什么每次技术封禁一旦出现,都好像是釜底抽薪?

计算思维中有一个重要的观点:任何社会系统和技术系统都是分层的。大到国家治理体系,小到计算机系的课程体系都是如此。

就以计算机系的课程体系为例。大家知道计算机领域的新技术、新知识日新月异,导致大学四年的课时已经无法容纳了。怎么办?我注意到,很多学校、院系在更新课程体系的时候,不经意间会把底层的基础层给压缩掉。

道理很简单,上层不断地涌现新知识、新技术,这些新内容又是和工业界接轨的,所以老师们宁可牺牲掉基础课,去扩展这种顶层应用的内容。

很具体的一个例子:之前我们也讨论过,计算机系大一的编程课到底要去学习汇编语言,还是去学习C、C++甚至是Python?

这实际上反映了一个“到底是重视基础层还是重视应用层”的问题。

越底层的东西,构造难度就越大。芯片、操作系统、基础软件,如果都不去做,自然也就不需要去学这种靠近计算机底层的基础知识。只解决顶层的应用问题,Python就够了。

同样的道理在AI领域也是一样。我经常参加硕士和博士论文的答辩评审,几乎每篇论文都涉及深度学习的很多算法如CNN、RNN,框架如TensorFlow、PyTorch,但都不是我们的。使用这些算法和框架去“创造”所谓自己的算法和创新,但十几年、二十年后呢?中国提出的AI国家战略很好,但我担心,AI的根基也会慢慢被压缩掉。

所以,当针对我们的技术制裁一旦出现,就相当于是一种釜底抽薪。教育界、研究领域都在忽视基础的东西,但如果没了吃饭的工具,就只能用手抓了。用手抓着吃,肯定吃不好。

追求短期效益,就是丢掉未来

事物都是有发展规律的。MATLAB经过三四十年的发展,通过不断地积累完善和迭代,才有了今天强大的生命力。它不仅涉及到软件本身的技术,还涉及到在不同的科研领域里对领域知识的积累。所以,我们不能奢望不去打基础,一下子就能做出一个MATLAB。

所以,所谓的“弯道超车”,我并不是非常赞同。因为当我们赶时间去追求短期效果的时候,我们其实是在丢掉未来的东西。搞研究也是如此,年轻时如果一味投机取巧,也可以发表很多论文和成果;但是如果没有内功的修炼,以后想去做出更高水平的成就,就变得非常困难。

有很多博士生是这样做事情的:一般是从论文当中发现要做的问题——这常常是一种空想主义。这个问题没有遇到过,但是看到别人在做,于是就决定“我也去做”。那这样做出来的成果,很多并不是为我们的工业界服务的,而是为论文服务的。如此一来,就会带来很大的麻烦。

怎么去解决这个问题?很多人提出要靠市场机制。但我认为靠市场机制不太灵。一个很直接的问题:今天MATLAB被禁了,但可能两个月以后、一年以后又放开了。放开了会怎样?即使有了国产替代软件,但可能在性能上、质量上比不上MATLAB,很多科研人员又回到MATLAB的怀抱了。

那么靠情怀行不行?准备在火星上退休的埃隆·马斯克,搞出来了SpaceX,有时候靠情怀是有用的。但是像MATLAB这种东西,我们不能把它推到一两个人、一两家公司身上。

是不是要靠国家体制?我觉得更重要的是,是通过改变考核机制,让更多的人愿意投身在这些领域之中。MATLAB就是通过长时间的持续不断地积累,才变成这样一个产品。

另外,要从我们每个人做起。前几天我跟同事们聊天,说我们还有20多年就退休了,这20年如果让你把时间都放在去开发MATLAB最核心、最基础的一个模块上,可不可以?

大家回答说:让我们去做编程没问题,但是如果跟其他学科的人一起去做——面向产业界的需求、用自己的设备去做实验、积累基础数据、形成领域知识,就没问题。其实就是搞软件工程的人从软件的角度切入,各个领域的专家从各自专业切入,大家一起去打磨,完全是可以做得到的。

但这其中非常重要的是,现在短期的目标考核导致很多人是不愿意这么去做的。

要知道,做操作系统的人很多,出现过一百多个,但最终留下来的只有Windows、Linux、BSD这些。这给我们什么启示呢?

现在的博士论文,不管水平多高,最终评审时往往一刀切:你的创新点有哪些?是不是通过几条漂亮的对比曲线证明了你的方法、研究结果可以超过美国人、英国人的结果?

我想说的是,如果我们能够允许博士论文“重复造轮子”,可以去重复走过诸如MATLAB最早期发展的那一段时间,可不可以?

这不是我能说了算的。这是考验我们整个中国科研领域所有学者耐性和持久性的问题。

(王忠杰系哈尔滨工业大学计算学部、国家示范性软件学院教授,计算机科学与技术学院副院长,本报记者赵广立根据其在YOCSEF哈尔滨特别论坛上的发言整理)

 
版权声明:凡本网注明“来源:中国科学报、科学网、科学新闻杂志”的所有作品,网站转载,请在正文上方注明来源和作者,且不得对内容作实质性改动;微信公众号、头条号等新媒体平台,转载请联系授权。邮箱:shouquan@stimes.cn。
 
 打印  发E-mail给: 
    
 
相关新闻 相关论文

图片新闻
全球电子垃圾5年增长21% 吉利德研发出新HIV候选治疗药物
沿海湿地可减少海岸洪水 3D愈合补丁可修复心脏损伤
>>更多
 
一周新闻排行 一周新闻评论排行
 
编辑部推荐博文