[SciPy-user] Pros and Cons of Python verses other array environments

David Cournapeau david at ar.media.kyoto-u.ac.jp
Fri Sep 29 02:58:48 CDT 2006


Bill Baxter wrote:
> The numpy for matlab users page
> ( http://www.scipy.org/NumPy_for_Matlab_Users )
> also list a number of pros and cons.
>
> So far, I find the biggest cons to numpy to be
> 1) integration of plotting is not as good as matlab.  You have to be
> careful about calling "show()" in matplotlib because of event-loop
> integration issues.  Also no good 3D plotting solution.  MayaVi is
> supposed to be good, but it would be better if it were all just built
> into matplotlib.
> 2) integration of debugging is not as good as matlab.  In matlab when
> you stop at a breakpoint in your code, you get an interactive console
> where you can probe current values in your program, or create new ones
> etc.  The Wing IDE has this, but I couldn't find any open source IDEs
> that did this.
>
>   
Concerning point 1, matplotlib is better than matlab for some things, 
but much worse for other (it can also be that I am just clueless). For 
example, interactive plot is not great with matplotlib (zoom and so), 
and much slower for redrawing (but I think this is a consequence of the 
flexibility of matplotlib).

As Someone said it before, matlab makes it easier for beginners; but 
once you hit the wall, you hit it very hard :) I am using scipy for a 
few months now, after several years of matlab which I consider myself at 
least moderately knowledgeable about, and there is no coming back for 
me. After 2 weeks, I was more or less as efficient in numpy as I was in 
matlab

The things I consider much better in matlab are:

 - interactive plots
 - profiling -> this is the thing I am missing the most. If one of my 
module is slow, I find it really hard to find where the problems are 
compared to matlab.
 - size of community: in machine learning and signal processing, matlab 
is kind of pervasive. In machine learning, particularly, you have tons 
of software available on the internet for free.

Something nobody has mentioned before for pros for numpy is integration 
with C code: this is really clumsy in matlab, and it works great with 
python (ctypes, swig, boost, pyrex are all great tools for that, 
depending on what you want to do).

David


More information about the SciPy-user mailing list