(From Ch. 10, Concurrency)

When it comes to concurrency, we are living in the proverbial interesting times more than ever before. Interesting times come in the form of a mix of good and bad news that contributes to a complex landscape of trade-offs, forces, and trends.

The good news is that density of integration is still increasing by Moore's law; with what we know and what we can reasonably project right now, that trend will continue for at least one more decade after the time of this writing. Increased miniaturization begets increased computing power density because more transistors can be put to work together per area unit. Since components are closer together, connections are also shorter, which means faster local interconnectivity. It's an efficiency bonanza.

Unfortunately, there are a number of sentences starting with "unfortunately" that curb the enthusiasm around increased computational density...

[read this chapter for free] [Japanese]
[Table of Contents]

Home > Books > The D Programming Language


The D Programming Language, dubbed TDPL by its readers, is the ultimate authoritative reference on D. Andrei has been closely involved in the evolution of the language and its standard library since 2006. The book took three years to complete and evolved in parallel with the language itself.

TDPL has been translated in KoreanRussian, and Chinese.


Trivia about TDPL

  • The book cover art is a painting by Andrei's sister, Irina Vancea, who is a doctor.
  • Andrei carried alone every single aspect of the book production, such as cover design, interior design, fonts, layout, copyright page, index, formatting, tables, and figures.
  • There was no "manuscript" stage; Andrei got used to writing and composing simultaneously.
  • TDPL was conceived in LaTeX, excluding the cover which was made with inDesign. Even the figures in the book are, in fact, LaTeX source code.
  • Andrei turned down a royalty rate three times higher from another publishing house because he wouldn't have sufficient control over the book production. The showstopper was multi-page tables, which that publisher refused to implement. TDPL's "cheat sheets" are formatted as beautiful and convenient multi-page tables.
  • The projected book length was 350 pages and the final length is 492. Still, the book compares favorably in terms of size with the corresponding books for other programming languages.
  • Andrei's most frequent mistake was to put the word "only" in the wrong place.
  • TDPL's code samples are automatically extracted and compiled to make sure that the book is in sync with the reference implementation. There is code in the book's source text that checks statements made within but does not appear in print.
  • One day before deadline, Andrei realized he forgot to describe the keyword static. However, the book did include two jokes about static being overused.