Hi all,
The discussions have steadily increased in scope, so let's go back
to some of the initial points. To add, I am just a ROOT user (was a
PAW and HBOOK one as well), know both the strong sides and limitations,
and have developed code on top of ROOT without major problems.
- Regardless of what you think of Andy's criticisms, the wikipedia
page right now is not balanced: the info about ROOT is squeezed to less
than 50 % of the page?!
- Let's not forget the users. ROOT provides a one-stop, easy to
install/port package, that does a lot. Many users don't want/need
beautifully designed, but "lean" frameworks, where you are mostly left
with do-it-yourself (and you need the plots for the conference in
two days).
- ROOT was developed in an extreme programming style with frequent
releases and tons of user feedback (as this list is a witness), so
it does many things that people have asked for.
Now to the criticisms. Some of them are really matter of taste,
I don't believe there is a one size fits all solution:
- object oriented design issues: I personally like the original
ROOT design (TObject as base class), and as the success of JAVA
shows this is a viable design methodology
- monolithic design: yes (was true already for HBOOK), but this
gives speed, and makes life simpler for many users; I know,
developers will ALWAYS complain about this
- re-invention: yes, if you love templates; in ROOT you can do a
lot without them ;->
<aside> I really prefer languages like PYTHON where e.g.
writing a factory is a two-line affair instead of major
undertaking as in strongly typed languages like C++; in that sense
ROOT's design was quite refreshing for a baroque language
</aside>
- CINT interpreter: probably I am not alone starting often by
playing on the command line and converting my trials and errors
to C++ scripts later; the C-style syntax is not ideal (e.g. kumacs
were more concise BUT a separate language), still CINT and ACLIC
produce useful code FAST;
when I was first exposed to JAS, my first question was about
the command line, and learned that I have to start by writing
code - for me this was a show-stopper.
To summarize, staying close to users has given ROOT its
strongest sides, I think the features (criticisms) listed here
actually work quite well for many people.
Best, Dimitri
--
_/_/_/ _/_/_/
_/ _/ Dimitri BOURILKOV _/ _/
_/ _/ University of Florida _/_/_/
_/ _/ bourilkov_at_phys.ufl.edu _/ _/
_/_/_/ _/_/_/
Received on Sat Jul 01 2006 - 02:49:53 MEST