Proudly - Shop now
Add Prime to get Fast, Free delivery
Amazon prime logo
Buy new:
-20% $39.99
FREE delivery Tuesday, December 24
Ships from: Amazon.com
Sold by: Amazon.com
$39.99 with 20 percent savings
List Price: $49.99
FREE Returns
FREE delivery Tuesday, December 24
Or Prime members get FREE delivery Friday, December 20. Order within 17 hrs 33 mins.
Arrives before Christmas
Only 1 left in stock (more on the way).
$$39.99 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$39.99
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Ships from
Amazon.com
Ships from
Amazon.com
Sold by
Amazon.com
Sold by
Amazon.com
Returns
Returnable until Jan 31, 2025
Returnable until Jan 31, 2025
For the 2024 holiday season, eligible items purchased between November 1 and December 31, 2024 can be returned until January 31, 2025.
Returns
Returnable until Jan 31, 2025
For the 2024 holiday season, eligible items purchased between November 1 and December 31, 2024 can be returned until January 31, 2025.
Payment
Secure transaction
Your transaction is secure
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
Payment
Secure transaction
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
$22.95
Get Fast, Free Shipping with Amazon Prime FREE Returns
The book may have minor cosmetic wear like creased spine, cover, scratches, curled corners, folded pages, minor sunburn, minor water damage, minor bent. The book may have some highlights, notes, underlined pages. Accessories such as CD, codes, toys, may not be included . Safe and Secure Mailer. No Hassle Return The book may have minor cosmetic wear like creased spine, cover, scratches, curled corners, folded pages, minor sunburn, minor water damage, minor bent. The book may have some highlights, notes, underlined pages. Accessories such as CD, codes, toys, may not be included . Safe and Secure Mailer. No Hassle Return See less
FREE delivery Tuesday, December 24 on orders shipped by Amazon over $35
Or Prime members get FREE delivery Friday, December 20. Order within 15 hrs 33 mins.
Arrives before Christmas
Only 1 left in stock - order soon.
$$39.99 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$39.99
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Access codes and supplements are not guaranteed with used items.
Kindle app logo image

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.

QR code to download the Kindle App

Follow the author

Something went wrong. Please try your request again later.

The D Programming Language 1st Edition

4.6 4.6 out of 5 stars 88 ratings

{"desktop_buybox_group_1":[{"displayPrice":"$39.99","priceAmount":39.99,"currencySymbol":"$","integerValue":"39","decimalSeparator":".","fractionalValue":"99","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"smG7LFBPhhxq3jx%2FBP9gzpwojx6NdeWwO5aL3dqYGCdxT7x4DkQZzphe61lqUHm8x82SKk33EuHSIiL2rBvqMdzq40f5z2vz6HpunMXin%2FBrkFW8H9BYUkbfbmCJajT5SJpWSl5d40U%3D","locale":"en-US","buyingOptionType":"NEW","aapiBuyingOptionIndex":0}, {"displayPrice":"$22.95","priceAmount":22.95,"currencySymbol":"$","integerValue":"22","decimalSeparator":".","fractionalValue":"95","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"smG7LFBPhhxq3jx%2FBP9gzpwojx6NdeWwL1CXoUrOVhY6SCoAw9pvKb5iVzM4nUH0Znft0yc0FmgeYqJhXC6HFvdJWUc9MibLzGN6DbrQqIDdo3Zg32tyCBjgpJmTQcm4F1ya6pi%2B7dJK%2BAM9o%2Fk3hFBzABsGv0dVTDRPiK38CYaTx1D%2FvRsaNlV%2FWlE2orvZ","locale":"en-US","buyingOptionType":"USED","aapiBuyingOptionIndex":1}]}

Purchase options and add-ons

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

Frequently bought together

This item: The D Programming Language
$39.99
Get it as soon as Tuesday, Dec 24
Only 1 left in stock (more on the way).
Ships from and sold by Amazon.com.
+
$51.72
Get it as soon as Thursday, Dec 26
In Stock
Ships from and sold by Amazon.com.
Total price: $00
To see our price, add these items to your cart.
Details
Added to Cart
spCSRF_Treatment
One of these items ships sooner than the other.
Choose items to buy together.

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 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
  • Customer Reviews:
    4.6 4.6 out of 5 stars 88 ratings

About the author

Follow authors to get new release updates, plus improved recommendations.
Andrei Alexandrescu
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

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

4.6 out of 5 stars
88 global ratings

Review this product

Share your thoughts with other customers

Customers say

Customers find the book an excellent reference for learning the D language. It provides a good overview of the language and its design, with fast compile times. The author's writing style is engaging, with a focus on the underlying concepts.

AI-generated from the text of customer reviews

Select to learn more
22 customers mention "Language"19 positive3 negative

Customers find the language productive for developers. They appreciate the well-designed and thorough explanation of the programming language in this book. The author's engaging writing style focuses on the underlying concepts. Overall, readers describe the book as an excellent introduction to the D programming language.

"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

20 customers mention "Book value"20 positive0 negative

Customers find the book a good reference for learning the D language. They say it's an excellent teaching guide and that the author does an excellent job of explaining the reasoning behind things. The book is well-written and serves as a good resource for new users learning the language.

"...'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 from the United States

  • Reviewed in the United States on August 19, 2024
    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 outs of the language. It's written to be easy to understand and offers loads of examples. Highly recommend.
  • Reviewed in the United States on March 31, 2014
    I was drawn to D by the need my application has for speed. Some D benchmarks show D as being faster than compiled C++

    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.
    3 people found this helpful
    Report
  • Reviewed in the United States on January 3, 2011
    "The D Programming Language" by Andrei Alexandrescu is a
    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.
    5 people found this helpful
    Report
  • Reviewed in the United States on April 22, 2012
    I just found out about the D language recently, and I have to say: this is what C++ should have been!

    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.
    7 people found this helpful
    Report

Top reviews from other countries

Translate all reviews to English
  • Amazon Customer
    5.0 out of 5 stars Five Stars
    Reviewed in Canada on December 15, 2017
    Very well written description of the D language.
  • M C
    5.0 out of 5 stars Andrei's introduction gets you excited about programming.
    Reviewed in the United Kingdom on August 3, 2017
    The D programming language might have slipped under a lot of people's radars. It may even be that the language itself out-dates many peoples' radars and so did not appear as a blip at all. Yet D has been quietly picking up speed in the last 3 years since I first picked up this book. I knew of Andrei Alexandrescu from a few C++ books I picked up to try and learn the language during my undergraduate degree and I have to say, C++ has always been my most dreaded language to work with because it's such a behemoth. I was fine with C, and Java was fun at the time, but C++ was something I used out of necessity, but received no joy in doing so.

    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.
  • Udo Klarhöfer
    5.0 out of 5 stars Tolles Buch
    Reviewed in Germany on November 20, 2013
    Sehr gut und locker geschrieben, wenn auch mit einem Wortschatz, der meine Englischkenntnisse an vielen Stellen ziemlich fordert. Trotzdem blieb das Werk für mich gut verständlich und der Autor überzeugt immer wieder mit seinem sehr fundierten Wissen.
    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.
  • Roberto
    5.0 out of 5 stars Excellent
    Reviewed in Italy on January 28, 2013
    Ottimo testo sia per comprendere il linguaggio D e iniziare ad usarlo, sia come testo "teorico" di linguaggi di programmazione. La lettura mette in luce soluzioni moderne (e non) a problemi presenti in linguaggi più comuni....per i quali la grande diffusione e la necessità di compatibilità impedisce di apportare le giuste correzioni.
    Il linguaggio D parte "da zero" e credo arrivi ad un buon risultato.
  • Hagar Dunor
    5.0 out of 5 stars Le livre indispensable à toute personne qui s'intéresse à D
    Reviewed in France on June 24, 2012
    Ce livre est écrit par l'un des designers du langage. Andrei Alexandrescu est un expert du C++ qui est venu renforcer Walter Bright dans le redesign du langage D. D est aujourd'hui le meilleur candidat à la succession de C++, si on exclut C++ lui-même. C'est un langage multi paradigmes très puissant, qui est orienté performances. C'est une espèce de mix entre C++, Java et Python, matiné de concepts issus des langages fonctionnels. De par sa complexité, ce langage n'est pas destiné au programmeur débutant. Une expérience en C++ ou en Java est utile pour appréhender D.

    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.