Re: [Fwd: Re: Wikipedia criticism about root]

From: Christian Holm Christensen <>
Date: Fri, 30 Jun 2006 23:38:56 +0200

Hi Christian et al,

On Fri, 2006-06-30 at 20:45 +0200, cstrato wrote:
> Hi Andy
> Sorrowly, you still do not understand my point regarding CINT :-(
> So let me explain:
> When I realized in 1999 that

> Finally, I found ROOT and was glad to see that it was open source,
> and it fitted my purposes perfectly.

ROOT wasn't truly open source back then. The clause in the older license that forbade distribution of modified source with out explicit consent was the problem. Today, it's LGPL'ed :-)

> Maybe, there is another mistake on your side: ROOT is NOT a program,
> it is a framework which people can use to write small applications

Well, it's a program _and_ a framework. But you are right - if people want a GNUPlot-like interface, they could write one. If people think that the AIDA fileformat should be supported, they could write code for that (I'm sure ROOT would happily include it), and so on. There's nothing that prevents people from contributing extensions or plug-ins.

> So you
> are not forced to use ROOT for everything!

Well, Andy is right in that ROOT can be pretty invasive in an application or framework. The reason for that, at the very root of the ROOT classes: TObject, and the dictionaries.

> However, personally
> I prefer to need to learn only one framwork and not multiple
> frameworks, for this reason I am glad that ROOT has its own
> GUI classes, and I need not have to learn e.g. the QT classes.

I guess Andy's arguing that you could have a better GUI by reusing some specialised libraries like GTK, Qt, Wx, or what not. However, one will do good to remember the state of the Unix desktop back in 1995.

> Finally, a few words on the choice for me (and maybe the ROOT
> developers, too?) to use C++. When ROOT started in 1995, C++ was
> the only choice: Fortran was more or less dead and Java was not
> ready for any professional use.

Fortran, some would say, is still very much alive and kicking (well, mostly kicking :-)

As the machines are getting faster, Java looks more and more attractive - since the additional overhead of the virtual machine is disappearing.

That said, it really doesn't matter what language you use - pick the one best suited for the job. For instance, it would be ridiculous to write proof theory in anything but a functional language like SML or OCAML. Number crunching is best done in a fast language, and modelling is best done in OOP.

Andy's main concern, seems to be that ROOT is using an OOP language in a non-OO way - to some extent he's right (need I mention TH1 and it's Fortrantitis? - historical reasons, I know).

> Although I hate C (C use should be extremely discouraged)

C is cool if you are doing operating systems :-) For OS's it would be hard to use C++ (people have tried).

C (and C++ by inheritance) is an ugly language, and surely Java is much nicer. Just like the Linux is and ugly monolithic block, and Hurd is a beautiful micro-kernel (and the only real one, mind you!). However, C/C++ does the job, as Linux does it. Still, a good reason to discuss possible future directions.

> P.S.: Like you, I do not know what ROOT stands for, so let me
> suggest: "Rene´s Object Oriented Trees", because these trees
> are another ingenous concept (together with the operating
> system independent TFiles)

"ROOT's Object Oriented Technologies" - it's right there at the top of the web-page :-)


 ___  |  Christian Holm Christensen 
  |_| |  -------------------------------------------------------------
    | |  Address: Sankt Hansgade 23, 1. th.  Phone:  (+45) 35 35 96 91
     _|           DK-2200 Copenhagen N       Cell:   (+45) 24 61 85 91
    _|            Denmark                    Office: (+45) 353  25 404
 ____|   Email:               Web:
 | |
Received on Fri Jun 30 2006 - 23:42:08 MEST

This archive was generated by hypermail 2.2.0 : Mon Jan 01 2007 - 16:31:59 MET