RAII is misleading
bitwise via Digitalmars-d
digitalmars-d at puremagic.com
Tue Nov 24 14:08:13 PST 2015
On Tuesday, 24 November 2015 at 19:37:33 UTC, duff wrote:
> On Tuesday, 24 November 2015 at 19:22:46 UTC, bitwise wrote:
>> On Tuesday, 24 November 2015 at 18:22:12 UTC, duff wrote:
>>> On Tuesday, 24 November 2015 at 17:03:47 UTC, bitwise wrote:
>>>> Then, during recursive serialization, if you found an object
>>>> which was already in the table, you wouldn't serialize it
>>>> again.
>>>
>>> But this doesn't give the guarentee that the real citizen who
>>> responsible to tell the client "hey i've got the ref" can do
>>> it. With RC, the real owner may not know that his resource is
>>> stolen by a children.
>>
>> The way that I was dealing with this at the time was
>> requesting resources(files) from a shared repository by name.
>> The repository would either load the file and instantiate the
>> appropriate object, or return the object if it already
>> existed. So, no node in the graph ever really owned a
>> resource. All resources were owned by one central repository.
>> Now, this was only enforced by convention, so I suppose
>> someone could call delete on the shared_ptr's internal
>> pointer, but making this strictly enforced through language
>> features is difficult, if at all possible without major
>> comprimises.
>>
>> There is some discussion about this idea in the dlang Study
>> forum. They're trying to figure out how to implement ref
>> counting in D in a totally @safe way(impossible to currupt
>> memory). I think that some major comprimises will have to be
>> made, and I personally wohld rather deal with this issue
>> through good coding conventions.
>>
>> Bit
>
> I know that there is a study group.
> And it's not the first time I post this:
>
> http://www.reactiongifs.com/r/dnd.gif
>
> because manual memory managment is the stuff.
I had my way, the first thing I would do is get rid of @safe and
shared ;)
Its not that I don't think the general idea of making the
language safe is good, but there is just so much that can go
wrong in a systems programming language, its like throwing
glasses of water at a burning house instead of just calling the
fire department..
Never underestimate the resourcefulness of a bad programmer!
More information about the Digitalmars-d
mailing list