Универсальное программирование
- Шаблоны в C++ могут привести к раздутому, трудному для понимания и сопровождения коду.
- Текущие разработки в области стандартов C++ усугубляют проблему использования шаблонов.
- Поддержка шаблонов может быть плохой, особенно при использовании компоновщика, который не поддерживает C++.
- Шаблоны в D поддерживают C++ и добавляют функциональность, такую как произвольные значения во время компиляции и псевдонимы для произвольных идентификаторов.
- D сочетает полиморфизм во время компиляции с универсальным программированием на основе признаков.
- Универсальные классы были частью Eiffel с момента создания оригинального метода и разработки языка.
- В Java обобщенные выражения проверяются на корректность типа только во время компиляции.
- .NET generics реализуют обобщения как первоклассный механизм во время выполнения, используя овеществление.
- Пересказана только часть статьи. Для продолжения перейдите к чтению оригинала.
Полный текст статьи: