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.
I don't understand this statement, there are quite a few things in D that support a different style of programming than OOP, such as: - closures for higher-order programming - pointers, systems programming features - templates - pure, transitive const and immutable Do you think this is not meaningful? Or do you mean that what is actually needed is a better OOP system than what D offers? What do you have in mind?