On 05/11/2009 23:45, grauzone wrote:
Ary Borenszweig wrote:
grauzone wrote:
Frank Benoit wrote:
safe should be the default. The unsafe part should take the extra
typing, not the other way. Make the user prefer the safe way.

No. D is not C#.

D is an unsafe language.
C# is a safe language.

Like that? :)

If you mean memory safety, then yes and will probably forever be for all
practical uses (unless D gets implemented on a Java or .net like VM).

C# does allow memory unsafe code inside unsafe blocks. There's an alloca and malloca functions for allocating on the stack.

VM is just an abstract (virtual) instruction set. You can design a safe native one or an unsafe virtual one. it's all a matter of design choices. there's nothing magical about a VM that makes it inherently safe.

IMO D should be safe by default and allow unsafe code when it is appropriately marked as such, regardless of a VM.

BTW, so called native code on Intel processors runs in a VM as well.
Intel's cisc instruction set is translated to a risc like micro-ops and those micro-ops are executed. the only difference is that this is done in hardware by the processor.

Reply via email to