![]() | This article is rated Start-class on Wikipedia's
content assessment scale. It is of interest to the following WikiProjects: | |||||||||||||||||||||||
|
The criticism section needs to be edited to correct its neutrality, while retaining the valid aspects of the criticism. Please discuss any changes here. AndyBuckley 13:57, 27 June 2006 (UTC)
The main problem of the criticism section is that it is written by someone who is not using ROOT and ignore the advice http://root.cern.ch/root/roottalk/roottalk06/0787.html
"P.S.: Someone not using ROOT should not write an article on ROOT in Wikipedia!"
Such sort of things must be supported by serious solid published investigation rather by rumors. The Wikipedia article may have provided the correct reference to such investigation later on. Valeri Fine 6 July 2006 12:00 pm EDT
"P.S.: Someone who doesn't like ROOT should not write an article on ROOT in Wikipedia!"
This article, and expanded criticisms, can be found in the RootTalk mailing list archive. There are two threads, starting with http://root.cern.ch/root/roottalk/roottalk06/0763.html and http://root.cern.ch/root/roottalk/roottalk06/0782.html . A threaded view of all posts in 2006 can be found at http://root.cern.ch/root/roottalk/roottalk06/index.html from which you can see all the posts in these threads by searching the page for "Wikipedia".
Other articles relating to ROOT criticism can be found at http://www.insectnation.org/howto/problems-with-root and http://openscientist.lal.in2p3.fr/ AndyBuckley 12:59, 30 June 2006 (UTC) And also here: http://openscientist.lal.in2p3.fr/v15r0/html/osc_hep.html . AndyBuckley 13:45, 30 June 2006 (UTC) Some other observations about Root are available here: http://hrivnac.free.fr/wordpress/?p=5
It's been suggested on the RootTalk mailing list (by a ROOT developer) that the criticism section be entirely removed and only put back with community approval. That seems inappropriate and reeks a bit of censorship, but the tone certainly needs to be changed. Also, the criticism section is rather large compared to the bulk of the article. As it's hard to express the criticisms in a smaller space, perhaps less critical community members should bulk out the main sections and reword the criticism to use more neutral language. AndyBuckley 13:03, 30 June 2006 (UTC)
I respectfully disagree. Anyone w/ a strong C/C++ background, having used (relatively) efficient and well-designed libraries in previous experience (MFC, OpenGL, and God help me, DirectX), will be befuddled by ROOT. The criticisms in this article are all relevant. In fact, I would include ROOT's often dubious and horribly ill-defined memory management as a criticism as well. These are all glaring, and when encountered enormously frustrating, flaws. These are not mere matters of opinion, mind you. They are obvious deficiencies in design that should be addressed in any discussion of what root is (ie, poorly designed and implemented). One thing I would however mention is the ROOT devs make a fairly decent effort at documentation, (very)mildly alleviating some of the 'unexpected' issues that arise. Duluoz
I'm highly disappointed to see the list of accurate, significant, and relavent criticisms where removed from the page, and replaced with a few sentences, essencially stating "Some people don't like ROOT", which is a gross mischaracterzation. Not only does the reek of favortism (as I'm sure some ROOT dev/associate was involved), it's contrary to fact. And it doesn't help matters that I have to time to write this b/c at this moment ROOT is making my work impossible to complete. I will resume a -detailed- expansion of the criticism section soon.
"Others would argue that these are design choices that make it a highly portable, self contained system that provides a comprehensive environment for data storage, analysis and data presentation." The 'Others' refered to here, besides not being referenced or sited, are definatly NOT computer scientists. Duluoz
I see that rather than offer any serious rebuttal to the widely recognized criticisms or ROOT, it has just been effectively removed. This is the standard "you can object, so long as you aren't given any time to offer a serious explanation of your objections" technique.
I think the phrase "to more immediate problems of data analysis" really shows the whole problem. This opinion would be fine, HEP has a long history of writing code that just "gets the job done." but ROOT was marketed as an introduction to object-oriented code. It has turned out to be a very poor introduction indeed, and has created a generation of programmers who think they understand OO but really just understand OO syntax (not even that if they use CINT!) This results in code which is the worst of all worlds: old-fashioned spaghetti code combined with all the extra overhead of pretending to be OO. Fortunately all the extra work ROOT has made for the community will undoubtably lead to more HEP jobs!
Also the whole paragraph arguing that "criticisms are rare" has got to go. If the ROOT developers are writing this, perhaps they should consider that they have a biased sample of user feedback, given that they are, you know, ROOT developers. In my experience, many people who use ROOT at least have vague feelings that it is making their life more difficult then it rightly should. Nearly everyone I know that writes code that other people use feel even more strongly that ROOTs poor design leads to productivity losses. I grant that it is less frequent that someone levels the criticism as succintly and accurately as Andy. -- Savehep 11:46, 14 July 2006 (UTC)
Let me explain again why: most importantly, this is *not* the place to discuss the merits of ROOT. The wikipedia guidelines are quite clear about that ( Neutral point of view, No original research). There are several mailing lists and forums that are intended for discussion of ROOT, requesting new features etc. Indeed I've contributed reasonable amounts of code in ROOT and PAW, I've also contributed to and maintained large pieces of code build on top of ROOT ( PHOBOS software, ANT). In addition, yes I have a strong background in CS too, and worked for Rational Software for a number of years.
What you seem to miss is that software is not like mathematics. A system like ROOT is designed to solve a need. OO techniques are a tool, not a goal. And once a system has grown and is widely adopted the cost of changing things becomes large. So, problems that affect users will still be changed, but changes that are aestatically pleasing are low on te list. Given the completely voluntarily adoption of ROOT by nearly all HEP experiments, Rene and the ROOT team have arguably made good choices. Can things be improved, of course. It would be great if you would use your insights and energy to contribute improvements, that way everyone gains. And if you feel you can make a better system, just start and convince someone to use it. Thats how ROOT started as well :-) MaartenBallintijn 19:19, 10 July 2006 (UTC)
typedef struct {int a, int b, float x, float y} mydata;
//say a prayer that I didn't already use the name "mytree" since ROOT requires me to keep track of scope manually: TTree * tree = new TTree("mytree", "people generally write nonesense or the same thing here all the time"); //now lets add all our data values: //first define our local variables here: int a, b; float x, y; //now add them by hand, don't make a mistake!!! t.Branch("a", &a, "a/I"); t.Branch("b", &b, "b/I"); t.Branch("x", &x, "x/I"); t.Branch("y", &y, "x/F") // oops! I made a mistake! Can you spot it? ROOT won't. Instead, you will be staring at a corrupt data distribution // at some later date. Let's hope you thoroughly tested *every* variable before you launched a long job!!!
More generic than STL? Was this meant as a joke? Or just to make our heads explode? -- Savehep 20:51, 19 July 2006 (UTC)
As a physics undergrad trying to learn how to use ROOT, it would be helpful for information on the different formats (such as TopNtuple) to be listed here. A google search hasn't turned up much, and since I'm just learning it I won't write it, but perhaps a ROOT expert could give some insight.
Apparently, some reasonable points of criticism has been removed by this edit. Could anyone with good English restate it and take back to the article? Several references (maillist threads and articles) have been given above. I'm just a curious Wikipedia reader who wants to read a complete and neutral article about ROOT. 81.5.68.2 ( talk) 11:10, 16 January 2008 (UTC)
The criticisms section was (again?) removed by this edit. I agree with this edit, since the criticisms did not reference reliable sources, and at worst the sources referenced the article itself. If another edit would like to revert this edit, please add a comment to the effect of "Do not remove this section under penalty of catapult," so this doesn't happen again. -- Beefyt ( talk) 21:30, 7 July 2008 (UTC)
It's June 2015, version 6 is out, CINT replaced by cling, what criticisms are still valid? Please kick the new version around. GangofOne ( talk) 03:36, 13 June 2015 (UTC)
Hi, The statement that IceCube uses ROOT is not really true. Early versions of the IceCube simulation and analysis software did use ROOT, but we moved away from it in IceTray (our analysis framework) over a decade ago. Individual analysts may use ROOT for their own work, but it is not part of our framework, and python is more widely used within IceCube for data analysis. I could not find a recent article devoted to IceCube analysis software, but there is some information in https://arxiv.org/pdf/1311.5904.
Spencer Klein LBNL & UC Berkeley — Preceding unsigned comment added by 198.128.215.183 ( talk) 19:25, 21 October 2019 (UTC)
![]() | This article is rated Start-class on Wikipedia's
content assessment scale. It is of interest to the following WikiProjects: | |||||||||||||||||||||||
|
The criticism section needs to be edited to correct its neutrality, while retaining the valid aspects of the criticism. Please discuss any changes here. AndyBuckley 13:57, 27 June 2006 (UTC)
The main problem of the criticism section is that it is written by someone who is not using ROOT and ignore the advice http://root.cern.ch/root/roottalk/roottalk06/0787.html
"P.S.: Someone not using ROOT should not write an article on ROOT in Wikipedia!"
Such sort of things must be supported by serious solid published investigation rather by rumors. The Wikipedia article may have provided the correct reference to such investigation later on. Valeri Fine 6 July 2006 12:00 pm EDT
"P.S.: Someone who doesn't like ROOT should not write an article on ROOT in Wikipedia!"
This article, and expanded criticisms, can be found in the RootTalk mailing list archive. There are two threads, starting with http://root.cern.ch/root/roottalk/roottalk06/0763.html and http://root.cern.ch/root/roottalk/roottalk06/0782.html . A threaded view of all posts in 2006 can be found at http://root.cern.ch/root/roottalk/roottalk06/index.html from which you can see all the posts in these threads by searching the page for "Wikipedia".
Other articles relating to ROOT criticism can be found at http://www.insectnation.org/howto/problems-with-root and http://openscientist.lal.in2p3.fr/ AndyBuckley 12:59, 30 June 2006 (UTC) And also here: http://openscientist.lal.in2p3.fr/v15r0/html/osc_hep.html . AndyBuckley 13:45, 30 June 2006 (UTC) Some other observations about Root are available here: http://hrivnac.free.fr/wordpress/?p=5
It's been suggested on the RootTalk mailing list (by a ROOT developer) that the criticism section be entirely removed and only put back with community approval. That seems inappropriate and reeks a bit of censorship, but the tone certainly needs to be changed. Also, the criticism section is rather large compared to the bulk of the article. As it's hard to express the criticisms in a smaller space, perhaps less critical community members should bulk out the main sections and reword the criticism to use more neutral language. AndyBuckley 13:03, 30 June 2006 (UTC)
I respectfully disagree. Anyone w/ a strong C/C++ background, having used (relatively) efficient and well-designed libraries in previous experience (MFC, OpenGL, and God help me, DirectX), will be befuddled by ROOT. The criticisms in this article are all relevant. In fact, I would include ROOT's often dubious and horribly ill-defined memory management as a criticism as well. These are all glaring, and when encountered enormously frustrating, flaws. These are not mere matters of opinion, mind you. They are obvious deficiencies in design that should be addressed in any discussion of what root is (ie, poorly designed and implemented). One thing I would however mention is the ROOT devs make a fairly decent effort at documentation, (very)mildly alleviating some of the 'unexpected' issues that arise. Duluoz
I'm highly disappointed to see the list of accurate, significant, and relavent criticisms where removed from the page, and replaced with a few sentences, essencially stating "Some people don't like ROOT", which is a gross mischaracterzation. Not only does the reek of favortism (as I'm sure some ROOT dev/associate was involved), it's contrary to fact. And it doesn't help matters that I have to time to write this b/c at this moment ROOT is making my work impossible to complete. I will resume a -detailed- expansion of the criticism section soon.
"Others would argue that these are design choices that make it a highly portable, self contained system that provides a comprehensive environment for data storage, analysis and data presentation." The 'Others' refered to here, besides not being referenced or sited, are definatly NOT computer scientists. Duluoz
I see that rather than offer any serious rebuttal to the widely recognized criticisms or ROOT, it has just been effectively removed. This is the standard "you can object, so long as you aren't given any time to offer a serious explanation of your objections" technique.
I think the phrase "to more immediate problems of data analysis" really shows the whole problem. This opinion would be fine, HEP has a long history of writing code that just "gets the job done." but ROOT was marketed as an introduction to object-oriented code. It has turned out to be a very poor introduction indeed, and has created a generation of programmers who think they understand OO but really just understand OO syntax (not even that if they use CINT!) This results in code which is the worst of all worlds: old-fashioned spaghetti code combined with all the extra overhead of pretending to be OO. Fortunately all the extra work ROOT has made for the community will undoubtably lead to more HEP jobs!
Also the whole paragraph arguing that "criticisms are rare" has got to go. If the ROOT developers are writing this, perhaps they should consider that they have a biased sample of user feedback, given that they are, you know, ROOT developers. In my experience, many people who use ROOT at least have vague feelings that it is making their life more difficult then it rightly should. Nearly everyone I know that writes code that other people use feel even more strongly that ROOTs poor design leads to productivity losses. I grant that it is less frequent that someone levels the criticism as succintly and accurately as Andy. -- Savehep 11:46, 14 July 2006 (UTC)
Let me explain again why: most importantly, this is *not* the place to discuss the merits of ROOT. The wikipedia guidelines are quite clear about that ( Neutral point of view, No original research). There are several mailing lists and forums that are intended for discussion of ROOT, requesting new features etc. Indeed I've contributed reasonable amounts of code in ROOT and PAW, I've also contributed to and maintained large pieces of code build on top of ROOT ( PHOBOS software, ANT). In addition, yes I have a strong background in CS too, and worked for Rational Software for a number of years.
What you seem to miss is that software is not like mathematics. A system like ROOT is designed to solve a need. OO techniques are a tool, not a goal. And once a system has grown and is widely adopted the cost of changing things becomes large. So, problems that affect users will still be changed, but changes that are aestatically pleasing are low on te list. Given the completely voluntarily adoption of ROOT by nearly all HEP experiments, Rene and the ROOT team have arguably made good choices. Can things be improved, of course. It would be great if you would use your insights and energy to contribute improvements, that way everyone gains. And if you feel you can make a better system, just start and convince someone to use it. Thats how ROOT started as well :-) MaartenBallintijn 19:19, 10 July 2006 (UTC)
typedef struct {int a, int b, float x, float y} mydata;
//say a prayer that I didn't already use the name "mytree" since ROOT requires me to keep track of scope manually: TTree * tree = new TTree("mytree", "people generally write nonesense or the same thing here all the time"); //now lets add all our data values: //first define our local variables here: int a, b; float x, y; //now add them by hand, don't make a mistake!!! t.Branch("a", &a, "a/I"); t.Branch("b", &b, "b/I"); t.Branch("x", &x, "x/I"); t.Branch("y", &y, "x/F") // oops! I made a mistake! Can you spot it? ROOT won't. Instead, you will be staring at a corrupt data distribution // at some later date. Let's hope you thoroughly tested *every* variable before you launched a long job!!!
More generic than STL? Was this meant as a joke? Or just to make our heads explode? -- Savehep 20:51, 19 July 2006 (UTC)
As a physics undergrad trying to learn how to use ROOT, it would be helpful for information on the different formats (such as TopNtuple) to be listed here. A google search hasn't turned up much, and since I'm just learning it I won't write it, but perhaps a ROOT expert could give some insight.
Apparently, some reasonable points of criticism has been removed by this edit. Could anyone with good English restate it and take back to the article? Several references (maillist threads and articles) have been given above. I'm just a curious Wikipedia reader who wants to read a complete and neutral article about ROOT. 81.5.68.2 ( talk) 11:10, 16 January 2008 (UTC)
The criticisms section was (again?) removed by this edit. I agree with this edit, since the criticisms did not reference reliable sources, and at worst the sources referenced the article itself. If another edit would like to revert this edit, please add a comment to the effect of "Do not remove this section under penalty of catapult," so this doesn't happen again. -- Beefyt ( talk) 21:30, 7 July 2008 (UTC)
It's June 2015, version 6 is out, CINT replaced by cling, what criticisms are still valid? Please kick the new version around. GangofOne ( talk) 03:36, 13 June 2015 (UTC)
Hi, The statement that IceCube uses ROOT is not really true. Early versions of the IceCube simulation and analysis software did use ROOT, but we moved away from it in IceTray (our analysis framework) over a decade ago. Individual analysts may use ROOT for their own work, but it is not part of our framework, and python is more widely used within IceCube for data analysis. I could not find a recent article devoted to IceCube analysis software, but there is some information in https://arxiv.org/pdf/1311.5904.
Spencer Klein LBNL & UC Berkeley — Preceding unsigned comment added by 198.128.215.183 ( talk) 19:25, 21 October 2019 (UTC)