I am sorry, but I cannot resist to make some personal comments:
One of the many advantages of ROOT was that you could compile it on most compilers, even on the notoriously non-conformant, non-standard VC++ compilers. The reason was, that ROOT used only a standard subset of C++ w/o using the more exotic features such as templates, name spaces, va_arg(), etc. In addition, this made the code easily readable.
Templates:
When I started using C++ around 1992 most compilers could not
handle templates. According to an article in the professional
German computer magazine ct, the use of templates is still
problematic today. (If I remember correctly, the developers of
Java decided against the implementation of templates because of
the problems.)
ROOT has implemented most STL classes and Rene did show that
the implementation of ROOT is faster than the corresponding
STL implementation.
Sorrowly, today it seems that "real C++ programmers use templates",
and even the ROOT code now contains templates.
Name spaces:
Can someone tell me what is the advantage of defining TMath as namespace?
va_arg():
This feature is a good example that using a more exotic feature
breaks the code on a platform: For a long time I could not use
this feature on the Mac because of limitations of CINT.
Luckily, it seems that this issue is now solved.
static_cast, dynamic_cast, etc:
Can someone tell me why I should use this feature?
(to make type cast type safe)
In C/C++ the sort form was short, elegant and readable:
int a = (int)x
Now the code looks ugly and is not very readable:
int a = static_cast<int>(x)
The recent announcement that ROOT will merge with SEAL (for whatever reasons) lets me wonder, how many platforms and compilers will be left, where ROOT can be compiled and used in the future?
Best regards
Christian
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- C.h.r.i.s.t.i.a.n. .S.t.r.a.t.o.w.a V.i.e.n.n.a. .A.u.s.t.r.i.a -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
Rene Brun wrote:
> Eric, > > VC++6 was a non-conformant C++ compiler. In particular support for > templates was problematic and making our life more and more difficult. > VC++7.1 is fully C++ compliant and available since more than one year. > This will be the only supported compiler under Windows. > > Rene Brun > > On > Wed, > 11 May 2005, ANCIANT E. wrote: > >
> > > >Received on Wed May 11 2005 - 22:56:39 MEST
This archive was generated by hypermail 2.2.0 : Tue Jan 02 2007 - 14:45:07 MET