D2 (версия 2) является преемником начальной версии языка программирования D, разработанной Уолтером Брайтом и с 2006 года Андреем Александреску.

обзор

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

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

В настоящее время существует две версии D:

  • Версия 1 достигла стабильного статуса в 2007 году и была прекращена 31 декабря 2012 года.
  • Версия 2, не имеющая обратной совместимости преемника, является полной функциональностью и в настоящее время находится на заключительной стадии разработки (см. Тег d2 для конкретной версии).

Дизайн Цели D

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

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

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

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