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.

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

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).

There is no need, or significant consumer demand, to reinvent
another classical OO language in 2010.  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.

Cheers
Justin Johansson

Reply via email to