我最近一直在考虑转向Python编程语言。目前,Matlab 是我所在部门用于快速开发和代码原型设计的首选语言。它在这方面非常擅长,但 Mathworks(生产 Matlab 的公司)一直在修改许可条款,导致了不应该存在的麻烦。
我发现 python+numpy+scipy+matplotlib+IPython+[随机 sci/numerical 包] 几乎完全替代了 matlab。肯定缺少一些软件包,所以如果有一套专门的工具在 matlab 中可用但在 python 中不可用,这可能是一个问题,但除此之外,我没有回头。
我将提到 python 相对于 matlab 的几个明显优势
- 真正的编程语言,而不是通过数字包来破解语言(numpy 来到了 python,而不是相反)。与 Matlab 相比,管理大型 Python 项目完全是一种乐趣。有多少种不同的 oop 系统被混入 matlab 中?
- 完全免费且便携。我可以在几乎任何机器上使用 python,而不会出现许可问题。从我的角度来看,这是最大的优势。
- 使用 SWIG、Cython、f2py 等在 C、C++、Fortran 中包装其他库相当简单,而 mex 文件则很丑陋
- Cython 用于加速慢速代码(尽管我发现 numpy 几乎与 matlab 一样快)
- mpi4py 与我必须从 matlab 购买才能运行并行应用程序的其他一些软件包
就我个人而言,我在很多工作中都使用 Enthought Python 发行版,因为它打包了所有内容,并且对学术界的个人免费。我也从头开始构建了 python 及其所有库和模块。模块管理可能是 python 中最大的弱点,但是有一些很好的东西可以帮助解决这个问题,比如virtualenv
and pip
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)