Programming Books C Java PHP Python Learn more Browse Programming Books
The D Programming Language and over one million other books are available for Amazon Kindle. Learn more
  • List Price: $49.99
  • Save: $24.80 (50%)
Rented from RentU
To Rent, select Shipping State from options above
Due Date: May 29, 2015
FREE return shipping at the end of the semester. Access codes and supplements are not guaranteed with rentals.
Condition: Used: Good
Comment: Fast shipping from Amazon! Qualifies for Prime Shipping and FREE standard shipping for orders over $35. Overnight, 2 day and International shipping available! Excellent Customer Service.. May not include supplements such as CD, access code or DVD.
Access codes and supplements are not guaranteed with used items.
  • List Price: $49.99
  • Save: $10.01 (20%)
Only 4 left in stock (more on the way).
Ships from and sold by
Gift-wrap available.
The D Programming Languag... has been added to your Cart
Sell yours for a Gift Card
We'll buy it for $12.10
Learn More
Trade in now
Have one to sell? Sell on Amazon
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

The D Programming Language Paperback – June 12, 2010

ISBN-13: 978-0321635365 ISBN-10: 0321635361 Edition: 1st

Buy New
Price: $39.98
Price: $25.19
23 New from $28.92 18 Used from $24.86
Amazon Price New from Used from
"Please retry"
"Please retry"
$28.92 $24.86
Free Two-Day Shipping for College Students with Amazon Student Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student

Frequently Bought Together

The D Programming Language + D Cookbook
Price for both: $84.97

Buy the selected items together

Hero Quick Promo
Save up to 90% on Textbooks
Rent textbooks, buy textbooks, or get up to 80% back when you sell us your books. Shop Now

Product Details

  • Paperback: 460 pages
  • Publisher: Addison-Wesley Professional; 1 edition (June 12, 2010)
  • Language: English
  • ISBN-10: 0321635361
  • ISBN-13: 978-0321635365
  • Product Dimensions: 7 x 1 x 9.1 inches
  • Shipping Weight: 1.7 pounds (View shipping rates and policies)
  • Average Customer Review: 4.5 out of 5 stars  See all reviews (57 customer reviews)
  • Amazon Best Sellers Rank: #358,708 in Books (See Top 100 in Books)

Editorial Reviews

From the Back Cover

“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 Languageis 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 Languagenot 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.

Related Media

Customer Reviews

I would highly recommend this book to anyone interested in learning more about D.
Anthony Keith Bourque
It covers both introductory material as well as some advanced features, and does it in an entertaining style that makes the book both informative and easy to read.
C. Young
The D programming language was designed to be a successor to C++ as a systems programming language.
Charles Ashbacher

Most Helpful Customer Reviews

33 of 35 people found the following review helpful By Michael Parker on August 1, 2010
Format: Paperback
First, a little context. I've been around the D community for a few years, keep a blog about items of interest to D users, maintain an open source D project and, in 2007, coauthored "Learn to Tango with D". Through all of that, the majority of my experience was with D1. I was hesitant, even reluctant, to use version 2 of the language because, in some ways, it is a bit paradigm shift from the first version. Andrei's book has dispelled any doubts I had about moving forward with D2.

D2 melds several different programming paradigms into one whole. One of the most radical differences from existing C-family languages is the concept of 'ranges', which are intended as an improvement over, and replacement for, the more familiar 'iterators' of other languages. Before the book, while ranges were being implemented in the alpha versions of the D2 compiler, some people had trouble wrapping their heads around ranges. Here, Andrei explains them in a way that makes them easy to grok and will have you using them in no time. And it's important that you do understand them as Phobos, D's standard library (which is intentionally not given much coverage in the book) has been reworked around the concept.

Aside from ranges and the more basic features of D which aren't so foreign, you'll also learn about D's interpretation of constness and immutability (D's const and immutable keywords are intended to improve upon the mess that is C++ const), and the D style of concurrent programming. D is poised to slot seamlessly in to the world of multi-core programming, with built-in features that simplify the process for those, like me, who can't think on that scale. Andrei's explanation of concurrency pitfalls and D's solutions should turn a light on for you if you're in the dark about it.
Read more ›
2 Comments Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
28 of 29 people found the following review helpful By Justin E Greenwood on June 25, 2010
Format: Paperback Verified Purchase
This book is one of the things D really needed to launch itself out of obscurity. It thoroughly explains the strengths of the language, why it is a practical language to learn and use, and it walks you through the more complex aspects of the language such as meta programming and concurrency/threading (which is often overlooked). As others have stated, it would be nice to have more real world examples - but then again, I never liked the books that have 5 out of 6 pages completely filled with code. This book is a good introduction to the rich toolset D provides - it's up to you to dig in and get experienced.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
24 of 25 people found the following review helpful By D. Simcha on June 22, 2010
Format: Paperback Verified Purchase
I've been using D regularly for about 2 years. When I heard about this book, I bought it more out of curiosity than anything. I was pleasantly surprised when this book revealed facets of D that I had not been aware of through two years of usage, library writing and forum surfing. Andrei's entertaining yet to-the-point style makes this a pleasant read, and he manages to cover both basic and advanced topics thoroughly yet succinctly.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
10 of 10 people found the following review helpful By Nicholas Sterling VINE VOICE on October 18, 2010
Format: Paperback Vine Customer Review of Free Product ( What's this? )
"Just what I need -- another D in programming." -- segfault

Perhaps in the application space you've been using Java/C# and a dynamic language like Python or Ruby. Maybe you're looking at Scala. But you also want a more modern replacement for C and C++ in the system space. You browse the D web site and find it interesting, so you decide to invest in this book.

I did, and found this a very good book, and D a very interesting language.

The author writes with clarity, using many easily understood small examples that show, usually with D's slick unit-test facility, what each feature does. Typographically, the examples are set off from the text in light gray boxes -- a nice touch. He is very good about motivating each feature, giving you a sense that some as-yet-unmentioned facility is needed in order to solve some problem, and hey -- look what we have here...

There are no long examples -- I don't think any of them reached a full page. I honestly didn't feel like I missed them, although arguably it would have helped to see many of the features used together in a more substantial example.

Oh, by the way -- Andrei has a great sense of humor! It really shows in the book, making it more readable.

I particularly enjoyed the last chapter, on concurrency. The author spends seven excellent pages just talking about the need for concurrency, what was done about it by the previous crop of languages, and what's wrong with that approach. Then he rolls out D's concurrency support, which is pretty cool.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
13 of 14 people found the following review helpful By TOPJOB7 VINE VOICE on July 29, 2011
Format: Paperback Vine Customer Review of Free Product ( What's this? )
This is not only the pre-eminent book on the D language, it is also a fascinating read. It actually covers D2, the 2nd generation of the D language.

This is a must-have book for anyone who programs in D or wants more than a cursory understanding of the D language. It is also excellent for any C++ or Java programmer who (like me) would appreciate insights into the how and why of language design.

As an experienced C++ programmer who has also used many other languages from LISP to Java, I was intrigued by D and wanted to learn more. Andei Alexandrescu did not let me down. He not only provides a complete expose on the language, but also offers a remarkably insightful look at how language design choices were made. It was, I might add, a very compelling argument in favor of D. I wish I could switch from C++ today, but only time will tell if D will become well enough established to broadly supplant C++ and/or Java.

D was given birth by Walter Bright, an experienced C++ compiler designer, who wanted to design a better language from the perspective of a compiler writer with a very intricate understanding of the C++ language and its inefficiencies. The end result is a language that is not only more compiler-friendly, but is a joy to program. D is intended to be suitable as systems programming language, as was C++; but also provides the means for simpler code to do more complex tasks. It is quite flexible and supports multiple programming paradigms while remaining high performance.

This book is both entertaining and intellectually stimulating. As I read, I felt that I was thinking along with the author, as if in a close conversation. At times, I felt that reading the book required perceiving the author's mindset to fully grasp what was being said.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Recent Customer Reviews

More 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.

What Other Items Do Customers Buy After Viewing This Item?