На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Закрыто archimed7592 11-03-2008: Лимит страниц. Продолжаем Delphi vs C++

Страницы: (117) « Первая ... 62 63 [64] 65 66 ...  116 117  ( Перейти к последнему сообщению )  
> Delphi vs C++ , Часть 1
    Цитата archimed7592 @
    Пример Loki::SmartPtr.

    тоже хотел привести его в пример :rolleyes:
      Цитата Flex Ferrum @
      ачем? Если мне нужно унаследовать реализацию - я наследую реализацию. Если мне нужно унаследовать интерфейс - я наследую интерфейс. Всегда ведь хорошо, когда есть выбор, разве нет?

      Мне почему-то казалось, что я делаю то же самое. Без множественного наследования.

      Цитата mo3r @
      Недостаточно. Множественных интерфейсов хватает только для объединения, простите за тавтологию, множества интерфейсов, а множественное наследование помогает объединить множество реализаций.

      У меня великолепно получается и то, и другое. Без множественного наследования.
        Цитата archimed7592 @
        Для не знающих С++ или не знающих устройство библиотеки Loki уточню задачу: есть куча стратегий(ну пусть это будут интерфейсы), на каждую стратегию есть по десятку реализаций... Нужно когда необходимо комбинаровать необходимые реализации и получать законченный инструмент(пример опять же SmartPtr), более подробно в топике Ориона. Теперь я готов выслушать как реализовать такой удобный и настраиваемый инструмент в Дельфи.

        Можно, кстати, это на парсере продемонстрировать. Например, наследование стратегий лексического разбора (получение токенов), собственно синтаксического разбора (восходящая/нисходящая/и т. п.) и сематики. Естественно, с минимальным оверхедом... :)
          Цитата Romkin @
          Мне почему-то казалось, что я делаю то же самое. Без множественного наследования.

          И что с того? Я могу гвоздь забить при помощи мобилника - но лучше конечно забъю молотком.
          Я могу наследовать реализации на С - но лучше конечно применю множественное наследование С++.
          Сообщение отредактировано: LuckLess -
            Romkin, что идей как реализовать поставленную мною задачу без мн. наследования нет? :)

            Вообще беседа примерно такая получается:
            - а у нас есть математические операции
            - нахер вычитание, умножение, деление, сложение и пр. прелести жизни: инкремент - наше фсйо, с его помощью можно сделать что угодно!
            - ну вот смотри задача: сложная формула - как такую считать
            - мне почему-то казалось, что я делаю то же самое используя только инкремент

            :lol:.
              Цитата LuckLess @
              И что с того? Я могу гвоздь забить при помощи мобилника - но лучше конечно забъю молотком.
              Я могу наследовать реализации на С - но лучше конечно применю множественное наследование.

              Угу. А у начинающего сплошные лампасины будут. Недостаток множественного наследования, на мой взгляд - в его свободе. Код меньше инкапсулируется. В этом же и опасность.
                Цитата Romkin @
                Код меньше инкапсулируется. В этом же и опасность.

                :lool:.
                Во-первых, инкапсулируется он точно также.
                Во-вторых, это говорит человек взывающий пользоваться языком в котором инкапсуляция существует только на уровне модуля.
                  Цитата Romkin @
                  Цитата LuckLess @
                  И что с того? Я могу гвоздь забить при помощи мобилника - но лучше конечно забъю молотком.
                  Я могу наследовать реализации на С - но лучше конечно применю множественное наследование.

                  Угу. А у начинающего сплошные лампасины будут. Недостаток множественного наследования, на мой взгляд - в его свободе. Код меньше инкапсулируется. В этом же и опасность.

                  Romkin, тебе что-то мешает выпрыгнуть из окна или убицца ап стену?
                  Наверняка мешает, иначе ты тут не писал бы.
                  Так вот по той же самой причине С++ програмеры умеют писать нормальный код, используя множественное наследование.
                    Вот, я сейчас занимаюсь задачей автоматизации сертификации аэропортов и там очень много геометрических вычислений. Нарыл я мощную библиотечку CGAL и мне очень сложно представить как можно было бы сделать её более удобной и более быстрой не используя множественное наследование или шаблоны. Для Дельфи есть подобная геометрическая библиотека?
                      О проблемах множественного наследования
                      Цитирую:
                      Цитата
                      ...концепция множественного наследования таит в себе немало «подводных камней», и ее полноценная реализация далеко не проста. В этой связи весьма показателен тот факт, что создатели языка Java, во многом базирующегося на С++, отказались от множественного наследования, заменив его менее рискованной реализацией абстрактных интерфейсов (implements) и разрешив обычное наследование (extends) только одного класса. Вообще говоря, практический опыт показывает, что задач, которые хорошо «ложатся» на объекты и для которых использование объектно-ориентированного программирования дает ощутимое преимущество, не так уж много. В большинстве приводимых в литературе примерах применение подобной методологии выглядит совершенно искусственным и ни в чем не убеждает.
                        Цитата Romkin @
                        концепция множественного наследования таит в себе немало «подводных камней», и ее полноценная реализация далеко не проста.

                        Поэтому те кто реализовывал делфи и джава компиляторы ее не осилили - и как вариант решили просто ее похаять приводя аргументы типа
                        -не надо
                        -мне не надо
                        -ну в натуре ну не нада!
                          Вот почему, например, java может обойтись без множественного наследования, а Delphi в этом праве отказано?
                          Это всего лишь подтверждает мой тезис об ограниченности мышления сишников, которые просто не способны вообразить себе методики написания программ, отличные от имеющихся в С++.
                            Romkin, там просто говорится о том, что создатели жабы не осилили множественное наследование. И все. Статья — сплошная демагогия и реторика.
                            А вот это вот
                            Цитата http://www.osp.ru/os/2001/02/179920/

                            Фраза «Ферзь ходит как слон и как ладья» полностью описывает его свойства: она абсолютно информативна. С точки зрения логики, это очень четкий, предельно концентрированный пример множественного наследования.

                            только говорит о недостатках C++ шной реализации множественного наследования (где возможно только замещение функциональности). Например, в CL это описывается абсолютно естественно (используя around-комбинацию методов). Но, тем не менее, даже C++'шная усеченная форма наследования полезна.
                            Наоборот, показательным является тот факт, что существует множество статей, озаглавленных «How to simulate multiple inheritance in Java», «How to simulate multiple inheritance in C#» и т.п. Это означает, что им множественное наследование нужно и полезно.
                              Цитата LuckLess @
                              Поэтому те кто реализовывал делфи и джава компиляторы ее не осилили

                              LuckLess, справедливости ради, а сколько ты написал компилеров, что бы говонрить что создатели явы и дельфи чего-то не осилили, в то время, как все прогрессивное человечество вместе с тобой давно осилило и пользуется?
                                Знаешь, как мне пытались "объяснить" множественное наследование?
                                В общем преп поставил задачу прямо противоречащую ОО принципам: класс точка, наследуешься от нескольких точки и получаешь линию. Наследуешься от точки и линии и получаешь треугольник. Я долго ржал над заданием и, конечно написал то о чём попросили и потом долго объяснял препу насколько неправильный подход преподавания он выбрал... Так вот: если этот писатель с osp.ru такой же спец в С++, как и мой преп(с препа взятки гладки - он Сишник и не обязан знать как применять те или иные конструкции С++), то, неудивительно, что он так отзывается о мн. наследовании.
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (117) « Первая ... 62 63 [64] 65 66 ...  116 117
                                Закрыто archimed7592 11-03-2008: Лимит страниц. Продолжаем Delphi vs C++



                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0891 ]   [ 14 queries used ]   [ Generated: 6.08.25, 13:43 GMT ]