[SciPy-user] Pros and Cons of Python verses other array environments
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
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:
> SciPy-user mailing list
> SciPy-user at scipy.org
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