forked from dlang/dlang.org
-
Notifications
You must be signed in to change notification settings - Fork 0
/
articles.dd
163 lines (160 loc) · 6.76 KB
/
articles.dd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
Ddoc
$(D_S Articles,
$(P
More articles can be found on the corresponding
$(LINK2 https://wiki.dlang.org/Articles, wiki page).
)
$(DIVC boxes,
$(DIVC row,
$(DIVC item,
$(H4 $(LINK2 $(ROOT_DIR)faq.html, FAQ))
$(P Frequently answered questions about D.)
)
$(DIVC item,
$(H4 $(LINK2 $(ROOT_DIR)const-faq.html, const(FAQ)))
$(P Frequently answered questions about D's $(D const) and
$(D immutable).)
)
)
$(DIVC row,
$(DIVC item,
$(H4 $(LINK2 $(ROOT_DIR)d-floating-point.html, Floating Point))
$(P Don Clugston goes into detail about floating point
numbers in D and the pitfalls one may encounter.)
)
$(DIVC item,
$(H4 $(LINK2 $(ROOT_DIR)warnings.html, Warnings))
$(P This is about compiler warnings in general, and dmd's
warnings in particular.)
)
)
$(DIVC row,
$(DIVC item,
$(H4 $(LINK2 $(ROOT_DIR)rationale.html, Rationale))
$(P Questions about the reasons for various design decisions for
D often come up. This addresses many of them.)
)
$(DIVC item,
$(H4 $(LINK2 $(ROOT_DIR)builtin.html, Builtin Rationale))
$(P D offers several capabilities built in to the core language
that are implemented as libraries in other languages. This
article answers why.)
)
)
$(DIVC row,
$(DIVC item,
$(H4 $(LINK2 $(ROOT_DIR)ctod.html, C to D))
$(P Coming from C? Here are various examples comparing $(I the D
way) to $(I the C way).)
)
$(DIVC item,
$(H4 $(LINK2 $(ROOT_DIR)cpptod.html, C++ to D))
$(P Coming from C++? Here are various examples comparing $(I the
D way) to $(I the C++ way).)
)
)
$(DIVC row,
$(DIVC item,
$(H4 $(LINK2 $(ROOT_DIR)pretod.html, C Preprocessor vs D))
$(P D doesn't have a preprocessor. This article shows how to do
in D what would be a task for the preprocessor in C.)
)
$(DIVC item,
$(H4 $(LINK2 $(ROOT_DIR)code_coverage.html, Code coverage analysis))
$(P D compilers come with a builtin code coverage analyzer.
This article explains why and how to use it.)
)
)
$(DIVC row,
$(DIVC item,
$(H4 $(LINK2 $(ROOT_DIR)exception-safe.html, Exception Safety))
$(P This article is about exceptions and how RAII and scope
guard statements relate to them.)
)
$(DIVC item,
$(H4 $(LINK2 $(ROOT_DIR)hijack.html, Hijacking))
$(P Function hijacking is when old code accidentally calls
a newly added or changed function because it shadows the
intended one. This article is about how D prevents
different kinds of hijacking.)
)
)
$(DIVC row,
$(DIVC item,
$(H4 $(LINK2 $(ROOT_DIR)intro-to-datetime.html, Introduction to
std.datetime))
$(P Jonathan M Davis presents $(D std.datetime) which was added
in version 2.052 (Jul 10, 2011), and compares it to the
superseded $(D std.date).)
)
$(DIVC item,
$(H4 $(LINK2 $(ROOT_DIR)lazy-evaluation.html, Lazy Evaluation))
$(P Walter Bright goes into the details of lazy parameters in
D.)
)
)
$(DIVC row,
$(DIVC item,
$(H4 $(LINK2 $(ROOT_DIR)migrate-to-shared.html, Migrating to Shared))
$(P Since version 2.030 (May 11, 2009) D uses thread local
storage (TLS) by default for static and global variables.
The article shows the alternatives to TLS that are available
in D.)
)
$(DIVC item,
$(H4 $(LINK2 $(ROOT_DIR)mixin.html, Mixins))
$(P A short article about D's $(D mixin) statement which allows
to insert arbitrary code from a string, and how it compares
to the C preprocessor.)
)
)
$(DIVC row,
$(DIVC item,
$(H4 $(LINK2 $(ROOT_DIR)regular-expression.html, Regular Expressions))
$(P Dmitry Olshansky shows how to use regular expressions in D
with $(D std.regex).)
)
$(DIVC item,
$(H4 $(LINK2 $(ROOT_DIR)safed.html, SafeD))
$(P Bartosz Milewski writes about SafeD, the memory-safe
subset of D.)
)
)
$(DIVC row,
$(DIVC item,
$(H4 $(LINK2 $(ROOT_DIR)templates-revisited.html, Templates Revisited))
$(P Walter Bright writes about how D improves upon C++
templates.)
)
$(DIVC item,
$(H4 $(LINK2 $(ROOT_DIR)ctarguments.html, Compile-time Argument
Lists))
$(P A compile-time list is a list of compile-time entities -
types, symbols (names) and expressions (values). This
article shows how to work with them.)
)
)
$(DIVC row,
$(DIVC item,
$(H4 $(LINK2 $(ROOT_DIR)variadic-function-templates.html,
Variadic Templates))
$(P This article is about the D idiom of implementing variadic
functions with variadic templates.)
)
$(DIVC item,
$(H4 $(LINK2 $(ROOT_DIR)d-array-article.html, D Slices))
$(P Steven Schveighoffer writes about slices and dynamic arrays
in D. Unfortunately, this article uses slightly different
terminology than the language reference: What the article
calls a $(I slice) is a $(I dynamic array) in the language
reference, and what the article calls a $(I dynamic array)
is not named specifically by the language reference. Still,
the article is a great help in getting a good understanding
of D's array semantics.)
)
)
)
)
Macros:
TITLE=Articles
SUBNAV=$(SUBNAV_ARTICLES)