Мне нравится много того, что я читал о D.
- Единая документация (это сделать мою работу намного проще.)
- Возможности тестирования, встроенные в язык.
- Поддержка отладочного кода на языке.
- Передовые декларации. (Я всегда подумал, что глупо было объявить одна и та же функция дважды.)
- Встроенные функции для замены Препроцессор.
- Модули
- Typedef используется для правильной проверки типов вместо сглаживания.
- Вложенные функции. (Кашель PASCAL Кашель)
- Параметры ввода и вывода. (Насколько это очевидно!)
- Поддерживает низкоуровневое программирование - Встроенные системы, о да!
Однако:
- Может ли D поддерживать встроенную систему, которая не будет работать ОС?
- Есть ли прямое declearation, что он не поддерживает 16-разрядные процессоры полностью исключить его из встроенных приложения, работающие на таких машинах? Иногда вам не нужен молоток, чтобы решить вашу проблему.
- Сбор мусора велик для Windows или Linux, но, к сожалению, встроенные приложения иногда должны выполнять явное управление памятью.
- Проверка границ массива, вы любите его, вы его ненавидите. Отлично подходит для обеспечения дизайна, но не всегда допустимо для проблем с производительностью.
- Каковы последствия для встроенной системы, а не для работы ОС, для поддержки многопоточности? У нас есть клиент, который даже не любит прерываний. Гораздо меньше OS/многопоточности.
- Есть ли D-Lite для встроенных систем?
В принципе, D подходит для встроенных систем с несколькими мегабайтами (иногда меньше, чем у магабайта), а не с ОС, где максимальное время использования памяти должно быть известно во время компиляции (по требованиям) и, возможно, на чем-то меньшем 32-битный процессор?
Я очень заинтересован в некоторых функциях, но у меня создается впечатление, что это нацелено на разработчиков настольных приложений.
Что конкретно делает его непригодным для 16-битной реализации? (Предполагая, что 16-разрядная архитектура может адресовать достаточное количество памяти для хранения времени выполнения, либо во флэш-памяти, либо в ОЗУ.) 32-разрядные значения могут быть еще рассчитаны, хотя и медленнее, чем 16 бит, и требуют больше операций, используя библиотечный код.