D (язык программирования)


D (Ди) — мультипарадигмальный статически типизированный компилируемый язык программирования, созданный Уолтером Брайтом из компании Digital Mars. Начиная с 2006 года соавтором также является Андрей Александреску. D является потомком языка C++, но существенно доработан по сравнению с ним. Также он заимствует ряд концепций из языков программирования Python, Ruby, C#, Java, Eiffel.

D доступен для операционных систем Windows, Linux, macOS, FreeBSD. Ведётся работа по портированию на Android[3].

В предисловии к книге А. Александреску «Язык программирования D» Уолтер Брайт пишет, что начал разработку этого языка в 1999 году. Проект задумывался как реинжиниринг языка C++ с целью избавиться от наиболее существенных недостатков исходного языка и внедрить в него современные архитектурные решения. При создании языка D была сделана попытка соединить производительность компилируемых языков программирования с безопасностью и выразительностью динамических.

Первоначально автор предполагал назвать язык «Mars», но из-за преемственности по отношению к C++ в обсуждениях язык постоянно называли «D», в результате именно это название и закрепилось за проектом.

Стабильная версия компилятора 1.0 вышла 2 января 2007[4]. Вскоре после выхода компилятора 17 июня 2007 года автор перевёл версию 1 в режим поддержки и приступил к разработке версии 2.0, которая изначально не гарантировала обратной совместимости[5]. Эта версия (последняя на сегодняшний день мажорная версия D) развивается и по сей день.

В языке D реализовано множество синтаксических средств и концепций, отсутствующих в C++: контрактное программирование, встроенные юнит-тесты, модули вместо заголовочных файлов (до C++ 20), поддержка сборки мусора (при сохранении доступности ручного управления памятью), встроенные ассоциативные массивы, замыкания, анонимные функции, значительно переработан механизм шаблонов.