
Python in the Scientific World - fogus
http://neopythonic.blogspot.com/2009/11/python-in-scientific-world.html
======
SandB0x
I would be incredibly happy if we were taught in Python or anything other than
the hideous monster that is Matlab on my MSc course. After using Ruby and
Python it's rather painful to use such a clunky environment.

~~~
buugs
I am curious as to why you would hate matlab so much other than the
clunkyness. EDIT: And of course cost/openness

Matlab works very well for many disciplines and the shear amount of
documentation make it very easy to use for people who aren't really
programmers. My main peeve with matlab is that to write a function it is
required to make a separate file however most problems that are solved with
matlab don't really need functions in the first place.

SciPy/NumPy and matplotlib can be nice to use but if I need to get an
engineering problem done quickly I can find functions that I need much quicker
in matlab and the matrix as the central object is very helpful.

~~~
SandB0x
Yes, the closed system is a big thing. Anything interesting I may create will
have to be re-written in another language if I want to extend/share with
others. While it's not reasonable to use something like c to test out
(computer vision in this case) algorithms in practical classes, Python is both
simple and open.

The problem of having many possible combinations as mentioned by lliiffee
doesn't seem like much of a big deal. Surely a faculty could just specify
their recommended setup?

~~~
lliiffee
Sure, you can _specify_ it. Specifying is no problem!

------
elblanco
It's really amazing to see how _something_ is finally starting to supplant
ancient Fortran code in sci-comp.

I think one of the major reasons for Python being that choice is that its
syntax and "Python way of doing things" is really geared at making it
difficult to obfuscate the code into meaninglessness. Clarity is always
important in research.

~~~
Avshalom
sorta kinda, but not really, python isn't supplanting fortran, it's
supplanting Matlab/IDL for prototyping and visualization, and half-baked
command languages for interfacing with packages of data reduction routines.
Which is still nice, especially things like (to take astronomy) AIPS/IRAF,
specialized packages of routines that are controlled by the worst command
language possible.

~~~
ajdecon
Also note that the code at the core of packages like numpy is often still
written in Fortran or C. For example, I'm pretty sure all the linear algebra
processing in numpy is handled by the popular LAPACK written in Fortran. Note
that software like Matlab and IDL _also_ generally uses these well-understood
packages.

Fortran isn't going anywhere, we're just hiding it in the background.

~~~
gaius
Everyone uses LAPACK. If you came along with your own versions of those
routines, no-one would would trust them. LAPACK et al are the most optimized,
most debugged code on the planet. Hardware vendors design around LAPACK. It's
incredibly important.

Also check out Sage: <http://www.sagemath.org/>

~~~
adw
Yep. The Intel F9x compiler smokes everything - at least in part because its
versions of LAPACK/BLAS/ATLAS are so aggressively optimized.

------
garnet7
My guess is that scientific computation is a lot of fun. Plenty of clean
mathematics. Probably not too much dingy boiler room stuff. I can see how one
would be attracted to using languages like Python (and maybe Scheme too) for
such tasks.

~~~
scott_s
There is lots and lots of "dingy boiler room stuff" in scientific computing.
What the math is doing is clean. Doing that as efficiently as possible in a
computer is generally not.

~~~
easp
And there is all the data handling/mangling that needs to be done.

