这个应该主要看使用场景,根据不同的场景选择最合适的工具。
如果是在学术界,例如做数值计算,金融数学分析,那么确实用 Matlab 会好很多。毕竟它的功能强大,很多时候也不需要使用者从零到一写代码,可以让使用者更加专注地停留在算法的思考,功能的整合,论文的撰写上面。更极端一点,如果让科研工作者整天写 C++,处理各种指针问题,将会浪费很多时间,而且也没有这个必要。
如果是在互联网行业,那么估计还是会用 Python 来解决问题的。因为最终的目的是为了能够上线使用,只有一些理论是不足以投入生产环境的。而要投入生产环境,最好的还是用 Python。一来 Python 各种工具包丰富,无论是传统的机器学习,还是近些年很火的深度学习,都有相应的开源工具包。例如 Scikit-Learn,XGBoost,TensorFlow 等。并且有的工具包还提供 C++ 的 API,方便后续上线使用,投入生产。
在 Python 里面,除了 NumPy,SciPy 等数值计算工具之外,还有一个符号计算工具库 SymPy。它适用于各种符号运算,例如加减乘除,导数,积分,微分,矩阵计算,特征值,特征向量,行列式等等。细节可以参考:张戎:用 Python 来研究数学 --- SymPy 符号工具包介绍,如果在工业界的话,估计还是会使用这些大家都会用的工具,然后方便最终的生产上线。不过话说回来,在大多数情况下,数据量不大的时候,Python 这些工具在互联网行业基本上还是能够满足需求的,很少会遇到必须要用 Matlab 的场景。当然其他行业笔者就不了解了,等其他人来做进一步的解释。