D is very similar to languages like C++ and Java. Therefore, if you have experience with those languages, you can probably pick up D by simply reading theD Transition Guide.
This book will be a guide to people starting to program using the D programming language. It is intended for a range of audiences, from people new to programming to the seasoned programmer. The book has been arranged so that you can follow the suggested chapter order, which will lead you through the concepts such that you can use them before finishing the book. Alternatively, you can select the chapters as you see fit, skipping over some things that you might already be familiar with.
This book does not include a comprehensive introduction to programming as there are many sources for that already, though it does have arefresher on the topic.
The content of this book is based on the use of the Phobos standard library which comes with the DigitalMars dmd compiler.
The Table of Contents is almost done, so this book is now open for content. If you want to write a page, first read theStyle Guide, then choose a page, replace the text in the list below with a link to the name you want like so:
[[/Chapter/]] or [[/Chapter/Section Title/|Section Title]]
(The /'s are important), and put some note on the page to say you're going to handle it (to try to minimize duplication).
Functions and Simple Arguments [somewhere in this chapter, segfaults and other failures should be briefly introduced but simply refer to a later chapter]
The Concept of Functions [NOT in the Functional Programming sense]
Simple Functions
Recursion
Passing Basic Types
Passing Arrays
Assertion and Contracts
Basic Classes and Object Orientation
The Concept of Classes
Simple Classes [an extension to the input programs above that has a "person" class with char[] name, int age, etc.]
Methods
Data Hiding
Public vs Private
Accessor Methods and Properties
Exceptions and Handling [This chapter should also mention segmentation faults]
The Concept of Exceptions
Throwing Exceptions
Simple Catching
The finally Clause
Advanced Arrays
Dynamic Arrays, Concatenation and COW
Static Arrays
Associative Arrays
Modules
Modules and the Filesystem
Making your Own Modules
Importing Modules
Public vs private vs static imports
Namespace and Conflicts
Advanced Object Orientation
Friendly Classes
Class Inheritance
Simple Inheritance
Interfaces
Operator Overloading
x. --- TO BE COMPLETED ---
Advanced Functions and Arguments [This chapter should perhaps be switched with the last one]