Hi John, You do recompile your code when you switch to a new version of ROOT, don't you? Since the interfaces to the ROOT shared libraries aren't versioned, not recompiling your code exposes your users to an incredible amount of risk. I would hope that the ROOT Team wouldn't even consider that forcing a recompile to accommodate a ROOT upgrade is reason enough to not move to namespaces. Putting each release of ROOT into its own namespace provides a tremendous benefit. It would force you to recompile your code when changing to a different version of ROOT, which is the only safe way to use the ROOT libraries in the absence of versioned interfaces to the libraries. It also documents your code as to which version of ROOT your code depends on. Finally, the compiler and linker (as opposed to the documentation) protect you from incompatibilities. Moving ROOT into a unique namespace for each release of ROOT wouldn't necessarily change the way that you write your code initially. For example, the following two lines in the configuration file for a project are all that would be required to switch to a namespace-enabled version of ROOT: namespace ROOT = ROOT_2_25_03; using namespace ROOT; Nothing else in the user's source code would have to change. I think most users could handle this. Regards, Matt ----- Original Message ----- From: "John Zweizig" <jzweizig@ligo.caltech.edu> To: "Matthew D. Langston" <langston@SLAC.Stanford.EDU> Cc: "Fons Rademakers" <Fons.Rademakers@cern.ch>; "Dr. D. Sideris" <d.sideris@ic.ac.uk>; <roottalk@pcroot.cern.ch> Sent: Tuesday, September 26, 2000 10:05 AM Subject: Re: [ROOT] Root Conflicts with Windows > > > On Tue, 26 Sep 2000, Matthew D. Langston wrote: > > > Why not put each release of ROOT into a separate namespace, i.e. > > > > namespace ROOT_2_25_03 > > { > > ... > > } > > I for one don't want to have to modify and recomile all my code each time > the root version changes. namespace Root would be sufficient. >
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:33 MET