On 5 Mar 1999, Masaharu Goto wrote: [...] > Major part of the problem comes from the fact that "you have choosen C++ > and OO". No matter what the tool environment will be, you will live in a > fragile world. This is a logical consequence. [...] Hello everyone, I still have the feeling, that the major part of the `crash problem' is on the ROOT part in the CINT/ROOT combination. It seems to have little to do with OO, but with bookkeeping. ROOT adds its `Named' concept on top of the C++ idea of object identity. I would say it breaks the OO encapsulation concept, although it might be be a good feature for interactive work. It can lead to inconsistencies, since objects can be overwritten although they should not be `visible' in the usual C++ sense (just think of file->Get("histogram")). Maybe it would help, if CINT would adjust its own list of object names with ROOT's list. (It could then also get the correct type of TObject derived objects.) I understand that this would be a severe change. One other favourite problem is, that wrong pointers or non-existing objects can be drawn onto pads (and then painted) or that attribute windows of short-lived objects remain (e.g. from TTree::Draw("x")). One could think of magic-number mechanisms or destructors which work more robustly together with ROOT's object bookkeeping. Kind regards Christoph
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:30 MET