ROOT – Data Analysis Framework
root.cern.ch
ROOT – Data Analysis Framework
1–10 of 34 posts
Re: ROOT – Data Analysis Framework
#2Re: ROOT – Data Analysis Framework
#3An HN post on software I actually use ;) Those of us in the particle physics world use ROOT quite often. ROOT is pretty old (for me at least, started in the mid 90's) The most recent version (ROOT 6) is a great step forward for modern C++ use. It's very far down the line, but the experimental ROOT 7 code I've seen is even better.
Re: ROOT – Data Analysis Framework
#4There's better options. Don't use it unless you are in HEP.
Re: ROOT – Data Analysis Framework
#5An HN post on software I actually use ;) Those of us in the particle physics world use ROOT quite often. ROOT is pretty old (for me at least, started in the mid 90's) The most recent version (ROOT 6) is a great step forward for modern C++ use. It's very far down the line, but the experimental ROOT 7 code I've seen is even better.
Glad to hear it's getting better. I've heard not-so-nice things in the past
Then since ROOT violates three basic principles of OO (encapsulation, inheritance, virtuality) we are compelled to conclude that ROOT can't be considered as an OO software. ROOT is a bright example of people having jump to C++ but missed totally the point of OO. At least it will probably stay in the history of software because of that.
What could be the improvements in a ROOT major revision ?
o at least fix the name ! Is it ROOT, Root, root ? (Hell, we are pretty sure that any Bazaar model software have at least converged on that !)
o have then a correct namespacing of classes and libs.
o restore encapsulation (then get rid of the g pointers).
o revisit the inheritances. At least have a good histogram class. And arrange the storage area to be stable (then "fix" the TTree). And please, have an introspection class that looks like an introspection class.
o use pure abstract interfaces to separate domains. And stick strongly to the idea to have them pure.
o etc, etc, etc, etc, etc, etc, etc, etc, etc, etc,...
http://openscientist.lal.in2p3.fr/osc_web_16.11/html/faq.htm...
Before beginning, I should point out that these are simply my own views and that I hold no animosity against the developers — their design simply doesn't work for me. Presumably there are many people "out there" who think ROOT an excellent piece of software. In complete honesty, though, I have yet to meet any of them. In fact, I've never had any complaints that this article mis-represents ROOT, and I've had a fair bit of "fan mail", not mention discussions with well-respected developers and physicists who hold precisely the same views :-)
http://insectnation.org/articles/problems-with-root.html
Re: ROOT – Data Analysis Framework
#6Earlier quoted context omitted.
Glad to hear it's getting better. I've heard not-so-nice things in the past
ROOT can't be said to be OO because it breaks the encapsulation in the guts. There is a massive usage of "g" global pointers : gROOT, gDirectory, gTree, gEnv, gSystem, gPad, etc... Around one hundred in v5-18-00, a disaster. And this definitely breaks the fundamental OO principle of encapsulation. Then since ROOT violates three basic principles of OO (encapsulation, inheritance, virtuality) we are compelled to conclu…
It was okay for a time, but that's time has long passed.
Re: ROOT – Data Analysis Framework
#7There is quite a lot I could say about ROOT, ROOT files, CINT, but I won't. There's better options. Don't use it unless you are in HEP.
Re: ROOT – Data Analysis Framework
#8Earlier quoted context omitted.
ROOT can't be said to be OO because it breaks the encapsulation in the guts. There is a massive usage of "g" global pointers : gROOT, gDirectory, gTree, gEnv, gSystem, gPad, etc... Around one hundred in v5-18-00, a disaster. And this definitely breaks the fundamental OO principle of encapsulation. Then since ROOT violates three basic principles of OO (encapsulation, inheritance, virtuality) we are compelled to conclu…
ROOT was the product of Fons and Rene porting PAW from Fortran, learning C++, OO, flirting with Taligent coding styles, and a bunch of other things all at the same time. It was okay for a time, but that's time has long passed.
Re: ROOT – Data Analysis Framework
#9Re: ROOT – Data Analysis Framework
#10Earlier quoted context omitted.
ROOT was the product of Fons and Rene porting PAW from Fortran, learning C++, OO, flirting with Taligent coding styles, and a bunch of other things all at the same time. It was okay for a time, but that's time has long passed.
Next, someone will be posting SuperMongo http://www.astro.princeton.edu/~rhl/sm/