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

Rob Hetland hetland at tamu.edu
Thu Sep 28 13:13:41 CDT 2006

I think everybody on this list is pretty familiar with the pros of  
PyLab (although a good set of arguments in one place is a Good Idea).

Perhaps it would be productive for us to start a discussion of cons  
here on the list, and decide how to mitigate them.  Here I give some  
of my impressions on how the novice might see PyLab.

I am teaching a class on data assimilation this semester, and I have  
decided to use PyLab.  I had used MATLAB  in the past, and I had many  
students who weren't familiar with how it worked and there were  
licensing issues.  Most students could eventually figure out how to  
deal with the language; vectorization is always a tough thing to  
get.  Also, they could purchase a student version of MATLAB for about  
$50 -- not free, but cheaper than many college textbooks.

Using PyLab, I have a different set of issues.  First is  
installation.  I recommended Enthon python to the PC users, and I  
helped the Mac users deal with the various distributions.  Even with  
a number of clickable installer packages, putting python on their  
computers was not straightforward.

Then there is the issue with Python itself.   Python is a more  
powerful language than MATLAB's core programming language, and  
students have a slightly steeper learning curve figuring all of that  
out.  They suddenly have to deal with importing packages, zero-based  
indexing, many different kinds of sequences, methods, and a host of  
other issues.  Additionally, numpy is a more powerful array tool, in  
my opinion, but it is also harder to learn.  In the final analysis,  
students had similar issues working with MATLAB, but my impression is  
that they find MATLAB slightly easier.  Also, many of them come to  
the class with MATLAB experience -- none of them have used python,  
let alone any of the scientific packages, before.  In the long run,  
python is clearly better, but in the short term, I think MATLAB might  
be simpler.

Finally, I think that one of the reasons MATLAB is successful is that  
it includes everything together, in one place.  It does some things  
very poorly, but I was always willing to put up with MATLAB's  
weaknesses to remain within a single environment.  PyLab is starting  
to feel like that, but there are still some pretty clear boundaries  
between the packages, and an almost overwhelming array of choices if  
you want to look for them.  This is good if you are a geek and what  
plotting package X or numeric package Y and you still want everything  
else to work, but bad if you are a novice and just want things to  
work simply and smoothly together.

Thus, the first thing that would improve PyLab usage the most, for  
the majority of people migrating from MATLAB, would be a cohesive,  
easy to install package.  Like Enthon for a wide variety of  
platforms.  I think this is a goal that will could be achived in a  
year or so, given how things are going now.

Also, a good tutorial would be essential.  This would be less  
complete and less formal than actual NumPy documentation, and would  
include information on using all of the PyLab packages together.   
There is a good start to this on the scipy wiki.

Third, I think it is important for all of the packages to work  
together.  This has certainly happened in terms of compilation -- mpl  
and numpy have been released in lockstep so they work together  
despite major changes in numpy.   The Python+NumPy+Scipy+Matplotlib 
+IPython suite seems like a great place to start, and I think more  
could be done to make these tools seem like one seamless superpackage.


On Sep 28, 2006, at 12:09 PM, Fernando Perez wrote:

> On 9/28/06, Travis Oliphant <oliphant.travis at ieee.org> wrote:
>> Hi all,
>> I've started a possibly controversial but hopefully informative page
>> that tries to list some of the advantages of using
>> Python+NumPy+Scipy+Matplotlib+IPython (I'm calling that combination
>> PyLab) versus other array environments.
> Great, I think this is important to have.  For reference, the link is:
> http://www.scipy.org/NumPyProConPage
> Cheers,
> f
> _______________________________________________
> SciPy-user mailing list
> SciPy-user at scipy.org
> http://projects.scipy.org/mailman/listinfo/scipy-user

Rob Hetland, Associate Professor
Dept. of Oceanography, Texas A&M University
phone: 979-458-0096, fax: 979-845-6331

More information about the SciPy-user mailing list