Язык программирования D
Автор - Андрей Александреску
Цель языка программирования D - стать наследником С++ в области системного программирования. Как и Java с C #, D стремится избежать сложности С++, поэтому он отчасти задействует те же техники. Он создает все условия для организации взаимодействия модулей через точные интерфейсы, поддерживает целую федерацию тесно взаимосвязанных парадигм программирования (императивное, объектно-ориентированное, функциональное и метапрограммирование), обеспечивает изоляцию потоков, модульную безопасность типов, предоставляет рациональную модель памяти и многое другое. Хотя язык D существует уже более десяти лет, русскоязычных ресурсов по нему очень мало. По сути, это несколько статей в Интернете. Поэтому данная книга, пожалуй, - первый источник достоверной и полной информации об этом языке.
Книга состоит из 13 глав. Глава 1 - это бодрящая прогулка с целью знакомства с основами языка. На этом этапе не все детали полностью видны, но вы сможете почувствовать язык и научиться писать на нем простейшие программы. Главы 2 и 3 - необходимое перечисление выражений и инструкций языка соответственно. Таблицы в конце этих глав — это «шпаргалки», интуитивно понятные краткие справочники. В главе 4 описаны встроенные типы: массивы, ассоциативные массивы и строки. Массив можно представить себе как указатель с аварийным выключателем. Массивы в D - это средство, обеспечивающее безопасность памяти и позволяющее вам наслаждаться языком. Строки - это массивы знаков Юникода в кодировке UTF. Повсеместная поддержка Юникода в языке и стандартной библиотеке позволяет корректно и эффективно обрабатывать строки. Прочитав первые четыре главы, вы сможете на основе предоставляемых языком абстракций писать простые программы вроде сценариев. Последующие главы знакомят с абстракциями-блоками. Глава 5 объединяет описание различных видов функций: параметризированных функций режима компиляции (шаблоны функций) и функций, вычисляемых во время компиляции. В главе 6 обсуждается объектно-ориентированное программирование на основе классов. Глава 7 знакомит с дополнительными типами, в частности с типом struct, позволяющим, обычно совместно с классами, эффективно создавать абстракции. Следующие четыре главы описывают довольно специализированные, обособленные средства. Глава 8 посвящена квалификаторам типов. Квалификаторы надежно гарантируют от ошибок, что одинаково ценно как для однопоточных, так и для многопоточных приложений. В главе 9 рассмотрены модели обработки исключительных ситуаций. В главе 10 представлен мощный инструментарий D, реализующий парадигму контрактного программирования. Этот материал намеренно вынесен в отдельную главу в попытке развеять миф о том, что обработка ошибок и контрактное программирование - практически одно и то ж е. В главе 10 как раз и объясняется, почему это не так. В главе 11 вы найдете информацию и рекомендации по построению больших программ из компонентов, а также небольшой обзор стандартной библиотеки D. В главе 12 рассмотрены вопросы перегрузки операторов, без которой серьезно пострадали бы многие абстракции, например комплексные числа. Наконец, в главе 13 освещен оригинальный подход D к многопоточному программированию.
Предполагается, что вы программист. То есть знаете, как решить типичную задачу программирования с помощью языка, на котором вы пишете. Книга предназначена для практикующих программистов, причем она не просто знакомит с языком, а является справочником полезных методик и идиом, которые помогут не только программирующим на языке D, но и программистам вообще.
Издательство – Cимвол-Плюс
Год издания – 2012
Формат книги - PDF
Размер - 12,2 Мб
Язык программирования D. Андрей Александреску - скачать
|