Book

The D Programming Language

📖 Overview

The D Programming Language serves as both a tutorial and complete reference for the D programming language. The book covers D's features and capabilities through examples and explanations aimed at experienced programmers. The text progresses from basic language concepts through advanced topics like templates, ranges, and metaprogramming. Code samples demonstrate real-world usage while technical discussions explore the rationale behind D's design decisions. Each chapter builds on previous material with exercises and projects that reinforce key concepts. The reference section provides detailed documentation of D's standard library and core functionality. The book presents D as a synthesis of practical engineering and programming language theory, emphasizing how its features enable both performance and programmer productivity. The text makes a case for D's relevance in modern software development.

👀 Reviews

Readers praise the book's comprehensive coverage of D's features and Alexandrescu's clear explanations of complex concepts. Many highlight the depth of technical content while maintaining accessibility for experienced programmers. Liked: - Detailed examples and practical applications - Strong focus on D's metaprogramming capabilities - Clear comparisons to C++ and other languages - Coverage of template metaprogramming Disliked: - Can be challenging for programming beginners - Some examples use older D syntax - Limited coverage of D's standard library - Book length makes it hard to use as quick reference Ratings: Goodreads: 4.17/5 (87 ratings) Amazon: 4.4/5 (31 ratings) One Amazon reviewer noted: "The book excels at explaining D's unique features like ranges and CTFE." A Goodreads review criticized: "The dense technical content requires multiple re-reads to fully grasp concepts." The book serves better as a thorough learning resource than a quick reference guide.

📚 Similar books

The Rust Programming Language by Steve Klabnik and Carol Nichols. Presents a systems programming language with memory safety and modern features that shares D's goals of improving upon C++.

Programming in Scala by Martin Odersky, Lex Spoon, and Bill Venners. Details a multi-paradigm language that combines functional and object-oriented programming with static typing and modern features.

Modern C++ by Nicolai Josuttis. Explains the evolution of C++ into a more expressive and safer language while maintaining performance and low-level control.

Programming Languages: Application and Interpretation by Shriram Krishnamurthi. Examines the core concepts behind programming language design and implementation through practical examples.

Advanced C and C++ Compiling by Milan Stevanovic. Explores the technical underpinnings of systems programming languages and their compilation process from source to executable.

🤔 Interesting facts

📚 D combines the performance of C++ with the safety of modern languages, making it up to 25% faster than C++ in some benchmarks. 🧠 Author Andrei Alexandrescu also wrote the influential "Modern C++ Design" and co-authored several books with Scott Meyers, helping shape modern C++ practices. 💻 The D programming language was created by Walter Bright, who wrote the first native C++ compiler for DOS, and later collaborated with Alexandrescu to evolve the language. 🔄 The book was published in 2010, but many of its concepts about metaprogramming and template systems influenced later programming languages, including Rust and Swift. 🌟 Alexandrescu's contributions to D were so significant that he became known as "the other parent of D," alongside Walter Bright, and helped establish the D Language Foundation.