Re: RE : VC++6.0 and 7.0 are not supported anymore from ROOT4-04-2 or newer

From: Rene Brun <brun_at_pcroot.cern.ch>
Date: Thu, 12 May 2005 07:52:01 +0200 (MEST)


Hi Christian,

I understand some of your points. Myself, I am not a fan of the "modern" cast syntax because, as you say, it makes the code opaque to most readers and the pretext that you have more type safety is just an illusion.
I also agree with you that exposing a templated interface to users is not good , or at least premature. However, I don't think that we can go away from the general trend with C++. We have started using templates internally where we believe that we have more to gain than to loose. We are not in 1992! compilers have evolved to support the current C++ standard. It would be a mistake to restrict ROOT to a subset of C++ in the future. Young programers could not understand! In this move, it is not our intention to destroy what we have, even if sometime we have to make compromises with different cultures.
I believe that the recent merge of SEAL with ROOT was essential. Users will see the benefits in the coming months. I am on the floor since long enough to be extremely cautious on all facets of software development. I was very pleased to see that our recent workshop between CINT and Reflex experts was very positive, a first step to improved products in the medium term.

Anyhow, we welcome comments like yours. It would be good if more people could express their opinion.

Rene Brun

On Wed,
11
May
2005, cstrato wrote:

> 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:
> >
> >
> >>
> >>is there a fundamental problem with VC6, or is it just a problem of lack of manpower/testing
> >>Platform ?
> >>
> >>Is this linked to my previous question about std::atoi and std::atof problem in TString ?
> >>Under win2K and VC6 ?
> >>
> >>Cheers,
> >>
> >>eric
> >>
> >>
> >>
> >>
> >>
> >>>-----Message d'origine-----
> >>>De : owner-roottalk_at_pcroot.cern.ch
> >>>[mailto:owner-roottalk_at_pcroot.cern.ch] De la part de Rene Brun
> >>>Envoyé : mardi 10 mai 2005 18:59
> >>>À : roottalk_at_pcroot.cern.ch
> >>>Objet : [ROOT] VC++6.0 and 7.0 are not supported anymore from
> >>>ROOT4-04-2 or newer
> >>>
> >>>
> >>>In the recent announcement of ROOT version 4-04-02, we forgot
> >>>to mention that we do not support anymore VC++6 or VC++7.0.
> >>>We support only VC++7.1
> >>>
> >>>Rene Brun
> >>>
> >>>
> >>
> >>***********
> >>Ce message et eventuellement les pieces jointes sont exclusivement transmis a l'usage de leur destinataire. Leur contenu est confidentiel. Si vous n etes pas le bon destinataire nous vous demandons de ne pas conserver, copier, utiliser ou divulguer cette communication. Merci de le detruire et de me notifier cette erreur.
> >>
> >>INTERNET ne permettant pas d assurer l integrite de ce message, SODERN decline toute responsabilite au cas ou il aurait ete intercepte ou modifie.
> >>
> >>
> >>This message and possibly any attachments are transmitted for the exclusive use of their addressee. Their content is confidential. If you are not the intended recipient please do not keep, copy, use or disclose this communication to others. Also Please delete it and notify the sender at once.
> >>
> >>Because of the nature of INTERNET the sender is not in a position to ensure the integrity of this message, therefore SODERN disclaims any liability whatsoever in the event of this message having been intercepted and/or altered.
> >>
> >
> >
> >
> >
>
Received on Thu May 12 2005 - 07:52:09 MEST

This archive was generated by hypermail 2.2.0 : Tue Jan 02 2007 - 14:45:07 MET