Здравствуйте, AndrewVK, Вы писали:
AVK>Мудрые мужи стараются не придерживаться замшелых принципов и позволяют от компонентов наследоваться.
С т.з. зрения наследника — это уже не компонент а класс, иначе никак.
Компонент — это "черный" ящик с парой интерфейсов.
AVK>А компонент это и есть модуль с ОО-интерфейсом доступа, чтобы там не говорили некоторые товарищи. Главная фишка компонента — динамическое связывание, все остальное это особенности конкретных реализаций.
Дудки.
Главная фишка компонента — инкапсуляция сложности внутри себя и обеспечение двоичной совместимости со средой, где работает, и интерфейсами, как своими, так и других компонентов.
Ты все время говоришь о классах, ИМХО.
В Яве ввели бины, и тоже назвали их компонентами. Смешные ребята, право.
В MS они оставили компоненты только как ср-во для визуального накидывания. С т.з. именно среды разработки, упомянутые классы — настоящие компоненты. Студия не собирается их наследовать, но должна с ними единообразно работать, что и делает, через эти пару интерфесов.
Т.е. компоненная сторона этих компонентов используется только в момент работы со студией, и никогда в рантайме (за исключением аналогичных студии задач).
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, Kluev, Вы писали:
K>>Ты же классы напрямую юзаешь, а не через интерфейсы.
AVK>С чего ты взял что связывание при этом статическое?
он наверно имел ввиду возможность непосредственного использования классов,
для создания, там, наследования и пр.
Действительно, голый компонентный подход порождает кучу геммора и дополнительных приседаний.
Подход Явы и дотнета — смешанный, и потому успешный.
Здравствуйте, VladD2, Вы писали:
VD>По-моему, огромное монолитное ядро — это признак плохого дизайна. Если продукт пишется одним человеком или группой из 3-5 человек, то может это и нормально. А Линукс — это просто флаг кривого дизайна.
нет там никакого дизайна.
есть posix API, различные части которого сами по себе плохо связаны.
API не объектное, функциональное, и что с того?
для 70-х, очень даже ничего.
AndrewVK,
> Тут вопрос терминологии — монолитность в плане модульности действительно суровый недостаток, поэтому в современном линуксе кое что уже подгружаемое.
ОК, в такой постановке, применительно к Линуксу, возражений нет.
> Ну а изоляция ядра это действительно религиозный вопрос, только к КОП она имеет отдаленное отношение.
Согласен.
> ПК> даже с учетом этих поправок полагать такую архитектуру бесспорным недостатком дизайна операционной системы, имхо, тоже неверно.
> Не знаю. По мне так современная ОС без модульности просто немыслима.
Даже встроенная в часы/микроволновку/истребитель? А применительно к прикладной программе, о которой, собственно, и шла речь изначально? Снова-таки, это относится ко всем мыслимым прикладным программам, или только к некоторым?
Posted via RSDN NNTP Server 1.9 gamma
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
VladD2,
> ЗХ> Но местами это правда выглядит так, что — сказать нечего, поэтому вместо следующего шага в дискуссии начинаем посылать (например: Влад: — Приведи доказательства; ПК: — Погугли по терминам таким-то; Влад: — Пошел нафик, тебе надо — ты и гугли.)
> Есть такая штука — презумпция невиновности.
Которая сюда совершенно никакого отношения не имеет. Тут ситуация совершенно обратная. Тебя ни в чем не обвиняют, просто утверждают, что в дискуссии никакие утверждения изначально верными не считаются. Соответственно, если ты выдвинул какой-либо аргумент, с верностью которого твой оппонент не согласен, и этот аргумент ты не обосновываешь, то этот аргумент в дискуссии просто не учитывается.
Posted via RSDN NNTP Server 1.9 gamma
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
VladD2:
> То есть высказывание своего мнения — это флэйм?
Если соблюдаются остальные условия, обозначенные выше, — да.
> ОК, тогда я ужасный флэймогон, так как буду делать это и дальше. И доказывать буду только то что посчитаю нужным. Андестынд?
Дык, последние сомнения уже давно рассеялись.
Posted via RSDN NNTP Server 1.9 gamma
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Здравствуйте, Kluev, Вы писали:
K>P.S.S: И где кстати ты видел у МС проги написанные в таком стиле? У них либо монолит, либо помйка с ОЛЕ. Которая ни себе ни людям. Наружу торчат какие-то полулевые наполовину реализованные интерфейсы возвращающие E_NOTIMPL, а для себя юзаются закрытые.
весь выньапи — p-Impl чистой воды, хендлы — это указатели на сокрытые структуры-имплементаторы.
ранее они это на сях писали, теперь на С++, посмотри на заголовки GdiPlus, они есть у тебя. Там тоже p-Impl,
//---------------------------------------------------------------------------
// GDI+ classes for forward reference
//---------------------------------------------------------------------------class Graphics;
class Pen;
...
//---------------------------------------------------------------------------
// Private GDI+ classes for internal type checking
//---------------------------------------------------------------------------class GpGraphics {};
class GpBrush {};
class GpTexture : public GpBrush {};
...
//--------------------------------------------------------------------------
// Pen class
//--------------------------------------------------------------------------class Pen : public GdiplusBase
{
public:
friend class GraphicsPath;
friend class Graphics;
Pen(IN const Color& color,
IN REAL width = 1.0f)
{
Unit unit = UnitWorld;
nativePen = NULL;
lastResult = DllExports::GdipCreatePen1(color.GetValue(),
width, unit, &nativePen);
}
...
protected:
GpPen* nativePen; // здравствуй пимпл :)mutable Status lastResult;
};
Да, за MFC им надо руки оторвать. Вернее не за MFC (для конца 80-х это было нормально), а за агрессивное его продвижение в начале 90-х. До сих пор многие де-факто на нем пишут (и я тоже частенько), ибо очень много наработок и в мире, да и просто у разработчиков осталось для этой т.н. "технологии".
Более поздние их "велосипеды" не так уж плохи: WTL, GdiPlus,
а по поводу дотнета даже куча ярых приверженцев на RSDN
Здравствуйте, AndrewVK, Вы писали:
AVK>Мудрые мужи при наличии более надежных и удобных решений используют их, а не продолжают жрать кактус.
Слишком громко сказано. Дотнет и Ява вообще возможны только лишь по той причине, что 150 метров на диске и 30-80 метров в памяти — это плевое дело нынче. Да и процы шустрые ноне.
Однако линух активно переползает на всевозможные устройства, и GTK с ним
Запускал дотнет на вынь-СЕ? вот и я о том же
-------
всему своя ниша, спорить в отрыве от требований ниши бесполезно
Здравствуйте, WFrag, Вы писали:
WF>Без всяких перекомпиляций я выгрузил из ядра практически все — видео, звук, модем, сеть, USB-устройства, BlueTooth stack, NTFS, FAT32, и.т.д. Вполне модульно
Такое можно делать относительно недавно, и то, если указать на выгружаемость этих модулей при компиляции ядра.
Здравствуйте, AndrewVK, Вы писали:
AVK>В Линуксе же, особенно в старых версиях, ядро линковалось в один большой модуль, даже вместе с драйверами. Об этом Влад собственно и говорил.
И сейчас можно выбранные дрова слинковать в ядро.
Очень удобно, если линух сидит на устройстве. (юзаем как embedded linux)
Здравствуйте, Павел Кузнецов, Вы писали:
ПК>Которая сюда совершенно никакого отношения не имеет. Тут ситуация совершенно обратная. Тебя ни в чем не обвиняют, просто утверждают, что в дискуссии никакие утверждения изначально верными не считаются. Соответственно, если ты выдвинул какой-либо аргумент, с верностью которого твой оппонент не согласен, и этот аргумент ты не обосновываешь, то этот аргумент в дискуссии просто не учитывается.
Я высказал свое мнение, а не противопоставил одно утвердение другому, или выдвинул его в качестве аргумента.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Павел Кузнецов, Вы писали:
ПК>VladD2:
>> То есть высказывание своего мнения — это флэйм?
ПК>Если соблюдаются остальные условия, обозначенные выше, — да.
Какие условия? Я высказал своем мнение. Это флэйм?
>> ОК, тогда я ужасный флэймогон, так как буду делать это и дальше. И доказывать буду только то что посчитаю нужным. Андестынд?
ПК>Дык, последние сомнения уже давно рассеялись.
Скрытое оскорбление? Что же. Этого и следовало ожидать. Именно это явно и было целью данного докапывания.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, vdimas, Вы писали:
V>Слишком громко сказано. Дотнет и Ява вообще возможны только лишь по той причине, что 150 метров на диске и 30-80 метров в памяти — это плевое дело нынче. Да и процы шустрые ноне.
Ну и какой из этого вывод?
V>Запускал дотнет на вынь-СЕ?
Запускал. Ничего сверхужасного. А учитывая тенденции скоро на КПК будет 1Ггц и 256М памяти, а этого уже достаточно с большим запасом.
Здравствуйте, vdimas, Вы писали:
AVK>>Мудрые мужи стараются не придерживаться замшелых принципов и позволяют от компонентов наследоваться. V>С т.з. зрения наследника — это уже не компонент а класс, иначе никак.
С чего ты взял что не компонент? Вполне компонент.
V>Компонент — это "черный" ящик с парой интерфейсов.
Так наследник точно так же имеет интерфейс к базовому классу, только он несколько расширен по сравнению с публичным.
V>Дудки. V>Главная фишка компонента — инкапсуляция сложности внутри себя и обеспечение двоичной совместимости со средой, где работает, и интерфейсами, как своими, так и других компонентов.
V>Ты все время говоришь о классах, ИМХО.
Здравствуйте, vdimas, Вы писали:
V>Действительно, голый компонентный подход порождает кучу геммора и дополнительных приседаний. V>Подход Явы и дотнета — смешанный, и потому успешный.
Нет такого в КОП чтобы это было запрещено. Ссылку на современное определение компонентного программирования я уже приводил. Да и вобще не понимаю я этого стремления к формализму. Ну назовем мы классы дотнета некомпонентами, что от этого изменится? Дотнет сразу станет некошерным?
Здравствуйте, Павел Кузнецов, Вы писали:
>> Не знаю. По мне так современная ОС без модульности просто немыслима.
ПК>Даже встроенная в часы/микроволновку/истребитель?
В часы и микроволновку не знаю, там вобще ОС нет (не считая отдельных извращений). Что же касается истребителя то безусловно.
ПК> А применительно к прикладной программе, о которой, собственно, и шла речь изначально? Снова-таки, это относится ко всем мыслимым прикладным программам, или только к некоторым?
Здравствуйте, vdimas, Вы писали:
AVK>>В Линуксе же, особенно в старых версиях, ядро линковалось в один большой модуль, даже вместе с драйверами. Об этом Влад собственно и говорил.
V>И сейчас можно выбранные дрова слинковать в ядро.
Здравствуйте, vdimas, Вы писали:
V>Более поздние их "велосипеды" не так уж плохи: WTL, GdiPlus, V>а по поводу дотнета даже куча ярых приверженцев на RSDN
К сожалению в случае гуев в дотнете они недалеко ушли. Винформсы по архитектуре это где то середина 90-х. А Avalon еще неизвестно когда будет.
Здравствуйте, vdimas, Вы писали:
V>Да, за MFC им надо руки оторвать. Вернее не за MFC (для конца 80-х это было нормально), а за агрессивное его продвижение в начале 90-х.
Какой-такой конец 80-х? Что-то неприпоминаю MFC под DOS
"For every complex problem, there is a solution that is simple, neat,
and wrong."
AndrewVK,
> ПК> А применительно к прикладной программе, о которой, собственно, и шла речь изначально? Снова-таки, это относится ко всем мыслимым прикладным программам, или только к некоторым?
> Речь вроде бы об ОС шла.
от Влада отповедь, что это признак плохого дизайна, где в качестве дополнения было сказано о том, что Линукс по поводу использования монолитного ядра является "флагом кривого дизайна".
В общем, имхо, это все уже мало интересно стало...
Posted via RSDN NNTP Server 1.9 gamma
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен