Здравствуйте, Lloyd, Вы писали:
L>Повторяю для тех, кто в танке: Реализация классом интерфейса == Наследование интерфейса.
Ну что — опять по новой? Я даже Владу доказал что это не так. В общем берем документацию по шарпу и внимательно читаем, осозновая разницу между словами inherits и implements. А на закуску рекомендую подумать — что именно наследует класс у реализуемого им интерфейса.
L>Это общепринятый термин
Гонишь ты все. Это ошибочное использование термина, вызваное тем что в С++ интерфейс реализуется на основе абстрактных классов. интерфейс дотнета != интерфейс СОМ и термин наследование при реализации в случае дотнета не применим.
L> и не надо пытаться сопоставлять его семантику и этимологию. Этимология не обязана соответствовать семантике.
Здравствуйте, Lloyd, Вы писали:
L>Ваша ошибка была в том, что вы не восприняли эти термины именно как термины, а пытались из их "звучания" выудить какой-то дополнительный смысл.
Есть еще смысл слова наследование. Если называть танк самолетом ни к чему хорошему это не приведет.
L> Не всегода стоит делать это. Иногда стоит и почитать книжки, в которых эти термины объяснялись.
Иногда стоит почитать документацию по языку. Есть термин — реализация интерфейса. Вот его и следует употреблять.
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, alexkro, Вы писали:
A>>Например, такое невозможно:...
VD>Честно говоря не ясно почему.
VladD2, почитай статью, на которую я дал ссылку. Необходимо делать либо явный cast, либо использовать constraints.
A>>Понятия специализации для generics нет, typedef нет, generics для отдельных методов тоже нет.
VD>Ну и на фиг все жто? Разве что для методов можно было бы оставить.
A>>Общее впечатление такое, что generics будут использоваться только для чего-нибудь простого вроде реализации типизированных коллекций.
VD>Дык вся соль в том, что в С++ шаблоны давно превратились из средства создания полиморфных алгоритмов в средства исправления проблем языка. Ух лучше пусть сам язык будет более стройным. К тому же у них есть еще одна очень важная задача. Им нужно сохранить в Шарпе простоту. Если насувать всех приколов из С++ в Шарп, то чем тогда Шарп будет лучше С++? С++ ведь никто не отменял! Хочешь выпендриваться создавай проект на МС++. Он уже в VS.NET 2003 очень прилично стал выглядеть.
C++ templates не очень приятно использовать вместе с managed объектами. Многое приходится делать через gcroot<>, который очень сильно замедляет доступ к объекту.
Я надеялся, что с появлением generics С++ сможет компилировать некоторые темплэйты в managed code. Не тут-то было .
Re[5]: Будут ли шаблоны и множественное наследование в CLR?
Здравствуйте, alexkro, Вы писали:
A>VladD2, почитай статью, на которую я дал ссылку. Необходимо делать либо явный cast, либо использовать constraints.
Ты все таки воспользуйся поиском. Мы эту статью уже читали и даже обсуждали здесь. Констрейнты возможны в принципе только если есть поддержка дженериков в рантайме. Про то какой будет у шаблонов рефлекшен в статье ни слова. А то о чем ты говоришь будет реализовываться через рефлекшен, а не через конситрукции языка.
A>Я надеялся, что с появлением generics С++ сможет компилировать некоторые темплэйты в managed code. Не тут-то было .
Нет, дженериксы и шаблоны это далеко не одно и то же. В статье, о которой ты упоминаешь, даже глава специальная на эту тему есть.
Здравствуйте, AndrewVK, Вы писали:
AVK>Ну что — опять по новой? Я даже Владу доказал что это не так.
Не путай слова "даказал" и доказывал. Я своего мнения не изменил. Слова унаследовать интерфейс совершенно законны.
AVK>В общем берем документацию по шарпу и внимательно читаем, осозновая разницу между словами inherits и implements.
В Шарпе и взяли такой синтаксис потому что имплемент — это и есть наследование интерфейса. В общем бери книжки по ОО и чита.
PS
Расслябься и воспринимай мир таким какой он есть. Люди привыкли говорить "наледование интерфейса" и они говорить так будут. Даже если тебе это не нарвится.
... << RSDN@Home 1.0 beta 4 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>В Шарпе и взяли такой синтаксис потому что имплемент — это и есть наследование интерфейса. В общем бери книжки по ОО и чита.
Я их читал. В спецификации языка я такого не заметил. Если ты где читал именно про наследование интерфейса не применительно к С++ то кинь ссылку или цитату.
Здравствуйте, flatch, Вы писали:
F>Планирует ли MS в новой версии .NET добавить в C# поддержку шаблонов и множественного наследования классов? F>Или, может, в будущем они планируют? F>Кто что слышал по этому поводу, поделитесь плиз.
Вопрос как мне кажется не в том будут ли шаблоны, а в том нужны ли они. На мой взгляд шаблоны — ошибочная ветка развития ООП и в .NET не нужны. Абсолютно любую задачу, рещаемую при помощи шаблонов можно решить более красиво и более просто.
PS: Помидорами не кидать. Основываюсь на своём опыте разработки и применении шаблонов.
Народная мудрось
всем все никому ничего(с).
Re[2]: Будут ли шаблоны и множественное наследование в CLR?
F>>Планирует ли MS в новой версии .NET добавить в C# поддержку шаблонов и множественного наследования классов? F>>Или, может, в будущем они планируют? F>>Кто что слышал по этому поводу, поделитесь плиз.
Tom>Вопрос как мне кажется не в том будут ли шаблоны, а в том нужны ли они. На мой взгляд шаблоны — ошибочная ветка развития ООП и в .NET не нужны. Абсолютно любую задачу, рещаемую при помощи шаблонов можно решить более красиво и более просто.
На www.csharp.net лежит в числе первых ссылок описание новых конструкций в следующей версии C#. В частности, будут и шаблоны. Аргументация очень убедительная.
Сейчас нет готового метода сделать хорошую collection для типов ValueType. Всё время лезет boxing/unboxing. Это обсуждается как раз в другой ветке.
В будующей реализации шаблонов такое будет поддерживаться, причём автоматически, без раздумий со стороны разработчика.
VD>>В Шарпе и взяли такой синтаксис потому что имплемент — это и есть наследование интерфейса. В общем бери книжки по ОО и чита.
AVK>Я их читал. В спецификации языка я такого не заметил. Если ты где читал именно про наследование интерфейса не применительно к С++ то кинь ссылку или цитату.
Как весь трындец!
Вопрос стоял о том, будет ли множественное наследование. Нет, пока не будет, и вообще это не ложится в идеологию .NET. Хотя есть языки, реализующие такие навороты, например, Eiffel. Как они это делают — не знаю, но уверен, что несовместимо с CLS, то есть их множественное наследование не будет таковым с точки зрения C#, VB, или Delphi for .NET.
А спор о том, наследуются интерфейсы или реализуются — пустая трата времени. Вон, люди советуются, как правильно писать int или System.Int32 — примерно та же бодяга.
... << RSDN@Home 1.0 beta 6a >>
Re[3]: Будут ли шаблоны и множественное наследование в CLR?
M>На www.csharp.net лежит в числе первых ссылок описание новых конструкций в следующей версии C#. В частности, будут и шаблоны. Аргументация очень убедительная.
M>Сейчас нет готового метода сделать хорошую collection для типов ValueType. Всё время лезет boxing/unboxing. Это обсуждается как раз в другой ветке.
Ну это ты соврал конечно. Можно и без проблемм.
M>В будующей реализации шаблонов такое будет поддерживаться, причём автоматически, без раздумий со стороны разработчика.
ну ну. а может тогда попросить M$ написать VisualStudio 3000 в котором надо будет просто словами сказать: "Хочу новую оп систему, что бы не глючила и была совместимая со ВСЕМИ В МИРЕ" и пойти кофе пить.
Народная мудрось
всем все никому ничего(с).
Re[4]: Будут ли шаблоны и множественное наследование в CLR?
M>>Сейчас нет готового метода сделать хорошую collection для типов ValueType. Всё время лезет boxing/unboxing. Это обсуждается как раз в другой ветке. Tom>Ну это ты соврал конечно. Можно и без проблемм.
По моему мнению, можно, но затруднительно. Если ты знаешь лёгкий путь, подскажи, пожалуйста.
M>>В будующей реализации шаблонов такое будет поддерживаться, причём автоматически, без раздумий со стороны разработчика. Tom>ну ну. а может тогда попросить M$ написать VisualStudio 3000 в котором надо будет просто словами сказать: "Хочу новую оп систему, что бы не глючила и была совместимая со ВСЕМИ В МИРЕ" и пойти кофе пить.
Ты знаешь, я не против!
... << RSDN@Home 1.0 beta 6a >>
Re[5]: Будут ли шаблоны и множественное наследование в CLR?
M>По моему мнению, можно, но затруднительно. Если ты знаешь лёгкий путь, подскажи, пожалуйста.
Да в общем вариантов куча. Можно на основе массивов. Только опять же зачем это делать. Думаю сравнив производительность большого выигрыша не получится.
Народная мудрось
всем все никому ничего(с).
Re[2]: Будут ли шаблоны и множественное наследование в CLR?
Здравствуйте, Tom, Вы писали:
Tom>Вопрос как мне кажется не в том будут ли шаблоны, а в том нужны ли они. На мой взгляд шаблоны — ошибочная ветка развития ООП и в .NET не нужны. Абсолютно любую задачу, рещаемую при помощи шаблонов можно решить более красиво и более просто.
В общем то правильно, вот только перфоманс, поганка эдакая, всю малину портит. А так конечно без них проще.
Просто имхо шаблоны не очень гибкая вещь, варианты параметров весьма ограничены. Я бы предпочел встроенную в код полномасштабную поддержку кодогенерации а не затычки ввиде шаблонов.
Здравствуйте, mihailik, Вы писали:
M>Нет, пока не будет, и вообще это не ложится в идеологию .NET. Хотя есть языки, реализующие такие навороты, например, Eiffel. Как они это делают — не знаю, но уверен, что несовместимо с CLS,
Совместимо Они при компиляции генерят спец. классы — гибриды множественно отнаследованных.
Множественную реализацию можно и на шарпе сделать — поищи в поиске, я сюда пример такого кидал.
AVK>Просто имхо шаблоны не очень гибкая вещь, варианты параметров весьма ограничены. Я бы предпочел встроенную в код полномасштабную поддержку кодогенерации а не затычки ввиде шаблонов.
Здравствуйте, AndrewVK, Вы писали:
AVK>Я их читал. В спецификации языка я такого не заметил. Если ты где читал именно про наследование интерфейса не применительно к С++ то кинь ссылку или цитату.
Это можно прочесть вообще в любой книге посвященной ОО-дизайну, т.е. не тяготеющих к конкретному языку.
... << RSDN@Home 1.0 beta 4 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Будут ли шаблоны и множественное наследование в CLR?
Здравствуйте, Tom, Вы писали:
Tom>Вопрос как мне кажется не в том будут ли шаблоны, а в том нужны ли они. На мой взгляд шаблоны — ошибочная ветка развития ООП и в .NET не нужны. Абсолютно любую задачу, рещаемую при помощи шаблонов можно решить более красиво и более просто.
Ты вкурсе насколько дорого обходятся боксинг и приведение типов? А сколько стоят виртуальные вызовы?
Да и вообще... попробуй рассказать про эту "красоту".
Вот создание типизированной коллекции в одну строку да еще и в разы более быструю — это аргумент:
Collection<MyType> _MyCollection;
Tom>PS: Помидорами не кидать. Основываюсь на своём опыте разработки и применении шаблонов.
Странный у тебя опыт.
... << RSDN@Home 1.0 beta 4 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Будут ли шаблоны и множественное наследование в CLR?
Здравствуйте, AndrewVK, Вы писали:
AVK>В общем то правильно, вот только перфоманс, поганка эдакая, всю малину портит. А так конечно без них проще.
Тем кто ими пользоваться не нуавчился. Шаблоны дают не только скорость, но и типобезопастность. Без них все потуги к большей типозащищенности всего лишь полумеры.
AVK>Просто имхо шаблоны не очень гибкая вещь,
Гы-гу. С++ только за их счет и вылез.
AVK>варианты параметров весьма ограничены. Я бы предпочел встроенную в код полномасштабную поддержку кодогенерации а не затычки ввиде шаблонов.
Ерунду ты говоришь. Все же прежде чем судить о чем-то нужно это что-то как следует попробывать. Покажи хотя-бы один класс который ты написал на шблонах.
... << RSDN@Home 1.0 beta 4 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Будут ли шаблоны и множественное наследование в CLR?
Здравствуйте, mihailik, Вы писали:
M>Сейчас нет готового метода сделать хорошую collection для типов ValueType. Всё время лезет boxing/unboxing. Это обсуждается как раз в другой ветке.
Ладно тебе. Что уж там для вэлью-типо. Даже обычную типизированную коллекцию делать замучаешся. Люди клепают кодогенерацию и т.п. А ведь в дотнет обещают сделать не просто шаблоны, а "умные" шаблоны которые не будут приводить к разуванию кода.
... << RSDN@Home 1.0 beta 4 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Будут ли шаблоны и множественное наследование в CLR?
Здравствуйте, Tom, Вы писали:
M>>Сейчас нет готового метода сделать хорошую collection для типов ValueType. Всё время лезет boxing/unboxing. Это обсуждается как раз в другой ветке. Tom>Ну это ты соврал конечно. Можно и без проблемм.
Пример в студию! И оцени объем кода.
... << RSDN@Home 1.0 beta 4 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.