Skip to content

Comment on CERN Open Data Portal Demo

Comments

For those of you who actually are interested in digging in, I have to warn you: ROOT is terrible, really terrible.

Yet it gets the job done in a successful way. At least it's a common core for almost all of nuclear and particle physics.

Also PyROOT (http://root.cern.ch/drupal/content/pyroot) or the newer rootpy (http://www.rootpy.org/) really help.

Can you elaborate? I think you mean the ROOT analysis framework, right?

It could have been designed much better. One fantastic example that irked me when I used it is its extensive use of global objects. It's been quite a while so I don't remember the exact details, but I recall trying to open a number of files and having that fail because the global file object wasn't properly changed. And note that this was from an example copied verbatim from the internet. I just did a quick look through my comp and I can't find the stuff I did then, but I really doubt it was something as simple as forgetting to close it or call its destructor.

Perhaps part of the issue is that I'm used to programming with normal C++, so _their_ C++ was hard to get used to. For example ROOT expects you to create objects on the heap--I recall ROOT failing when you tried to allocate objects on the stack. Part of it might just be that, I'm used to fantastic, easy to use and well thought out libs like the STL.

Yes, the API of ROOT really is terrible in many places. A gradual change is the only way to fix it however since any sharp break will only cause fragmentation.

Terrible, but there isn't really anything better...

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.