[SciPy-user] python (against java) advocacy for scientific projects

Daniele Nicolodi daniele at grinta.net
Tue Jan 20 17:58:23 EST 2009


Sturla Molden wrote:

> CERN ROOT is interesting though. It has a Python front end, and is LGPL
> licensed. For those who don't know, ROOT is a data analysis framework
> written for LHC (the new Doomsday machine), do deal with the enormous data
> sets it generates (I've heard it is about ~10 terabytes per run). But ROOT
> can be of general interest to scientists outside CERN as well.
> http://root.cern.ch/

I had a short exposition to ROOT codebase some years ago. While I 
recognise that the project reached probably its goals, despite those 
were is quite ambitious, the quality of the API and of the code is far 
from being perfect.

The project suffers a lot from the choice of being developped in C++. At 
the time when it was started C++ and its standard library was from being 
standard on different compilers and platforms. For this reason there are 
a lot of weels that has been re-engineered in ROOT.

Judging from the outside I think that at the time the project started 
the only reason to use C++ where that it was the language chosen for 
teaching at university level courses. Using C++ it was possible to hire 
fairly inexpensive PhD students for the development...

ROOT uses a C++ interpreter to offer something similar to ipythin or 
matlab console. It is simply a nightmer to work with it. And personaly I 
think that the quality of C++ data analysis routines a physician can 
write in hurry while working on an interesting experiment is probably 
the worst code you can find (and I can tell that being among the ones 
that wrote that kind of code...).

Cheers.
-- 
Daniele



More information about the SciPy-User mailing list