Мова програмування D 8016

Паперова книга
8016
Мова програмування D - фото 1
535
22 людини

Все про “Мова програмування D”

Від видавця

Полистать

 

D - це мова програмування, мета якого - допомогти програмістам впоратися з непростими сучасними проблемами розробки програмного забезпечення. Він створює всі умови для організації взаємодії модулів через точні інтерфейси, підтримує цілу федерацію тісно взаємопов'язаних парадигм програмування (імперативне, об'єктно-орієнтоване, функціональне і метапрограмування), забезпечує ізоляцію потоків, модульну безпека типів, надає раціональну модель пам'яті і багато іншого.

 

"Мова програмування D" - це введення в D, автором якого можна довіряти. Це книга у фірмовому стилі Александреску - вона написана неформальним мовою, але без зайвих слів і не на шкоду точності. Андрій розповідає про виразах і інструкціях, про функції, контрактах, модулях і про багато іншого, що є в мові D. Андрій Александреску - один з провідних розробників D. Мова D2 сформувався в основному завдяки його серйозної теоретичної бази з програмування, а також невичерпного потоку інноваційних рішень проблем програмного проектування. І ця книга багато в чому розвивалася спільно з D. Її цінність у тому, що це не просте перерахування можливостей мови, а відповіді на запитання, чому були обрані ті або інші проектні рішення. Знаючи, з яких причин мову став саме таким, набагато легше та швидше зрозуміти його і почати програмувати на ньому.

 

У книзі ви знайдете:

 

Повний перелік засобів мови з поясненнями та наочними прикладами Опис підтримки різних парадигм програмування конкретними засобами мови Інформацію про те, чому в мову включено той чи інший засіб, і поради щодо їх використання Обговорення злободенних питань, таких як обробка помилок, контрактне програмування та паралельні обчислення Таблиці, малюнки та "шпаргалки" - зручний довідковий матеріал, незамінний для практичного вирішення завдань з допомогою D

 

Книга "Мова програмування D" написана для практикуючого програміста, причому вона не просто знайомить з мовою - це справжній довідник корисних методик та ідіом, які полегшать життя не тільки програміста на D, але і програміста взагалі. Знання однієї з мов, що сталися від Algol'у (C, C++, Java або C#), винагородить вас деякою перевагою перед іншими читачами - синтаксис відразу здасться вам знайомим, а ризик зустріти "уявних друзів" (однаковий синтаксис з різною семантикою) буде мінімальним.

 

За 10 років розвитку мова D еволюціонував від скромних основ до дуже потужного мови, віртуозно вирішального завдання програмування різними способами.

 

При використанні мови D немає гострої потреби в IDE, оскільки замість того, щоб покладатися на фокуси генерації "заготовок" різного роду "помічниками", D виключає саму ідею стандартних заготовок, застосовуючи інтроспекцію та власні можливості генерації коду. Програміст вже не побачить стандартний код. Про властиву програмами складності піклується мову, а не IDE. Так, D - складний мову, але зате програми на ньому простіше і витонченіше. А щоб легко і витончено писати код, який реалізує широкий спектр завдань, необхідний мову з підтримкою декількох різних парадигм програмування.

 

Однак лише простоти і витонченості написання коду мало для того, щоб назвати мову програмування хорошим. Сьогодні програми швидко зростають в об'ємі, тому для забезпечення коректності їх роботи все менш доцільно покладатися на знання та досвід програміста і традиційні способи перевірки працездатності коду. Все більш вартим здається підхід, коли виявлення помилок гарантує машина. Тут D може похвалитися безліччю стратегій, застосовуючи які, програміст отримає такі гарантії. Ці засоби включають контракти, безпека пам'яті, різні атрибути функцій, властивість незмінності, захист від угону імен" (hijack), обмежувачі області видимості, чисті функції, юніт-тести і ізоляцію даних при багатопотоковому програмуванні.

 

Система основних типів D творить маленькі чудеса в межах, що задаються його приналежністю до сімейства статично типізованих компилируемых мов. Визначення типу по контексту, поширення інтервалу значень, всілякі стратегії перевантаження операторів і ретельно спроектована мережа автоматичних перетворень разом роблять систему типізації D допитливим, але стриманим помічником, який якщо і прискіпується, вимагаючи уваги, то зазвичай не дарма.

 

Розробники D не забули і про продуктивності. D розроблявся як мова для системного програмування, значить, на D можна писати операційну систему, так само як і код додатків і драйверів пристроїв. З більш технічної точки зору це означає, що програми на D мають доступ до всіх можливостей машини. Тобто можна використовувати покажчики, поєднувати покажчики і виконувати над ними арифметичні операції, обходити систему типізації і навіть писати код прямо на асемблері. Немає нічого, що програмісту на D було б недоступне. Наприклад, реалізація збирача сміття для самої мови D написана повністю на D.

 

Ви скажете, хіба таке можливо? Яким чином мова може одночасно надавати і немислимі гарантії безпеки, і непідвладні ніякому контролю операції з покажчиками? Відповідь у тому, що гарантії цього типу засновані на конструкціях мови. Наприклад, з допомогою атрибутів функцій і конструкторів типів можна запобігти помилкам в режимі компіляції. Контракти і інваріанти надають гарантії коректності роботи програми під час виконання.

 

Більшість якостей D в тій чи іншій формі коли­то вже з'являлися в інших мовах. Взяті окремо, вони не виправдовують поява нової мови. Але їх комбінація - це більше, ніж просто сума частин. І комбінація D дозволяє йому претендувати на звання привабливого мови з витонченими й ефективними засобами для вирішення надзвичайно широкого кола завдань програмування.

Зміст

 

Анотація

Мова програмування D

Рецензії

0

Всі характеристики

Товар входить до категорії

  • Самовивіз з відділень поштових операторів від 45 ₴ - 80 ₴
  • Доставка поштовими сервісами - тарифи перевізника
Схожі товари
Алгоритмы оптимизации
127782
Майкл КохендерферТим Уилер
1'300 ₴
Mastering API Architecture: Design, Operate, and Evolve API-Based Systems 1st Edition
264545
James GoughMatthew AuburnDaniel Bryant
1'600 ₴
Алгоритмы принятия решений
238927
Микель КохендерферТим УинлерКайл Рэй
1'700 ₴
Алгоритмы оптимизации
175448
Майкл КохендерферТим Уилер
1'424 ₴1'780 ₴
Алгоритмы. Цветное издание
236893
Джефф Эриксон
1'790 ₴
Geometry for Programmers
263213
Oleksandr Kaleniuk
1'800 ₴
Продвинутые алгоритмы и структуры данных
265056
Марчелло Ла Рокка
1'615 ₴1'900 ₴
Learning Algorithms: A Programmer's Guide to Writing Better Code. 1st Ed.
244762
George Heineman
2'500 ₴