Описание тега d
Обзор
D - язык системного программирования, разработанный Уолтером Брайтом, а с 2006 года - Андреем Александреску. Его основное внимание уделяется объединению мощи и высокой производительности C и C++ с производительностью программиста современных языков, таких как Ruby и Python. Особое внимание уделяется требованиям параллелизма, надежности, документации, обеспечения качества, управления и переносимости.
Язык D статически типизирован и компилируется непосредственно в машинный код. Он поддерживает множество стилей программирования: императивные, объектно-ориентированные и функциональные, а также предлагает инструменты для дисциплинированного метапрограммирования на основе шаблонов. Это член семейства синтаксиса C.
Текущая версия D (технически D2), не имеющая обратной совместимости преемник, имеет полную функциональность и стала официальной версией, находящейся при поддержке.
Привет, мир в D
import std.stdio;
void main()
{
writeln("Hello, world!");
}
Цели дизайна D
- Упростите написание кода, переносимого с компилятора на компилятор, с машины на машину и из операционной системы в операционную систему.
- Устранение неопределенного и определенного реализацией поведения, насколько это возможно.
- Обеспечьте синтаксические и семантические конструкции, которые устраняют или, по крайней мере, сокращают распространенные ошибки.
- Уменьшите или даже устраните необходимость в сторонних средствах проверки статического кода.
- Поддержка безопасного программирования памяти.
- Поддержка многопарадигмального программирования, т.е. как минимум поддержка императивных, структурированных, объектно-ориентированных, общих и даже функциональных парадигм программирования.
- Упростите выполнение правильных действий, чем неправильное.
- Получите короткую кривую обучения для программистов, комфортно владеющих программированием на C, C++, Java или C#.
- При необходимости обеспечьте доступ к голому металлу с низкого уровня.
- Предоставьте опытному программисту возможность избежать проверки при необходимости.
- Будьте совместимы с бинарным интерфейсом локального приложения C.
- Иметь контекстно-свободную грамматику, т.е. успешный синтаксический анализ не должен требовать семантического анализа.
- Легкая поддержка написания интернационализированных приложений.
- Включите методологию программирования контрактов и модульного тестирования.
- Уметь создавать легкие автономные программы.
- Сократите затраты на создание документации.
Внешние ресурсы
Использование тегов
При размещении вопросов о программировании на языке D не забудьте указать информацию о целевой системе и компиляторе. Это включает в себя имя компилятора (например, dmd, ldc, gdc), версию и настройки, используемые для компиляции.