
Amazon Prime Free Trial
FREE Delivery is available to Prime members. To join, select "Try Amazon Prime and start saving today with FREE Delivery" below the Add to Cart button and confirm your Prime free trial.
Amazon Prime members enjoy:- Cardmembers earn 5% Back at Amazon.com with a Prime Credit Card.
- Unlimited FREE Prime delivery
- Streaming of thousands of movies and TV shows with limited ads on Prime Video.
- A Kindle book to borrow for free each month - with no due dates
- Listen to over 2 million songs and hundreds of playlists
Important: Your credit card will NOT be charged when you start your free trial or if you cancel during the trial period. If you're happy with Amazon Prime, do nothing. At the end of the free trial, your membership will automatically upgrade to a monthly membership.
Buy new:
-20% $39.99$39.99
Ships from: Amazon.com Sold by: Amazon.com
Save with Used - Good
$28.36$28.36
Ships from: Amazon Sold by: Kuleli Books
Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Image Unavailable
Color:
-
-
-
- To view this video download Flash Player
-
-
VIDEO -
Follow the author
OK
The D Programming Language 1st Edition
Purchase options and add-ons
―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 precision. 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.
- ISBN-100321635361
- ISBN-13978-0321635365
- Edition1st
- PublisherAddison-Wesley Professional
- Publication dateJune 2, 2010
- LanguageEnglish
- Dimensions7 x 1.1 x 9 inches
- Print length460 pages
Frequently bought together

Similar items that may deliver to you quickly
Editorial Reviews
From the Back Cover
―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.
About the Author
Andrei Alexandrescu, Ph.D., is the author of the award-winning books Modern C++ Design (Addison-Wesley, 2001) and, with Herb Sutter, C++ Coding Standards (Addison-Wesley, 2005). Through his work, Andrei has garnered a solid reputation as a leading innovator in programming languages and methods. Since 2006, he has collaborated closely with Walter Bright―the original designer and implementer of D―on designing and implementing the language and its standard library.
Product details
- Publisher : Addison-Wesley Professional; 1st edition (June 2, 2010)
- Language : English
- Paperback : 460 pages
- ISBN-10 : 0321635361
- ISBN-13 : 978-0321635365
- Item Weight : 1.75 pounds
- Dimensions : 7 x 1.1 x 9 inches
- Best Sellers Rank: #1,822,104 in Books (See Top 100 in Books)
- #186 in LANs (Books)
- #462 in C++ Programming Language
- #2,226 in Software Development (Books)
- Customer Reviews:
Videos
Videos for this product

7:39
Click to play video

Watch a Trailer
Merchant Video
About the author

Andrei Alexandrescu coined the colloquial term "modern C++", used today to describe a collection of important C++ styles and idioms. His eponymous book on the topic, Modern C++ Design: Generic Programming and Design Patterns Applied (Addison-Wesley, 2001), revolutionized C++ programming and produced a lasting influence not only on subsequent work on C++, but also on other languages and systems. With Herb Sutter, Andrei is also the coauthor of C++ Coding Standards: 101 Rules, Guidelines, and Best Practices (Addison-Wesley, 2004). Through Andrei's varied work on libraries and applications, as well as his research in machine learning and natural language processing, he has garnered a solid reputation in both industrial and academic circles. Since 2006, he has been second-in-command to Walter Bright, the D programming language inventor and initial implementer. Andrei has been the key designer of many important features of D and has authored a large part of D's standard library, positioning him to write an authoritative book on the new language, appropriately entitled, The D Programming Language. Andrei holds a Ph.D. in Computer Science from the University of Washington and a B.Sc. in Electrical Engineering from University "Politehnica" Bucharest. He works as a Research Scientist for Facebook.
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on AmazonCustomers say
Customers find the book brilliant, excellent, and a necessary read for those looking to learn D. They also say it's a productive language for developers and well-thought-out. Readers appreciate the thorough and engaging description of the language.
AI-generated from the text of customer reviews
Customers find the language very productive for developers. They say it's well-thought-out and designed. Readers also appreciate the author's interesting and engaging style of writing. They mention the book is easy to understand and offers loads of examples.
"I have no idea why D-Lang hasn't taken off. It's easy to learn and performance is on par with C. This book is a great reference to learn the ins and..." Read more
"...I like the authors style and his coverage of the topics...." Read more
"...concise manner and builds understanding of the languagestarting from the basic concepts and building up to ratheradvanced topics...." Read more
"...Very productive language for developers, and very fast compile times.--- All the frustrating aspects of C/C++ were fixed / cleaned up.---..." Read more
Customers find the book brilliant, excellent, and a necessary read if you want to program in D. They say it reads well and serves as a good reference. Readers also mention the author does an excellent job explaining the reasoning behind why things were done as they were.
"...'s easy to learn and performance is on par with C. This book is a great reference to learn the ins and outs of the language...." Read more
"...This book is a very necessary read if you want to program in D. There are only two books out there on the language right now I believe and the..." Read more
"...Andrei's book is great, I just had to have it on my shelf next to the K&R.Some of my favorite D features:---..." Read more
"...This book isn't heavy on the jargon, it's very friendly and well written...." Read more
-
Top reviews
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
If you follow the latest programming language benchmarks most of the more popular dynamic languages such a Perl, Python, and Java are lagging behind in speed of execution.
This book is a very necessary read if you want to program in D. There are only two books out there on the language right now I believe and the language is evolving pretty rapidly.
I like the authors style and his coverage of the topics.
What is really needed now though is a programmers cookbook with lots of library examples with common programming examples and not just the usual foo bar examples.
Reading, writing files, string arrays loads of utility functions D's got it all. But the libs are pretty big so finding everything you need can be a challenge. A lot of the older libs have been deprecated too so check the lib docs to make sure the example that you'e following is not based on deprecated code. I'm sure this book will need new revisions over time but so far I have not found any glaring errors or examples that would not work.
My hardest learning challenge so far (still classify myself as a newbie) has been dealing with the immutable string class and learning how to move back and forth between char[] which is mutable and strings which aren't, but that most of the library functions work with.
The D Forum is a great resource for new users learning the language. Most questions there are answered within a few hours.
thorough and well written description of this relatively new,
well-designed and powerful software development paradigm.
The book explains complex language features in a clear and
concise manner and builds understanding of the language
starting from the basic concepts and building up to rather
advanced topics. It is packed with examples and has quite
a few motivational discussions justifying why certain design
decisions were made in creating the language.
The writing is precise for the most part, as one would hope to
find in a definitive work. But it is laced with allegories and
humor that both clarify the content and make it a lighter read
than might be expected. As you can tell, I liked the book.
I came away with a good understanding of the intentions
and capabilities of the "D" language, although I am sure it
will take another pass through the book and a few hands-on
programming projects for me to really feel comfortable with it.
During that learning phase this book will never be far from
my hand.
In the interest of completeness, let me list a few things that
this book is not. It is not a text on how to write programs.
The examples are laser-focused on the language feature being
described, and many of the descriptions start a step or two
above "beginner" level and are somewhat terse. One would do
better with this book coming from a solid software development
background and familiarity with the concepts and terminology
of, for example, object-oriented programming.
Curiously, only a little more than half a year off the
presses, there are aspects of the book that are out of sync
with the existing "D" infrastructure. The canonical "Hello,
World!" program will not compile without changes that align it
with the current run-time support libraries. Also, I have run
across a couple of keywords that don't work quite as described
or are not recognized at all by the current compilers. In this
regard, my guess is that the book is a description of how
"D" should be, and the implementation is trying to catch up.
This is certainly not a fatal flaw and perhaps something to be
expected in a dynamic situation, but try out a feature before
you commit large amounts of effort to it.
My only other caveat is that this first edition is somewhat
lacking as a reference manual. The index needs some work;
entries could at least highlight which of a half-dozen page
references is the primary one. At one point I wanted to
clarify use of the "binary '!'" operator. It took me quite a
while to find it on page 234 under "Parameterized Classes and
Interfaces." Some of the "Summary and Reference" sections at
the end of chapters contain useful tables of statement types
or operator precedence, but there is no "List of Tables" to
guide one to the best reference. I'm sure the next edition
will be much improved as a language reference, in the meanwhile
my copy is full of pencil notes and bookmarks.
Note that I have just started coding in "D" and my comments
should be interpreted in that light. I hope that you have
found this review useful.
Andrei's book is great, I just had to have it on my shelf next to the K&R.
Some of my favorite D features:
--- Built-in garbage collection, yet also allows you to delete memory whenever you want to.
--- Design-by-contract (like Eiffel.)
--- Built-in unit testing.
--- Great multithreading and synchronization features built-in.
--- Link-compatible with C.
--- Nested functions.
--- Able to write low-level system stuff, AND high-level script stuff, in the same language.
--- Very productive language for developers, and very fast compile times.
--- All the frustrating aspects of C/C++ were fixed / cleaned up.
--- Much better template system.
--- Built-in associative arrays and ranges.
--- Lambda constructs.
--- import modules instead of #include headers.
--- Default initializers.
--- auto keyword for compile-time type setting.
--- Much better strings.
I could go on and on.
I remember using NeXTSTEP back in the early 90s, and wondering why everyone else was using Windows 3.1.1 when NeXTSTEP was clearly on a higher level.
I feel the same way about D. I'm going to use it immediately for any new C or C++ development, since I have the choice to use D for each individual file if I want to.
This language rocks! And the book is perfect.
Top reviews from other countries
When I began my PhD I started scripting some models in python, and quickly realised that while this would do for prototyping, in terms of speed, I would need to pick something a little faster and more manageable for my needs. After trying out Java again I decided to take another look at D which I had come across a couple of years earlier. As I was the only developer on my projects for my PhD, I didn't need to worry much about software dependencies, and figured if I wanted a compiled, garbage collected language, I should give D a try. By this time, a lot of the older issues had been settled with D2, deciding on a standard library to use, as well as providing 3 compilers to choose from: DMD, LDC (LLVM) and GDC (GNU). After some browsing on the website and forums, and a little digging, I had decided that implementing my own projects in D would be a good test of how easy it was to pick up, and how enjoyable it was to work with during those stressful moments.
# Book review starts here
This book was my starting point, and along with the somewhat decent documentation on the dlang site, it has been my only reference point so far. Andrei is an excellent writer when it comes to getting you excited about programming. This isn't a book for the novice programmer, but for anyone with a little programming experience (enough to pick up the basics of a new language) this book is full to the brim with novel and exciting implementations of functions that surprise you with their simplicity and elegance when implemented in the D language. Andrei takes you from small examples through to implementing and reimplementing utility functions such as sorting algorithms in order to fully demonstrate the expressive power of D. It's both a really nice, gentle walk through a new language, as well as an excellent book for bookmarking reference tables for the different types in the language, as well as neat tricks you can do with templates that you might not have dreamt of before.
Explanations come with code and even diagrams in places, and the writing is always clear and precise. It's a comprehensive book considering its size, and will set you up for venturing into D for sure. It might be a little outdated in terms of running the examples in the book, given that D is constantly implementing new language features and deprecating old library functions for smarter, more elegant solutions. But the errata can be found at http://erdani.com/tdpl/errata/ should you need help and the compiler isn't explicit enough to point you in the right direction.
I cannot recommend this book enough. Andrei is an excellent teacher for people wanting a refreshing introduction to a new language, and he succeeds in getting you excited about programming and trying out D. I hope he continues to update the book in the future.
Die Programmiersprache D verdient Aufmerksamkeit, ihre Besonderheiten und viele Designentscheidungen die Sprache betreffend werden hervorragend erklärt.
Ich bin schon mehrfach auf die Sprache gestoßen, der Wunsch sich genauer mit ihr zu beschäftigen kam aber erst vor kurzem, als heise.de vermeldet hat, dass Facebook die ersten in D geschriebenen Module produktiv genommen hat. Diese wurden übrigens vom Autor des Buches, Andrei Alexandrescu, für Facebook erstellt.
Il linguaggio D parte "da zero" e credo arrivi ad un buon risultato.
Le livre est très bien écrit, comme toujours avec cet auteur, et nettement plus agréable à lire que la plupart des ouvrages de ce genre. Les exemples sont bien choisis et pertinents. L'auteur explique non seulement comment utiliser les nombreuses fonctionnalités du langage, mais leur raison d'être, qui n'est pas toujours explicite lors de la lecture de la spécification, ainsi que les choix d'implémentation.
Tout ceci fait que la compréhension du D passe par la lecture de cet ouvrage.









