Safe mode in D?
Max Samukha
maxsamukha at gmail.com
Sat Oct 19 02:06:33 PDT 2013
On Saturday, 19 October 2013 at 08:38:52 UTC, Maxim Fomin wrote:
> On Saturday, 19 October 2013 at 08:21:18 UTC, Max Samukha wrote:
>> On Saturday, 19 October 2013 at 07:39:36 UTC, Maxim Fomin
>> wrote:
>>>
>>> This is wrong. Compare safe D and C# in safe, checked mode (I
>>> suspect you tried to sell unchecked mode, unmanaged pointers
>>> and C++ code invocation as unsafe C# - there are also unsafe
>>> features like casts or unions in unsafe D, but this is
>>> irrelevant, we are comparing safe mode) and try to come up
>>> with examples of memory corruption in C#. At least I showed 4
>>> cases of memory corruption, 4 cases of broken immutable, 2
>>> cases of broken purity in safe D without casts, unions and
>>> unchekeced attributes of extern C (which is also hole in type
>>> system). So far, you provided only resentment that D was
>>> negatively compred with C#.
>>
>> I would agree if:
>>
>> 1. most of the cases you provided were not compiler bugs.
>
> Wrong. Most of cases presented are frontend bugs, since all
> three
> known compilers share the same frontend, they are also buggy. In
> any case, D is not in a position like C, where there are plenty
> of compilers. Most are stack to dmd/gdc/ldc. So, there is no way
> to escape from this "just compiler bugs". You can throw "it is
> compiler bug, but not language issue" into the trash (please
> also
> D butthurt).
Note that you are making similar assumptions about the state of
my butt as I did about your dissatisfaction.
>
>> 2. C#'s safety didn't have a price.
>
> I didn't heard that C# would advertise itself as having speed
> 'more than C' or any nonsense like D promises about its safety.
I haven't heard D ever advertised itself as "faster than C". I
heard that immutability/purity provides an opportunity for
optimizations not possible in C, and those opportunities have not
been realized yet.
>
>> 3. C# had immutable, pure, etc.
>
> But features which it does care to provide, are not bunch of
> holes in type system. This is so opposite to D with strings,
> shared, AAs, etc.
What's wrong with D's strings?
More information about the Digitalmars-d
mailing list