Enjoy fast, free delivery, exclusive deals, and award-winning movies & TV shows with Prime
Try Prime
and start saving today with fast, free delivery
Amazon Prime includes:
Fast, FREE Delivery is available to Prime members. To join, select "Try Amazon Prime and start saving today with Fast, FREE Delivery" below the Add to Cart button.
Amazon Prime members enjoy:- Cardmembers earn 5% Back at Amazon.com with a Prime Credit Card.
- Unlimited Free Two-Day Delivery
- Instant streaming of thousands of movies and TV episodes with 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
- Unlimited photo storage with anywhere access
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:
$39.99$39.99
FREE delivery:
Wednesday, Dec 27
Ships from: Amazon.com Sold by: Amazon.com
Buy used: $31.12
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 date
2010
June 2
- Language
EN
English
- Dimensions
7.0 x 1.1 x 9.0
inches
- Length
460
Pages
Customers who viewed this item also viewed
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.59 pounds
- Dimensions : 7 x 1.1 x 9 inches
- Best Sellers Rank: #2,490,002 in Books (See Top 100 in Books)
- #219 in LANs (Books)
- #637 in C++ Programming Language
- #98,610 in Unknown
- Customer Reviews:
Videos
Videos for this product

7:39
Click to play video

Watch a Trailer
Merchant Video
Important information
To report an issue with this product, click here.
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 Amazon-
Top reviews
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
One or two more well written books on D, in particular a "Learning D" book like those from O'Reilly and Apress for a ramping up tutorial... In particular, a re-occuring programming project that continues to show up almost every chapter to keep adding a little more to it based on what you learned in a specific chapter... a "Cookbook", or "Recipits" or "A way of book" for guidance... And a killer App or Framework, and watch out C++, C# and Java. Personally I would love to see that framework be a reimplementation (not a wrapper) of OpenGL and OpenAL.
The Language shows its root and the lessons hard learned from the past. C++ programmers looking for more expressiveness in there code, or Python, Ruby and Perl programmers wanting to get into "System" or "Low Level Application Programming", this is the language for you.
The one thing that this language could use, and soon to help grab developers interest, is an interactive interpreter like the ones in Python and Ruby, to do some live coding for quickly following programming examples from a tutorial web site, or from this, or another, book. And of course, to test out ideas you have without the need to write up a test program and compile it each time you want to experiment.
Get this book! And rate it here!!! The more that get it and give their honest opinion about the language (hopefully a positive one), the sooner we will see the other types of books I mentioned above. I am personally hoping for an Apress "The D programming language: From Novice to Pro", to really start bringing D to the masses. But it all begins here with this masterful Addison Weselly-Profesional publication, by an author that knows the language backwards and forwards, and has a semi-unique yet endearing writing style.
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.
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.
The book is clearly aimed at experienced programmers wanting to learn D as a second or subsequent language. If that's you, I recommend it without hesitation. The book assumes you already know what types, variables and functions are, and goes straight into specifics about D. It also explains not only the choices that D has made, but why it made them and how to work with them. D draws strongly from C++ and C, and you'll find it easiest to learn D from this book if you've used those languages already. However, D also exploits a number of important ideas drawn from other strands, such as functional programming, so don't feel put off if your expertise lies elsewhere.
Although D itself would make a good choice of first language, this book is not a programming primer. Ali Cehreli's book is aimed squarely at that constituency, and you might do better there if you're a beginner.
The only reason I've given Dr Alexandrescu's book only four stars is that -- as you can see by visiting (...) and looking at the change logs -- D has come a long way since 2010. If the author could be persuaded to update his book and keep it to the same standard, I'd certainly award it five stars.
The book is both interesting and easy to follow and provides useful knowledge of the D programming language.
I have read a couple of the authors books on C++, but now find myself drawn further into this fascinating language D.
The more I read of this book, the more I realise how many problems that have plagued software engineers for so long are solved by D.
The syntax is in general C/C++/Java style and will be simple for any C/C++/Java programmer to pick up in a very short time.
This language offers the Power of C/C++ with the ease of Java and amazingly does not run in a virtual machine D compiles into native code!
This book is worth every penny and the D compiler and many other useful tools are free.
If you are intrigued by this new language and you will be if you are a C/C++ programmer, this book is invaluable.
Buy it!
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.
Nun lässt sich argumentieren, dass es für die Bibliotheken ja eigene Bücher geben könnte (für Phobos kenne ich keins), aber das hilft dem praktisch denkenden Programmierer auch nicht weiter, es strapaziert höchstens den Geldbeutel bzw. die wenige Freizeit, beim Zusammensuchen der nötigen Infos.
Die Standardbibliothek Phobos hat im Buch ein eigenes Unterkapitel über sage und schreibe knapp zwei Seiten und die offene, aber sehr gute und deutlich umfangreichere Bibliothek Tango wird im Index mit keinem Wort erwähnt. Ausserdem fehlt mir auch die Perspektive in Bezug auf D. Die Sprache ist ja schon in die Jahre gekommen, bevor sie von der Programmierergemeinde überhaupt wahrgenommen wurde. Die Entwicklung von D selbst geht gefühlt deutlich langsamer als schleppend voran, da haben selbst Wanderdünen Vorfahrt. Selbst die Beta der Version 2 ist nur in einer 32 Bit Version verfügbar (na immerhin sind's nicht 16 Bit).
Das Buch schafft es wirklich scheuklappenmäßig den Tellerrand meilenweit zu meiden und sich auf das wesentliche der eigentlichen Sprache D zu beschränken. Das immerhin gut, deswegen gibt es auch drei Sterne.




