A summary of D's design principles

Jay Byrd JayByrd at rebels.com
Mon Sep 20 14:48:22 PDT 2010


On Sun, 19 Sep 2010 23:07:13 +1000, Justin Johansson wrote:

> On 19/09/2010 2:59 AM, Lutger wrote:
>> To me some of the most distinguishing aspects of D are:
>>
>> - scale to complex as well as small programs: unlike C# and Java but
>> perhaps like python
>>
>> - focus on early binding: this quote from David Griers is fitting:
>> "Never put off until run time what you can do at compile time." But
>> also related is the tendency to choose for a rich set of features,
>> binding at 'language design time'
>>
>> - support a diversity of programming styles (like C++, python) and
>> attempt to integrate them
>>
>> - support for features that help, and avoid designs that complicate
>> maintenance of large programs
>>
>> - take advantage of existing C knowledge and codebase
>>
>> - enable the programmer to make his own tradeoff between performance
>> and other quality criteria: this is true of many languages, but in D
>> there is a much wider space to choose from.
> 
> I think the salient point that all miss is that D does not expand beyond
> the classical OO paradigm in any meaningful way.

Sorry, but "salient" is not a synonym for "false". Later you clarify by 
saying "D does not offer any better OOP system amongst its contemporary
rivals" but that simply is not relevant to what you responded to.

> When all you have is a hammer, everything looks like a nail.

But D provides more than one tool, so this is silly and misdirected.
 
> When all you have is classical OO, everything looks like it can be
> modeled with inheritance by addition (rather than inheritance by
> restriction for example) or an interface (rather than a trait for
> example also).

Well, D has multiple subtyping, which is akin to traits.
 
> There is no need, or significant consumer demand, to reinvent another
> classical OO language in 2010.

Sez you. What language currently meets D's goals?

> To make any inroad, a new language in
> these times needs to leverage upon some of the lesser well known yet
> powerful idioms of PLs that allow for extensible type systems.

Sez you, but without supporting logic or evidence. Other languages have 
made inroads for quite different reasons.


> 
> Cheers
> Justin Johansson



More information about the Digitalmars-d mailing list