Hacker News new | past | comments | ask | show | jobs | submit login

I second that. The aim of root is certainly good. But the implementation of that idea, especially the overall design, is absolutely awful. It's understandable, it has grown over a long time and was written by physics experts, not software design experts. People who where used to Fortran and paw. The actual code implementation is bad but not hopelessly so. The interface is broken and because so many people are used to it, it will be hard to replace with anything new.

For Mainz experiment, we have or own code base. Not pretty, but because it's a lot more specialist, less confusing. I am working now on OLYMPUS, and we are using ROOT for that. I created a Framework for the analysis based on ROOT, trying to hide the most problematic areas and making it easier for use by the other collaboration members. Also trying to make them write programs, not ROOT macros. Every time I look up a new feature, I'm surprised that they managed to find a non standard way of doing it. My pet peeve? TH1D is a 1-d historgram class. What does TH1D.Clear do?

Wrong! It clears the histogram title and name, not the histogram itself. For that, you need Reset. It makes kind of sense if you know the class hierarchy, TNamed and all. But who remembers that? I saw this mistake in the wild a lot.

Protip: Gnuplot. While also a little bit arcane in its command language, it's for me the best tool to produce paper-ready plots. With the tikz terminal you can include it in your Latex flow, and with some Makefile trickery you can have e.g. \cites resolve correctly in plot labels. With numbering correctly reflecting the position of the plot in the paper!




(Can't reply to the child post)

Lol! It's Jan. The world is small.


Jan or Jurgen? I was on shift just before Christmas...read my username on here backwards ;-)




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: