
Hi Bartlett,
High warning levels (i.e. with GCC) catch most such mistakes that the language proper allows to go through.
Right. I actually wasn't even actually writting code (so no compilation). I was just sketching up an excercise were I intended to show a case of hidding of a virtual, but forgot the change the signature! And this was caught by a reviewer.
BTW, are you gravitating to stack-based programming
I'm not sure if you are calling stack-based what we called value-semantics by mistake, or are you effectively considering automatic storage. I'm gravitating to value-semantics. Then even dynamically-allocated objects by usage of handle/body idioms. But let's say that you are just misusing the term stack.
because of the memory management problems or because of problems of change propagation of shared mutable objects?
The latter. Honestly. I'm at a total lost about what problem are you trying to solve that requires such a big framework. I never needed anything beyond shared_ptr (ok well, perhaps a *couple* of weak_ptrs), and I'm very well aware of its limitations (like circular references). Is just that my designs naturally don't do any of that, for reason totally unrelated to memory managment or that fact that I happen to use simple reference counting. So that's a non-existent problem for me.
These are almost 100% unrelated issues in my opinion.
Indeed.
Is the C++ boost community really ready to throw away OO programming?
I can't speak for the boost community, but I don't think anyone is doing that. There are many forms of OO, and idioms within. What I am particularly ready to throw away is the excess weight in an object graph, which IMO isn't a treat of OOD&A itself but just a property of a particular design. And one such way to cut the excess is to rely less on shared objects and dynamic-polymorphism which in C++ just happens to be based on a structural coupling between classes (unlike the case of other OO languages) -- Fernando Cacciola SciSoft Consulting, Founder http://www.scisoft-consulting.com