Re[5]: шаблоны С++ и дженерики С#
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.09.09 15:07
Оценка:
Здравствуйте, snaphold, Вы писали:

S>А скажите для несведующих, что имеется ввиду под фразой


VD>>А вот в С++ компонентности не было, нет и, похоже, уже не будет.


То что сказано. Если это непонятно, то наверно стоит начать с общих сведений о компонентах и КООП:
http://en.wikipedia.org/wiki/Component-oriented_programming

С++ не имеет встроенных средств поддержки КООП. В нем нет таких понятий как:
1. Отчуждаемые модули которые можно передавать в бинарном виде и из которых можно создавать экзепляры классов (компонентов).
2. Системы динамического создания экзепляров. Тип создаваемого объекта должен быть известен заранее.
3. Метаинформации позволяющей выявлять наличие компонентов и анализировать их свойства (возможности).

Для решения этих проблем были созданы разные технологии. Самая известная из них — это MS COM.

S>и под этой


VD>>Когда же язык и его рантайм исходно поддерживают компонентность, то костыли не требуются. Любой класс является компонентом и может быть использован в рантайме без дополнительных приседаний.


Опять же то что написано. Все перечисленные возможности уже встроены в язык и его рантайм. Скажем в дотнете и яве можно:
1. Размещать код компонентов в отдельных модулях (сорки дотнета и jar-архивы явы и class-файлы).
2. Экземпляры типом можно создавать на основании их текстовых имен или другой информаци.
3. О каждом типе и модуле можно получить исчерпывающую информацию даже если нет их исходников.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.