A summary of D's design principles

Jacob Carlborg doob at me.com
Fri Sep 17 06:08:07 PDT 2010


On 2010-09-17 03:38, sybrandy wrote:
> On 09/16/2010 07:04 AM, Simen Kjaeraas wrote:
>> Here's a draft of something I'd like to see. I like having the ten
>> commandments, with #0 not really counting. C&C welcome.
>>
>> == The D Manifesto ==
>>
>> 0. Pragmatism is king.
>>
>> 1. Safe before all, fast before the rest.
>>
>> 2. High level where possible, low level where necessary.
>>
>> 3. If it looks like C, it works like C or never compiles.
>>
>> 4. Easy things easy, difficult things possible.
>>
>> 5. Thou shalt not need to write boilerplate code.
>>
>> 6. Sugar is good for you, as is salt. In moderation.
>>
>> 7. Too much power is almost enough.
>>
>> 8. User-defined types should not be treated differently.
>>
>> 9. What the compiler knows, the programmer can query.
>>
>> 10. What works at run-time, should work at compile-time.
>>
>>
>>
>>
>> These are runner-ups that I like, but don't feel are as important as
>> those above, says things that are already said, or just don't 'feel'
>> right.
>>
>> 11. Avoid magic.
>>
>> 12. The tool does not pick you - you pick the tool.
>>
>> 13. The straight path is safe and correct.
>>
>> 14. The crooked path is passable.
>>
>> 15. We're consenting adults, not suicidal maniacs.
>>
>> --
>> Simen
>
> To go along with this, perhaps "Concurrency should be easy and safe"?
>
> Casey

Concurrency is currently far from easy.

-- 
/Jacob Carlborg


More information about the Digitalmars-d mailing list