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