广告

中国重新开发MATLAB要多久?

2020-06-17 网络整理 阅读:
随着哈工大、哈工程MATLAB被禁用的持续发酵,有关MATLAB国产替代的话题成了业内人士的关注焦点。众所周知,想要解决软件依赖问题,最重要的就是要加快替代软件开发,同时规范商用软件市场,让国产软件有发展空间和用武之地。那么开发出国产的MATLAB到底需要多久呢?

随着哈工大、哈工程MATLAB被禁用的持续发酵,有关MATLAB国产替代的话题成了业内人士的关注焦点,就连知乎热榜都出现了相关讨论《中国开发MATLAB需要多久的问题》。Pefednc

众所周知,想要解决软件依赖问题,最重要的就是要加快替代软件开发,同时规范商用软件市场,让国产软件有发展空间和用武之地。Pefednc

那么开发出国产的MATLAB到底需要多久呢?Pefednc

开发国产MATLAB需要多久?

该话题下的高赞回答为“ <meta charset="utf-8">很多人只是把matlab当成了计算软件,等价于高级计算器,那非常好做一款自己的软件,换个语言做个GUI,顶过一年就能做一个功能类似的。但是后面的simulink和工具箱是工业上一步步迭代出来的,这个没个十几年,做不好,还得有工业应用上不断给你反馈才能做到现在这个地步。“Pefednc

Pefednc

MATLAB背后的生态,算法,是集齐大批各个行业的有代码能力和算法能力的博士工作数十年积累而成的。换而言之,基础功能开发替代品不难,开源软件也可以短期内解决短缺问题,但想要实现MATLAB的复杂生态需要至少十年。Pefednc

有读者表示,“用过MATLAB的人都知道,效果优化的非常好,试想就算法优化咱们能数年内做到MATLAB现在的水平吗,我真不希望大家盲目乐观。”Pefednc

如果只是实现一些基础功能,MATLAB完全可以由Octave,高仿版Scilab,或是Python和走在学术前沿的Julia,就足以满足至少80%人的需求。        Pefednc

而MATLAB的Simulink和各种领域的toolbox是需要不断积累经验,在现实工业、应用场景不断交互打磨,在时间上需要不断完善,才可以成型,这些是无法进行复制的。Pefednc

Pefednc

重构Simulink不现实,Simulink工具包涵盖的专业广泛,只能是各自领域进行重构,然后由某个公司去整合。   Pefednc

Pefednc

特别是MATLAB内部的bug修复和算法成熟和稳定性,一个算法的成熟是需要时间积累和实践验证的。Pefednc

投入大量时间是一方面,还有许多人可能会高估了其真实成本,慢慢的迭代,进步,在科研领域和工业领域的试错成本也是非常巨大的。Pefednc

Pefednc

 Pefednc

另外,对于工程师和科研工作者,MATLAB不仅仅是一个计算软件,还是一个百科全书。还包括各个行业入门教材的帮助文档,示例代码等,这种积累又怎么能轻松复制呢?Pefednc

此外,MATLAB的线形代数库基于Intel的MKL,而MKL是针对Intel的CPU专门优化过的,目前也没有合适的国产CPU可以替代Intel,即使有一些开源项目有类似功能比如Eigen3,但它的底层还是MKL,所以绕开MATLAB和Intel重新开发一个高性能线性代数库难度很大。Pefednc

所以按照这种观点,中国重新开发MATLAB并达到相应的水准,耗时会非常长,至少十年。Pefednc

有网友表示:难度不亚于开发一个鸿蒙系统。Pefednc

Pefednc

对国产开发未来有信心,短期内先解决有无

对国产开发未来有信心的网友主要提到了以下几个观点:Pefednc

1、MATLAB本身已经略显颓势,禁用提供了一个契机Pefednc

有网友表示,即使不是因为被禁用,MATLAB逐渐被替代也是大势所趋。现在用Python做科研和MATLAB做科研已经分成了两大派,MATLAB派处于劣势。Pefednc

而且目前Python在科研中的活跃度相比之下要高很多。Pefednc

Pefednc

MATLAB上月流行度则不足0.90%。Pefednc

知友表示,“MSC Easy5甩Simulink几条街。”感觉是里子和面子的问题。Pefednc

Pefednc

有观点对上述提到“绕不开MKL”进行了反驳,指出MATLAB线性代数库基于的MKL虽然不是开源的,但可选用国产良心openBLAS作为替代,在同样使用simd和多核并行的前提下这两者的性能最差也应该保持在一个数量级之内。Pefednc

2、短期内先解决有无的问题,再考虑长期。Pefednc

从市场的角度,从头开始开发一个MATLAB显然不现实。Pefednc

如果事情真正严重到一定程度,倾尽全力,组织现有代码和工具,可以拼凑起来一个MATLAB。开源软件虽然性能一般,但是能立刻解决有无的问题。   Pefednc

Pefednc

有网友建议,在当前资源的基础上,开发专门针对MATLAB Simulink的产品,做个新时代的仿真建模平台,不求全面只求针对性地解决短缺的问题。Pefednc

当然这个过程里,人才培养和性能优化还需要漫长的时间。但是能够短期内解决有无的问题。Pefednc

3、MATLAB替代不难,只是做的早培养了用户习惯Pefednc

也有读者表示,就好比禁用了Windows系统我们还有Linux一样。Pefednc

读者当中,一位数学教师表示,“我没那么悲观。作为数学专业,虽然我用的是MATLAB,但是我知道我用的很多东西无非是数学,很多我懒得读别人代码就自己看数学原理自己编。他禁用了我明天就可以用Python。而且我的学生基本都用的是Python,开源的。没有大家想象的那么难,只是因为他先做了,培养了用户习惯,所以一直没有后来者。”Pefednc

大家做不出微信替代品不是因为开发不出来程序。是开发出来也没法占领市场,用户已经习惯。很多人说office特别难,但还出现了金山办公。Pefednc

从这个比喻来讲,想开发一个MATLAB不难,但是想培养一样的用户基础占领市场是有很大难度的。Pefednc

国产工程软件路在何方?

归根结底,先不谈能不能替代的问题,这件事敲响了一个警钟,即国产工程软件路在何方?Pefednc

MATLAB的源代码是用三种不同的语言编写的,即C,C + + 和 Java。Pefednc

一位做从C/C++开始做工程软件开发的网友表示,开发本身不难,开发多久难说。Pefednc

他认为,“禁用MATLAB的真实影响是很小的。MATLAB最大的竞争力是已经培育好的用户,很多工科学生读本科的时候就学到怎么用这个软件了。但是,MATLAB并没有掌握不可替代的技术,它的计算方法都是可以参见相关论文,学术界也开发了很多可以具有替代功能的开源工具。此外,MATLAB越开发越臃肿,越来越耗内存。”Pefednc

Pefednc

“工程软件的核心算法大多不是软件公司自己开发的,而是从已有的获得广泛认可的文章中获得的。计算软件公司即使自己开发了一套新的方法,也会发表相应的文章以获得学术界和工业界的认可。”Pefednc

所以,问题不在于开发,而在于一直以来,国产工程软件缺乏市场和用户。Pefednc

相比之下,MATLAB多年来形成的用户生态,已确立了在学术界的地位,研究人员做论文就需要采用它的格式和数据。如要开发新的软件就要兼容,无法从一开始就取代MATLAB,这需要时间。Pefednc

Pefednc

像MATLAB一类商业化很好的工程软件最大竞争力来源于市场和用户Pefednc

原因有二:Pefednc

  1. 工业界一般不喜欢更换新软件,除非新软件有原软件没有的,通常软件的价格并不是主要考虑的因素。在市场已经被国外软件占据的情况下,本土软件再想进入工业界十分困难。
  2. 工业软件的学习成本非常高,用户培养起来比较难。事实上,很多工程软件从大学就已经开始培育用户,一个使用惯了其他软件的工程师也不大会切换到一个新的软件上去。

所以本土开发的软件想进入市场非常困难,新开发软件的用户生态很难在短期内建立。从这个角度讲,国产工程软件才是真正任重道远。有了真正完善的用户生态,才不再惧怕未来的卡脖子。Pefednc

责编:Demi XiaPefednc

(综合整理自知乎、新智元)Pefednc

本文为EDN电子技术设计 原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
广告
热门推荐
广告
广告
EE直播间
在线研讨会
广告
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了