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. -Rob On Sep 28, 2006, at 12:09 PM, Fernando Perez wrote:
On 9/28/06, Travis Oliphant <oliphant.travis@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@scipy.org http://projects.scipy.org/mailman/listinfo/scipy-user
---- Rob Hetland, Associate Professor Dept. of Oceanography, Texas A&M University http://pong.tamu.edu/~rob phone: 979-458-0096, fax: 979-845-6331