Re: [ROOT] Print() collections

From: Anton Fokin (anton.fokin@smartquant.com)
Date: Fri Mar 16 2001 - 17:54:23 MET


> It makes user code more error prone.

Could you please provide me with an example. (Not with a fake one like Date
class from the third edition of Bjarne).

Could you also tell me why you decided for ever that the Hash() function
should be const and I can not change the state of the object in this
function? The same goes for Print() & co.

> Rene did a very useful and very hard job. You may be can blame

I am not blaming anyone. I am making my own conlusions about life, universe
and everything. Note that if you define Rene's job as a hard one, the job
which I have to do with about the same number of my classes should also not
be very easy.

I think that avoiding namespaces and templetes usage in ROOT was the most
clever step, otherwise ROOT would lose 80% of users.

> him why it is not made from the beginning. But in those time it was not
very common
> practice.

Are you going to follow all the meditations and insinuations of Bjarne&Co
(with all my respect to those guys)? I would not be surprise that in not so
distant future c++ will be gradually replaced with more "easy" language. We
are already observing those tendencies (Python lang and others, even those
like VisualBasic).

> Now it is very useful, and modification of user code is not yet too big.

Of course not, but only If you find those places where the code has to be
modified. As I said a compiler doesn't issues any warning or whatsoever. I
just spend half of the day to discover that in one of my small helper
classes I have had Hash() instead of Hash() const which in turn caused
hidden problems in other classes.

It would be also funny to see what my colleagues at the lab (which I left)
would do when they recompile my classes with root 3.06. They know nothing
about const and very little about c++ in general. They are physicists. But
who cares, right?

Regards,
Anton



This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:40 MET