D - это многопарадигмальный системный язык программирования, разработанный Уолтером Брайтом, а с 2006 года - Андреем Александреску. Теперь D - это сотрудничество с открытым исходным кодом.

Обзор

D - язык системного программирования, разработанный Уолтером Брайтом, а с 2006 года - Андреем Александреску. Его основное внимание уделяется объединению мощи и высокой производительности C и C++ с производительностью программиста современных языков, таких как Ruby и Python. Особое внимание уделяется требованиям параллелизма, надежности, документации, обеспечения качества, управления и переносимости.

Язык D статически типизирован и компилируется непосредственно в машинный код. Он поддерживает множество стилей программирования: императивные, объектно-ориентированные и функциональные, а также предлагает инструменты для дисциплинированного метапрограммирования на основе шаблонов. Это член семейства синтаксиса C.

Текущая версия D (технически D2), не имеющая обратной совместимости преемник, имеет полную функциональность и стала официальной версией, находящейся при поддержке.

Привет, мир в D

import std.stdio;

void main()
{
   writeln("Hello, world!");
}

Цели дизайна D

  1. Упростите написание кода, переносимого с компилятора на компилятор, с машины на машину и из операционной системы в операционную систему.
  2. Устранение неопределенного и определенного реализацией поведения, насколько это возможно.
  3. Обеспечьте синтаксические и семантические конструкции, которые устраняют или, по крайней мере, сокращают распространенные ошибки.
  4. Уменьшите или даже устраните необходимость в сторонних средствах проверки статического кода.
  5. Поддержка безопасного программирования памяти.
  6. Поддержка многопарадигмального программирования, т.е. как минимум поддержка императивных, структурированных, объектно-ориентированных, общих и даже функциональных парадигм программирования.
  7. Упростите выполнение правильных действий, чем неправильное.
  8. Получите короткую кривую обучения для программистов, комфортно владеющих программированием на C, C++, Java или C#.
  9. При необходимости обеспечьте доступ к голому металлу с низкого уровня.
  10. Предоставьте опытному программисту возможность избежать проверки при необходимости.
  11. Будьте совместимы с бинарным интерфейсом локального приложения C.
  12. Иметь контекстно-свободную грамматику, т.е. успешный синтаксический анализ не должен требовать семантического анализа.
  13. Легкая поддержка написания интернационализированных приложений.
  14. Включите методологию программирования контрактов и модульного тестирования.
  15. Уметь создавать легкие автономные программы.
  16. Сократите затраты на создание документации.

Внешние ресурсы

Использование тегов

При размещении вопросов о программировании на языке D не забудьте указать информацию о целевой системе и компиляторе. Это включает в себя имя компилятора (например, dmd, ldc, gdc), версию и настройки, используемые для компиляции.

  • Используйте d как общий тег для ссылки на язык в целом или на версию 2 в частности.
  • Используйте d1, чтобы указать конкретно на заброшенную версию 1.