Matlab的消亡:用户是怎么从matlab转到python的?

猿友 2021-06-08 11:46:59 浏览数 (3152)
反馈

matlab是什么?它是一个软件,也是一门语言。20世纪七十年代,cleve moler 为了减轻学生编程的负担,使用 Fortran 编写了最早的 matlab 软件。这款 matlab 软件使用一种全新的语言,使用这种语言能够简单的进行程序的编写以达到数据分析、工程制图、信号处理、算法编写、科学计算等功能。正因为它在数学类科技应用的软件中的数值计算方面首屈一指,因此它也被称为三大数学软件之一。


因为 matlab 在1984年被 mathworks 公司正式推向市场,而且这个软件的确好用,所以该软件迅速在市场上传开了。到20世纪90年代的时候,matlab 已经成为国际控制界的标准计算软件。

 

到这里,matlab 还是顺风顺水,直到另一门语言的出现,matlab 才出现了下滑的趋势。没错,这么语言就是接下来的主角——python。

python

1989年的一个圣诞节,Guido Van Rossum 为了打发时间,设计出了 python 这门语言。为了避免其步 ABC 语言的后尘,Guido 决定对其进行开源。由于其简单易学易用的特性,python 很快就火了起来,同时因为其开源的特点,很多开发者也喜欢将自己写的第三方库进行开源。因此 python 的社区具有良好的生态,很多可能被重复设计的代码被避免了。


讲到这里,还是没讲 python 是如何和 matlab 进行竞争的。其实,matlab 跟 python 竞争起来的原因,其实是因为开源的第三方库。简单的来说,matlab 这个软件它一开始就被商业化了,商业化的软件最终目的都是为了赚钱。而 python 它一开始就是开源,所以不存在盈利。使用者在选择使用 matlab 的时候需要向 mathworks 公司支付一笔授权的费用(而且该软件价格不菲),而如果使用 python 的话,这笔费用就省去了。


然后问题的关键在于第三方库。python 本身的自带的库并没有什么特殊之处,但它可以导入很多第三方库,其中有很多库都可以用来做科学计算。除了 matlab 的一些专业性很强的工具箱还无法被替代之外,matlab 的大部分常用功能都可以在 python 社区中找到相应的第三方库。而且有很多开源的科学计算库也都提供了 python 的调用接口。虽然在数值计算速度方面可能相比于 matlab 还有一定差距,不过这并不影响使用。


另外,开源的第三方库的维护,是由整个社区进行维护的,而 matlab 的工具维护是由一个公司维护的。由于公司的特殊性质,你永远无法知道这家公司能不能永远稳定的为你提供维护。


还有一部分原因是,有些用户其实只需要部分功能,使用 python 可以简单快速地搭配出自己的环境,而 matlab 则需要下载十几个G的安装包到本地。捆绑式的环境让需要自由组合功能的用户感到不适(就像你只需要一把水果刀,结果却需要买一整个厨房的用具一样)。


另外,虽然数学分析在其他方面的开发需求较低,但是当涉及到界面设计,网络分析,文件管理等需求的时候,matlab 并不易用。反观 python,使用丰富的拓展库可以实现完整应用所需的各种功能。而且作为一门易用的编程语言,python 的代码逻辑和风格使得其更容易进行维护。


正因为以上原因,现在的科研以及数学分析的时候,更多的会选择免费的 python 而不是选择更优秀一点的matlab。

编程排行榜

TIOBE指数:2021年6月全球编程语言排行榜,Python直逼第一

如以上链接所指文章数据所示,更多的开发者选择了 python,matlab则排在第19名。

不过虽然 matlab 的市场被 python 一步步蚕食,但有一块市场还是 python 无法撼动的,那就是 matlab+simulink。它在数十年内,在工业设计领域的地位还是无可撼动的,而且有些老的 matlab 项目也需要使用 matlab 语言来进行维护,所以 matlab 还有存在的价值。

 

以上就是关于 matlab 的用户转到 python 的原因介绍,如果说 python 和 matlab 哪个更值得学的话。其实两个都很值得学,但是小编更鼓励 matlab 程序员能转到 python 这边来。

更多 python在线微课,尽在 W3Cschool。


0 人点赞