На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (495) « Первая ... 302 303 [304] 305 306 ...  494 495  ( Перейти к последнему сообщению )  
> Delphi vs C++ vs C# , ну и Java немножко, где-то ближе к старшему байту номеров страниц
    Цитата Romkin @
    Почитай про примеси.

    Ну вот хотя бы из вики:
    Цитата

    Примесь (англ. mixin) — элемент языка программирования (обычно класс или модуль), реализующий какое-либо чётко выделенное поведение. Используется для уточнения поведения других классов, не предназначен для порождения самостоятельно используемых объектов. В объектно-ориентированных языках программирования является способом реализации классов, отличным от широко используемых принципов, пришедших из языка программирования Simula. Механизм впервые реализован в Flavors. Преимуществом примесей является то, что повышая повторную используемость текстов программ, этот метод избегает многих проблем множественного наследования. Однако при этом метод накладывает свои ограничения.

    Причем тут интерфейсы?
      Romkin, ну, и да, вики :)
      Цитата
      В список языков, поддерживающих множественное наследование, входят: Eiffel, C++, Dylan, Python, Perl, Curl, Common Lisp (благодаря CLOS), Delphi (благодаря Class Helpers), OCaml, Tcl (благодаря Incremental Tcl), а также Object REXX и Ruby (за счет использования классов-примесей).
        MyNameIsIgor, у каждого свои извращения. У кого-то - множественное наследование, у кого-то - свойства.
        Цитата
        — Ты функциональщик! - прокричал Сергей на весь оупен-спейс-рум номер 14.
        Комната притихла в ожидании развязки.
        — Я видел, как ты вчера вечером каррировал и декаррировал прямо за рабочим компьютером!
        Неодобрительный ропот и возгласы удивления прокатились по комнате. Кто-то громким шепотом сказал “какой ужас, а я с ним за руку здоровался”.
        — Знаешь что, Сергей, — сказал Денис, вставая из-за рабочего стола, — любой нормальный мужчина, если у него всё в порядке, может позволить себе позаниматься функциональным программированием. Это естественно. Каждый хотя бы раз, да пробовал. Зачем только об этом кричать на всю комнату? Я же не кричу, что ты объектно-ориентированный!
        Девушки захихикали, кто-то снова громко пробормотал “ну надо же, а по нему и не скажешь”.
        Присутствовавший при этом Игорь Матвеевич сильнее вжался в кресло. Только бы никто не узнал про его процедурные наклонности!
          Цитата Romkin @
          MyNameIsIgor, у каждого свои извращения. У кого-то - множественное наследование, у кого-то - свойства.

          Вот уж действительно русский форум, бессмысленный и беспощадный. Мало того, что не у вас спрашивал, так ещё и ваши ответы инсинуации никак к заданному вопросу не относятся. Как уж на сковородке, право слово.
            Цитата scorpion @
            Причем тут интерфейсы?

            В Delphi можно реализовать примесь с помощью интерфейса. Это один из его аспектов использования.
            Интерфейсы и предназначены для расширения функциональности на конкретном уровне иерархии, а не для наследования.
            Цитата MyNameIsIgor @
            А при чём тут их количество? Я спросил про нужность.
            Цитата (Romkin @ Сегодня, 13:05)
            Я навскидку назову C++ и Python

            Я бы ещё добавил OCaml, Perl, CL, Eiffel...

            Ну эти гораздо менее популярны. А нужность - есть куча языков, в которых нет множественного наследования, и все равно неплохо обходятся. Кстати, хелперы в Delphi все же механизм, резко отличный от множественного наследования, что называется, "подмазали до кучи".

            Добавлено
            Цитата MyNameIsIgor @
            Вот уж действительно русский форум, бессмысленный и беспощадный. Мало того, что не у вас спрашивал, так ещё и ваши ответы инсинуации никак к заданному вопросу не относятся. Как уж на сковородке, право слово.

            :lol: Относятся. На самом деле и без объектов можно программировать, и с удобствами. А уж без множественного наследования - тем более. Ответ просто подразумевается.
              Цитата scorpion @
              Цитата D_KEY @
              Тут тебе это наглядно показали. Читай книги по языкам, где есть интерфейсы - Java, C# и т.п.

              Мне показали синтаксический сахар, и не более.

              :wall: Думаю, продолжать бесполезно. Может стоит немного поработать с языками, где интерфейсы есть?

              Добавлено
              Цитата Romkin @
              у каждого свои извращения. У кого-то - множественное наследование...

              множественное наследование - это не извращение, а средство моделирования предметной области.
                Цитата D_KEY @
                Думаю, продолжать бесполезно. Может стоит немного поработать с языками, где интерфейсы есть?

                Ну, в шарпе и джаве интерфейсы были придуманы из-за отсутствия множественного наследования, и выглядят они действительно если и не сахаром, то как минимум некой автоматизацией...
                  Цитата MyNameIsIgor @
                  Ну, в шарпе и джаве интерфейсы были придуманы из-за отсутствия множественного наследования

                  Ага.

                  Цитата
                  и выглядят они действительно если и не сахаром, то как минимум некой автоматизацией...

                  Это все потому, что ты пытаешься разобраться, скажем так, в реализации. Если ты рассмотришь концепции, то увидишь просто другую схему моделирования.
                    Цитата D_KEY @
                    Это все потому, что ты пытаешься разобраться, скажем так, в реализации. Если ты рассмотришь концепции, то увидишь просто другую схему моделирования.

                    Так я об этом и говорю :)
                    Цитата MyNameIsIgor @
                    из-за отсутствия множественного наследования

                    а не из-за следования какой-то концепции. В шарпе и джаве, они выглядят так, как будто была установка "Как в плюсах, но давайте выпилим множественное наследование, вставив замену в виде интерфейсов". Т.е. для программиста ни по синтаксису, ни по поведению (кроме озвученных особенностей) не видно особой разницы с абстрактными классами. Оттого и говорят не "реализовать интерфейс", а "наследоваться от интерфейса". Не выглядят они самостоятельной концепцией. Вот в Go - да, выглядят, но там мне другое не нравится.
                      Цитата scorpion @
                      Цитата DesweR @
                      В догонку тебе, запроси интерфейс, неизвестный на этапе компиляции, у объекта, тоже неизвестного на этапе компиляции.

                      Зачем?

                      Здрасьти, а зачем тебе тогда вообще интерфейсы, как ты с ними собираешься работать?
                      Сообщение отредактировано: DesweR -
                        Цитата MyNameIsIgor @
                        Не выглядят они самостоятельной концепцией. Вот в Go - да, выглядят

                        Пойду посмотрю :)
                          Цитата MyNameIsIgor @
                          Цитата DesweR @
                          Там, где существуют интерфейсы - нет множественного наследования

                          Может, ещё и заявите, что оно не нужно?

                          Эти вопросы к разработчикам компиляторов :whistle:
                            Цитата DesweR @
                            Эти вопросы к разработчикам компиляторов

                            Может, к проектировщикам языков?
                            Да и к ним тоже не совсем в тему... Потребители, т.е. программисты, должны определять требования к языкам... в идеале.
                              Цитата DesweR @
                              Эти вопросы к разработчикам компиляторов :whistle:

                              Почему? Если в твоей системе множественное наследование лучше отражает предметную область, то почему нужно использовать обходные пути(интерфейсы, миксины и т.п.)?
                                Цитата D_KEY @
                                Цитата (MyNameIsIgor @ Сегодня, 14:42)
                                Не выглядят они самостоятельной концепцией. Вот в Go - да, выглядят

                                Пойду посмотрю

                                Там вроде утиной типизации, типа если объект удовлетворяет объявленному интерфейсу - значит, он его реализует.
                                А в чем видно-то различие?

                                Добавлено
                                Цитата D_KEY @
                                Если в твоей системе множественное наследование лучше отражает предметную область, то почему нужно использовать обходные пути(интерфейсы, миксины и т.п.)?

                                Если множественное наследование отражает, то и интерфейсы отражают.
                                Зато нет вопросов что белать с ромбом в наследовании :)
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (495) « Первая ... 302 303 [304] 305 306 ...  494 495


                                Рейтинг@Mail.ru
                                [ Script execution time: 0.4381 ]   [ 14 queries used ]   [ Generated: 1.08.26, 02:12 GMT ]