A summary of D's design principles
Don
nospam at nospam.com
Fri Oct 1 04:19:14 PDT 2010
Walter Bright wrote:
> Steven Schveighoffer wrote:
>> You mean, C# doesn't provide access to the lower level constructs?
>> IMO D is at the same level even if it does provide inline assembler.
>> The simple fact is, you don't *have* to use low level features of D,
>> you can stick to the C#-level constructs. Hell, you can even write
>> full useful programs in D without ever touching a pointer or inline
>> assembler.
>
> D is both higher and lower level than C#. Lower level because of:
>
> 1. direct C interface
> 2. inline assembler
> 3. pointers
>
> Higher level:
>
> 1. metaprogramming
> 2. support for purity, const, immutable, shared
> 3. CTFE
It's worth noting that the lowest level language is a list of hex bytes.
Asm only gets to that level by the 'db' pseudo-instruction; there are
several constructs which it doesn't support natively.
Interestingly, one of those constructs is float.infinity, which D _does_
support natively.
More information about the Digitalmars-d
mailing list