Зарегистрироваться
Восстановить пароль
FAQ по входу

Alexandrescu А. The D Programming Language

  • Файл формата pdf
  • размером 4,87 МБ
  • Добавлен пользователем , дата добавления неизвестна
  • Описание отредактировано
Alexandrescu А. The D Programming Language
Addison-Wesley, 2010. — 492 р. — ISBN 978-0-321-63536-5.
D is a high-productivity programming language that generates highly efficient machine code. In this book, one of D's leading designers and developers presents the entire language from start to finish.
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.
The Best Book on The D Programming Language!
Programming language design seeks power in simplicity and, when successful, begets
beauty.
Choosing the trade-offs among contradictory requirements is a difficult task that
requires good taste from the language designer as much as mastery of theoretical
principles and of practical implementation matters. Programming language design is
software- engineering- complete.
D is a language that attempts to consistently do the right thing within the constraints
it chose: system-level access to computing resources, high performance, and syntactic
similarity with C- derived languages. In trying to do the right thing, D sometimes stays
with tradition and does what other languages do, and other times it breaks tradition
with a fresh, innovative solution. On occasion that meant revisiting the very constraints
that D ostensibly embraced. For example, large program fragments or indeed entire
programs can be written in a well-defined memory-safe subset of D, which entails giving
away a small amount of system-level access for a large gain in program debuggability.
You may be interested in D if the following values are important to you:
Performance. D is a systems programming language. It has a memory model that,
although highly structured, is compatible with C's and can call into and be called
from C functions without any intervening translation.
Expressiveness. D is not a small, minimalistic language, but it does have a high
power-to-weight ratio. You can define eloquent, self-explanatory designs in D that
model intricate realities accurately.
"Torque. " Any backyard hot-rodder would tell you that power isn't everything; its
availability is. Some languages are most powerful for small programs, whereas
other languages justify their syntactic overhead only past a certain size. D helps
you get work done in short scripts and large programs alike, and it isn't unusual
for a large program to grow organically from a simple single-file script.
Concurrency. D's approach to concurrency is a definite departure from the lan-
guages it resembles, mirroring the departure of modern hardware designs from
the architectures of yesteryear. D breaks away from the curse of implicit memory
sharing (though it allows statically checked explicit sharing) and fosters mostly
independent threads that communicate with one another via messages.
Generic code. Generic code that manipulates other code has been pioneered by
the powerful Lisp macros and continued by C++ templates, Java generics, and
similar features in various other languages. D offers extremely powerful generic
and generational mechanisms.
Eclecticism. D recognizes that different programming paradigms are advanta-
geous for different design challenges and fosters a highly integrated federation
of styles instead of One True Approach.
"These are my principles. If you don't like them, I've got others. " D tries to ob-
serve solid principles of language design. At times, these run into considerations
of implementation difficulty, usability difficulties, and above all human nature
that doesn't always find blind consistency sensible and intuitive. In such cases, all
languages must make judgment calls that are ultimately subjective and are about
balance, flexibility, and good taste more than anything else. In my opinion, at
least, D compares very favorably with other languages that inevitably have had to
make similar decisions.
  • Чтобы скачать этот файл зарегистрируйтесь и/или войдите на сайт используя форму сверху.
  • Регистрация