Язык программирования D: различия между версиями

Содержимое удалено Содержимое добавлено
Правка ошибки: дважды повторено "его".
→‎Чего нет в языке D: исправлена опечатка
Строка 43:
=== Чего нет в языке D ===
 
* Совместимость с исходным кодом языка C. Уже существуетсуществуют языки программирования, совместимые с исходным кодом, написанным на языке C (C++ и ObjectiveC). Дальнейшая работа в этом направлении препятствует реализации существенных возможностей;
* Препроцессор. Для расширения языка удобно использовать макросы. Компиляция с условиями (#if, #elif, #ifdef), включения кода (#include), макросы (#define), конкатенация строк по существу формируют дополнительный язык, не связанный синтаксисом с основным языком программирования. Препроцессор в C/C++ является довольно примитивным макроязыком. Самое время сделать шаг назад и посмотреть, для чего используется препроцессор, а затем внедрить поддержку этих возможностей в собственно язык программирования;
* Множественное наследование. Это запутанная возможность сомнительной полезности. Множественное наследование может быть заменено обычным наследованием с использованием интерфейсов и агрегированием;