- 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
- Average Customer Review: 4.5 out of 5 stars See all reviews (62 customer reviews)
- Amazon Best Sellers Rank: #1,101,790 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
The D Programming Language 1st Edition
Use the Amazon App to scan ISBNs and compare prices.
Customers who bought this item also bought
What other items do customers buy after viewing this item?
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 preAcision. 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 featuresHow feature groups support major programming paradigmsRationale and best-use advice for each major featureDiscussion of cross-cutting issues, such as error handling, contract programming, and concurrencyTables, 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.
If you are a seller for this product, would you like to suggest updates through seller support?
Top Customer Reviews
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.
I've highlighted these particular aspects of the book because they are the areas about which I was most uncertain before reading it. But the entire book is well written, witty and easy to read. If you've never written a line of D in your life, you should have no trouble doing so after reading this book. I can't begin to speculate how much a beginning programmer might get out of it, but I would certainly recommend it to anyone who has at least a basic familiarity with another language from the C family. Andrei has that rare gift of taking potentially boring or complicated material and making it not only digestable, but fun.
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. Perhaps the book requires a certain amount of self-confidence in the reader. Andrei doesn't usually reassure the reader by spelling out the obvious; everything is there, but more concentrated - sort of like the D language itself. It is chock full of great insights and anecdotes without any fluff.
Some of the concepts and integrated features in D covered in this book that I found particularly interesting include code correctness, built-in unit tests, contract programming, memory safety, immutability, hijack protection, in-line assembly code, and D's well-planned approach to concurrency.
This book serves as an excellent reference, even including quick language reference guides at the ends of chapter 2 and 3, but is also a joy to read, providing a fascinating look at how a great programming language was conceived by some of the greatest minds in computer science today.
Most Recent Customer Reviews
never took off; filling the gap at a time when C++ was established, but the
rise of...Read more