The D Programming Language Front Cover

The D Programming Language

Description

“To the best of my knowledge, D offers an unprecedentedly adroit integration of several powerful programming paradigms: imperative, object-oriented, functional, and meta.”
—From the Foreword by Walter Bright

“This is a book by a skilled author describing an interesting programming language. I’m sure you’ll find the read rewarding.”
—From the Foreword by Scott Meyers

D is a programming language built to help programmers address the challenges of modern software development. It does so by fostering modules interconnected through precise interfaces, a federation of tightly integrated programming paradigms, language-enforced thread isolation, modular type safety, an efficient memory model, and more.

The D Programming Language is an authoritative and comprehensive introduction to D. Reflecting the author’s signature style, the writing is casual and conversational, but never at the expense of focus and pre­cision. It covers all aspects of the language (such as expressions, statements, types, functions, contracts, and modules), but it is much more than an enumeration of features.

Inside the book you will find

  • In-depth explanations, with idiomatic examples, for all language features
  • How feature groups support major programming paradigms
  • Rationale and best-use advice for each major feature
  • Discussion of cross-cutting issues, such as error handling, contract programming, and concurrency
  • Tables, figures, and “cheat sheets” that serve as a handy quick reference for day-to-day problem solving with D

Written for the working programmer, The D Programming Language not only introduces the D language—it presents a compendium of good practices and idioms to help both your coding with D and your coding in general.

Table of Contents

1. “D”iving In 30
2. Basic Types. Expressions 58
3. Statements 94
4. Arrays, Associative Arrays, and Strings 122
5. Data and Functions. Functional Style 160
6. Classes. Object-Oriented Style 204
7. Other User-Defined Types 268
8. Type Qualifiers 316
9. Error Handling 331
10. Contract Programming 343
11. Scaling Up 367
12. Operator Overloading 395
13. Concurrency 421

To access the link, solve the captcha.