Difference between revisions of "Language issues"

From D Wiki
Jump to: navigation, search
(Null References: - Added bug report)
(Null References)
Line 41: Line 41:
 
* [http://forum.dlang.org/post/vgntbohxwfnglyiyxgmi@forum.dlang.org February 2014 discussion]
 
* [http://forum.dlang.org/post/vgntbohxwfnglyiyxgmi@forum.dlang.org February 2014 discussion]
 
* [http://forum.dlang.org/post/vhtcmmnihixpmaqtakmg@forum.dlang.org September 2012 discussion]
 
* [http://forum.dlang.org/post/vhtcmmnihixpmaqtakmg@forum.dlang.org September 2012 discussion]
* [http://d.puremagic.com/issues/show_bug.cgi?id=4595  Issue 4595 - [tdpl] Accessing non-static member of a null reference compiles]
+
* [http://d.puremagic.com/issues/show_bug.cgi?id=4595  Issue 4595 - <nowiki>[tdpl]</nowiki> Accessing non-static member of a null reference compiles]

Revision as of 00:02, 12 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:

Signed/unsigned comparisons

(What's the status of this? Issue 259 is open and has an open pull request.)

Null References

{Please add summary}

See also: