[SciPy-user] python (against java) advocacy for scientific projects
Mon Jan 19 02:01:02 CST 2009
Could you suggest links justifying the use of python instead of java
for a scientific project?
I work for a R&D departemnt of a large company. We develop
mathematical models, some of them in python.
For a new project one manager suggested me to use java instead of
python. He says that python has performance problems. (It is true that
we had performance problems in one of our python project done by a
colleague but the code was written without paying attention to that
So I am collecting links supporting the choice of python.
It is open for anonymous edit, so please add what you want. But if you
prefer, answer me by email and I edit the site myself.
What I would like to add:
1) I am already satisfied with what I collected for the python x java
comparison. It shouldn't be too long, otherwise managers don't read.
But if you have a link with an impressive new argument/case study
2) Comparison with java specifically for scientific computing. I would
like to have links of two kinds.
- giving reasons:
- giving evidence, i.e. advanced projects which use python (pytables, pyro)
Also I would like to have link confirming/supporting impressions that I have:
a) for a new scientific project there is no reason to prefer java
b) if someone opts for java it is because they don't know python or
need a very specific library which does not exist in python (but there
is no such library for scientific computing)
c) the quantity of new advanced java projects in scientific
computing is very small (how can we show that?)
d) the important scientific computing projects in java started more
than 5 years ago
I will also make a list of scientific resources: scipy, numpy, etc.
3) On the issue of performance
- why exactly can we say that speed limiation of python is *not* a
problem to use it for high performance computing?
- argument to be developed/supported:
- pure java loop can often beat a pure python loop, but a pure C
loop also beats a pure java loop. So if we need high performance loops
we need to use C/C++ routines (or numpy, or pyrex) anyway and it is
much better/easier to do the interface in python than in java.
If there is a better place where the community prefers to host this
kind of information, please tell me.
More information about the SciPy-user