[SciPy-user] Pros and Cons of Python verses other array environments
perry at stsci.edu
Thu Sep 28 20:44:43 CDT 2006
I pretty much agree with Rob's points. Ease of installation and
having all the basic tools packaged together (note, this doesn't mean
everything) is a big deal to many users.
Despite others' comments to the contrary, that Python is more general
than matlab will make it less seamless. Beginners can get confused
over simple things like why math.add doesn't work on an array. The
fact is that most of the rest of the Python world isn't array aware
(and don't care). Matlab or IDL pretty much ensure that everything
integrates with arrays. I don't think this issue will ever go away.
We can minimize it, but we will never (imho) beat matlab in this
respect. On the other hand, we can sell people on the fact that
Python is much more useful for other things so they don't have to
learn some other tool for those.
On Sep 28, 2006, at 2:13 PM, Rob Hetland wrote:
> 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
>> 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
> SciPy-user mailing list
> SciPy-user at scipy.org
More information about the SciPy-user