[SciPy-user] Why is SciPy better than Matlab or IDL? ;)

Brian Blais bblais at bryant.edu
Fri Jul 10 16:23:36 EDT 2009


On Jul 10, 2009, at 3:20 , Vincent van Beveren wrote:

> Thanks everyone for your comments. Because of the many responses I  
> can’t reply to everyone personally, but thank you for your input. I  
> have summarised your comments into a list, if you have any  
> corrections, or additions, I would like to hear:
>
> -          Completely Free: No ridiculous licenses or restrictions
> -          Open source:
> o        If there is a bug you can fix it yourself, or ask the  
> community
> o        You can always go back to the source
> -          Stable:
> o        Originally written by commercial company, before released  
> opensource,
> o        The base of EPD (Enthought Python Distribution)
> -          Large user community:
> o        well supported
> o        actively developed
> -          Easy to build arbitrary complex applications (IDL and  
> Matlab make this more difficult)
> -          As a language it:
> o        has many modules out of the box
> o        is very readable, and modular
> o        easy parallel programming
> o        well featured:
> §         has support for many data structures (Lists, Tuples,  
> Sets, Dicts)
> §         Object Orientated (OO in IDL is a pain, Matlab: what  
> objects?)

actually, Matlab has had objects for some time, but it feels very  
tacked-on.

> §         has compact array manipulation notation, functional  
> programming and support for complex numbers

well, so do both IDL and Matlab.

> -          Cross-platform (So is IDL? I don’t know about Matlab)

Matlab is cross platform.

> -          Integration with many different things into a unified  
> interface
> o        has many additional modules which can be installed
> §         HDF5, Numpy, SciPy, Matplotlib (2D plotting), VTK (3D  
> graphics)

much of the functionality of this is already in Matlab (can't speak  
for IDL).  That's actually one of the pains of Python, that you have  
to install a whole lot of 3rd party packages where Matlab, it is all  
there.  The Enthought Python Distribution, and Python XY go a long  
way to solve that, although 3d plotting seems easier in Matlab.


> o        Easy to interface with other languages (Fortran, C, R)
> -          Complete applications for numerical computation build on  
> SciPy freely available:
> o        SAGE
> o        Python XY

I converted from Matlab to Python a few years ago.  Much of it had to  
do with price and convenience (one example of Matlab craziness is the  
license manager, which always went berserk on me and kicked me out of  
my legitimate copy of Matlab).  However, once I switched, there was  
another advantage that hadn't occurred to me.  I could replace all of  
my shell scripts, perl scripts, etc... with python too.  That way, I  
got a lot more fluid with the language with non-scientific apps.  I  
could make a web-based gradebook, and easily manipulate directories  
of images files.  I could parse html files (BeautifulSoup), and many  
other things.  It opened up many more productive applications of the  
language than I had anticipated.

For scientific work, cython is an unbeatable tool for optimizing slow  
pieces of your code.  It's like Matlab cmex files, but infinitely  
more convenient and powerful.  I haven't run Matlab for over a year  
now, and I haven't really missed it.  Off my website, I have a  
presentation for Matlab users wanting to switch to python.  It might  
be useful for you.


				bb

-- 
Brian Blais
bblais at bryant.edu
http://web.bryant.edu/~bblais



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.scipy.org/pipermail/scipy-user/attachments/20090710/91028701/attachment.html>


More information about the SciPy-User mailing list