Difference between revisions of "Language issues"
(Created page with "Like any programming language, D is not perfect. This page lists some potential problems that have been brought up and debated throughout the language's history. Fixing these ...") |
|||
Line 1: | Line 1: | ||
Like any programming language, D is not perfect. This page lists some potential problems that have been brought up and debated throughout the language's history. Fixing these is not straight-forward or may not justify breaking backwards-compatibility. As of the moment of writing this, there are no plans for a major revision of D which would allow such breaking changes, but this list may also be useful for other programming languages which wish to learn from D's experience. | Like any programming language, D is not perfect. This page lists some potential problems that have been brought up and debated throughout the language's history. Fixing these is not straight-forward or may not justify breaking backwards-compatibility. As of the moment of writing this, there are no plans for a major revision of D which would allow such breaking changes, but this list may also be useful for other programming languages which wish to learn from D's experience. | ||
+ | |||
+ | See also: [[Language design discussions]] | ||
== Properties == | == Properties == | ||
Line 17: | Line 19: | ||
* [[Property Discussion Wrap-up]] | * [[Property Discussion Wrap-up]] | ||
+ | * [[Language design discussions#Properties]] | ||
== Unicode and ranges == | == Unicode and ranges == |
Revision as of 20:42, 9 March 2014
Like any programming language, D is not perfect. This page lists some potential problems that have been brought up and debated throughout the language's history. Fixing these is not straight-forward or may not justify breaking backwards-compatibility. As of the moment of writing this, there are no plans for a major revision of D which would allow such breaking changes, but this list may also be useful for other programming languages which wish to learn from D's experience.
See also: Language design discussions
Properties
Design of properties has been an oft-discussed topic. This language feature has evolved throughout D's history (e.g. the addition and removal of the -property switch. There are numerous DIPs with proposals on improving the design:
See also:
Unicode and ranges
D's ranges currently treat strings in a special way: they present them as a range of code points, thus implicitly performing UTF decoding. Algorithms that do not require working with decoded code points, and which would gain a performance advantage by treating the input as a range of code units (or an array of code units), must incorporate D strings as a special case. This approach complicates the implementation by some degree, and only solves a certain subset of problems for a subset of written languages.
See also: