Numpy的确很强,但其实也没那么强。Numpy本身最主要也就是更底层numerical
libraries的wrapper而已。即使用C++/C/Fortran做数值计算,也是用同样的包,所以
单核计算Numpy不会比那些语言慢。而且,conda上的numpy自带intel mkl,理论上是比
没有mkl的C++/C/Fortran快。但问题是真正有用的问题都是非线性的,需要loop或
recursion,这一点Python就跪了。而且,做大型计算的都是多核多节点的,特别现在
单节点的核数越来越多,openmp或多线程越来越重要,但这一点Python却很无力。
另外,Matlab原本的Linux免费版对手是Octave,但Python是full fledged语言,比
Matlab和Octave方便多了。
其实每种语言都有自己的优点,Python用来做简单的测试或proof-of-concept是挺不错
的。做简单的数值计算也不错。感觉版上喷Python的主要是没有精通Python或被迫用
Python做不对的项目。