Andrei Alexandrescu wrote: > A coworker asked me where he could find a brief document of D's design > principles. This was after I'd mentioned the "no function hijacking" stance. > > I think it would be a great idea if the up-and-coming > www.d-programming-language.org contained such a document. > > Ideas for what it could contain? I know we discussed this once in the > past, but couldn't find the discussion. > > > Andrei
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.