Smart pointers instead of GC?
Don
x at nospam.com
Tue Feb 4 03:13:02 PST 2014
On Tuesday, 4 February 2014 at 10:32:26 UTC, ed wrote:
> On Tuesday, 4 February 2014 at 09:59:07 UTC, Don wrote:
>> On Tuesday, 4 February 2014 at 03:43:53 UTC, ed wrote:
>>> On Tuesday, 4 February 2014 at 01:36:09 UTC, Adam Wilson
>>> wrote:
>>>> On Mon, 03 Feb 2014 17:04:08 -0800, Manu
>>>> <turkeyman at gmail.com> wrote:
>>>>
>>>>> On 4 February 2014 06:21, Adam Wilson <flyboynw at gmail.com>
>>>>> wrote:
>>>>>
>>>>>> On Mon, 03 Feb 2014 12:02:29 -0800, Andrei Alexandrescu <
>>>>>> SeeWebsiteForEmail at erdani.org> wrote:
>>>>>>
>>>>>> On 2/3/14, 6:57 AM, Frank Bauer wrote:
>>>>>>>
>>>>>>>> Anyone asking for the addition of ARC or owning pointers
>>>>>>>> to D, gets
>>>>>>>> pretty much ignored. The topic is "Smart pointers
>>>>>>>> instead of GC?",
>>>>>>>> remember? People here seem to be more interested in
>>>>>>>> diverting to
>>>>>>>> nullable, scope and GC optimization. Telling, indeed.
>>>>>>>>
>>>>>>>
>>>>>>> I thought I made it clear that GC avoidance (which
>>>>>>> includes considering
>>>>>>> built-in reference counting) is a major focus of 2014.
>>>>>>>
>>>>>>> Andrei
>>>>>>>
>>>>>>>
>>>>>> Andrei, I am sorry to report that anything other than
>>>>>> complete removal of
>>>>>> the GC and replacement with compiler generated ARC will be
>>>>>> unacceptable to
>>>>>> a certain, highly vocal, subset of D users. No arguments
>>>>>> can be made to
>>>>>> otherwise, regardless of validity. As far as they are
>>>>>> concerned the
>>>>>> discussion of ARC vs. GC is closed and decided. ARC is the
>>>>>> only path
>>>>>> forward to the bright and glorious future of D. ARC most
>>>>>> efficiently solves
>>>>>> all memory management problems ever encountered.
>>>>>> Peer-Reviewed Research and
>>>>>> the Scientific Method be damned! ALL HAIL ARC!
>>
>>>
>>> Most of us know and understand the issues with ARC and that
>>> with a GC. Many of us have seen how they play out in systems
>>> level development. There is a good reason all serious driver
>>> and embedded development is done in C/C++.
>>>
>>> A language is the compiler+std as one unit. If Phobos depends
>>> on the GC, D depends on the GC. If Phobos isn't systems level
>>> ready, D isn't systems level ready. I've heard arguments here
>>> that you can turn off the GC, but that equates to rewriting
>>> functions that already exists in Phobos and not using any
>>> third-party library.
>>
>> At Sociomantic, that is exactly what we have done. Phobos is
>> almost completely unusable at the present time.
>>
>> I personally don't think that ARC would make much difference.
>> The problem is that *far* too much garbage is being created.
>> And it's completely unnecessary in most cases.
>>
>> To take an extreme example, even a pauseless, perfect GC,
>> wouldn't make std.json acceptable.
>>
>>
>>> Why would anyone seriously consider that as an option?
>>> Embedded C++ has std:: and third-party libraries where memory
>>> is under control?
>>>
>>> Realistically D as a systems language isn't even at the hobby
>>> stage.
>>
>> We're using D as a systems language on a global commercial
>> scale. And no, we don't use malloc/free. We just don't use
>> Phobos.
>
> Maybe I'm thinking too much embedded, which I admit isn't fair
> on D and at this stage maybe not a realistic comparison.
Yeah, I dunno what "systems language" means really. In practice
it seems to mean "competes with C++" and that's how I use it. And
C++ had some problems getting into the embedded market.
Though even D as "a better C" is a surprisingly nice language.
> Our projects are Siemens medical devices so it is 90% embedded,
> a different level of system perhaps. They too would be on a
> global scale and I'd love to get D on them :-)
Yeah. I can imagine that's a tough assignment.
More information about the Digitalmars-d
mailing list