Re: C++ Frequently Questioned Answers
David Abrahams wrote:
on Fri Nov 09 2007, "Andrei Alexandrescu (See Website For Email)"
<SeeWebsiteForEmail-AT-erdani.org> wrote:
Eugene Gershnik wrote:
On Nov 7, 6:32 am, Yossi Kreinin <yossi.krei...@gmail.com> wrote:
Here's why memory is very different from other resources:
Presumably your goal here is to show that memory deserves special
treatment, not just point out the differences for differences sake. So
let's see if any of the arguments below actually support your
conclusion
[snip]
Without having participated in this large exchange so far, let me just
say that I also believe memory is special, because (1) memory is typed,
and (2) the integrity of a program depends on its being typed. There's
no other resource that affects the integrity of a program in such a
fundamental manner.
It seems to me that all resources are typed. Are you saying that
treating a mutex as a file cannot cause fundamental integrity
problems? I'm just trying find the contrast between memory and other
resources in that regard.
It's very simple. I'm saying that a program's memory is highly and
implicitly structured, e.g. there are pointers pointing to various
memory objects and there's always an implicit assumption (that was
partially proven during compilation) that the pointers point to
appropriately organized memory. In contrast, a resource such as a file
has no structure - it's essentially untyped, and all we can do is to
manually implement protocols that confer it structure. And how do we
implement them? By relying on structured memory (e.g. encapsulation,
virtual functions, etc.)
It's true that every step of every program depends on the integrity of
memory, whereas other resources are in some sense "optional." It's
easy to support an argument that memory deserves more protection on
those grounds.
I think you summarized my point!
Andrei
--
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]