RE: Displaying graphs before main() returns

From: Fine, Valeri <fine_at_bnl.gov>
Date: Wed, 31 May 2006 15:03:44 -0400


Hello Roland,

>
> Hi Valeri!
>
> On 31 May 2006, at 19:33, Fine, Valeri wrote:
>
> > Hello Roland
> >
> > May I comment one thing?
> >
> > You wrote:
> >
> >> This is no longer true in case of a script because it depends on
the
> >> internal state of the CINT.
> >
> > It seems to me you suppose that making your own so-called "stand-
> > alone"
> > application linked against of ROOT libraries you get rid of the
> > "internal state of CINT"
> >
> > All your conclusions are based on this hypothesis.
> >

> Not the ones about debug-ability.

May be , but ...

As soon as the debug-ability is concern I do not see any big difference between ROOT that loads some custom shared library and the custom C++ application that loads another custom shared library, do you?

I think the comparison of the ROOT running C++ script and C++ application is not correct one.

One should compare ROOT loading the pre-compiled shared library with the simplest script if any and C++ application loading the third party shared library

I think the difference would have been subtle.  

> > However, it is not correct. Many ROOT classes do use the CINT
> > internally
> > (the best example is the ROOT Signal / Slot communication).
> >
> > In other words, your proof of the advantages of the stand-alone
> > ROOT-based applications is based on false premises.
> >
> > Assuming the "internal state of CINT" does exist one may have
conclude
> > that making his own "stand alone" application doesn't eliminate it
at
> > all.
> >
> Your statement is theoretically correct, I should have phrased mine
> differently. In an interactive session all previously entered
> commands can potentially influence the running analysis script, thus
> the result of the analysis could depend on what the user did before
> running the script. Of course, if the script is 100% bug free and the
> programmer has taken the CINT environment into account, there should
> be no interference. The problem could also be avoided by always
> running the analysis script in a fresh root session. But mistakes
> happen. And this kind of mistake is not possible with an application
> that does not offer the command line prompt.

>
> This argument is not hypothetical but based on personal experience.
>

Hmm. I do not understand.
If one does not want any ROOT prompt he/she should not ask for that prompt.     

    root.exe -b -q mymacro.C

> > Therefore, one is advised to use CINT interpreter as the tool to
> > prototype the application and ACLiC to use it in "production" mode.
> >
> Interpreter and ACLiC certainly are very useful tools, but not the
> only ones.

Sure !!!
However, to avoid misleading conclusion and time lost one should use the correct premiss.

The presuppositions:

  1. Stand-alone ROOT-based code doesn't use CINT
  2. One can not avoid ROOT prompt

are not correct ones.

   3. debugging the ROOT-based code needs a lot patience and qualification

   4. debugging the more/less complex CINT script is near impossible

are correct one.

Anyway, I do not think the 1 & 2 are cause of 3 & 4.   

  Have a nice day.

                            Valeri

>
> Ciao,
> Roland
>
> --
> TU Muenchen, Physik-Department E18, James-Franck-Str., 85748 Garching
> Telefon 089/289-12575; Telefax 089/289-12570
> --
> CERN office: 892-1-D23 phone: +41 22 7676540 mobile: +41 76 487 4482
> --
> UNIX was not designed to stop you from doing stupid things, because
that
> would also stop you from doing clever things.
> -Doug Gwyn
> -----BEGIN GEEK CODE BLOCK-----
> Version: 3.12
> GS/CS/M/MU d-(++) s:+ a-> C+++ UL++++ P+++ L+++ E(+) W+ !N K- w--- M
> + !V Y+
> PGP++ t+(++) 5 R+ tv-- b+ DI++ e+++>++++ h---- y+++
> ------END GEEK CODE BLOCK------
>
>
>
Received on Wed May 31 2006 - 21:04:54 MEST

This archive was generated by hypermail 2.2.0 : Mon Jan 01 2007 - 16:31:58 MET