На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (495) « Первая ... 126 127 [128] 129 130 ...  494 495  ( Перейти к последнему сообщению )  
> Delphi vs C++ vs C# , ну и Java немножко, где-то ближе к старшему байту номеров страниц
    --Ins--, прошу прощения, но таки напомню, что модули уже в C были, единицами трансляции назывались. И даже раньше, чем в ТурбоПаскаль. Вот initialization/finalization не было, и иногда это доставало. В C++ с приходом классов и это появилось, только с их же приходом оказалось, что нафиг оно и не нужно в общем-то.
    Безусловно, реализация чёрного ящика единицей трансляции сиречь модулем вполне себе решение для несложных неООП случаев. Тут только два отличия нас от вас: во-первых, у нас не принято на каждый чих расширять язык, ваши модули у нас есть и без новых страниц в Стандарте; во-вторых, у нас классы - многопрофильный инструмент, а не как у вас, just is средство реализации ООП концепций, причём большей частью благодаря тем своим свойствам, которые вы осмеивали. Я вполне понимаю, что ваши классы будут неудобны там, где вы используете модули.
    Сообщение отредактировано: Qraizer -
      Цитата Qraizer @
      у нас не принято на каждый чих расширять язык


      Сравним количество абстракций в Delphi и с++? :D На каждый чих он у вас изначально расширен

      Цитата Qraizer @
      во-вторых, у нас классы - многопрофильный инструмент


      И это мне, кстати, не нравится. Выходит что классы, это не типы данных описывающих объекты и реализующие инкапсуляцию/наследование/полиморфизм, а просто тип данных на все случаи жизни
        Цитата --Ins-- @
        Цитата Qraizer @
        у нас не принято на каждый чих расширять язык


        Сравним количество абстракций в Delphi и с++? :D На каждый чих он у вас изначально расширен

        Можно пример?

        Цитата
        И это мне, кстати, не нравится. Выходит что классы, это не типы данных описывающих объекты и реализующие инкапсуляцию/наследование/полиморфизм, а просто тип данных на все случаи жизни

        Класс - это тип.
        Правда есть еще несколько способов его использовать :)
          Цитата D_KEY @
          Класс - это тип.
          Правда есть еще несколько способов его использовать


          Нашла чем хвастаться (с) :D Слова "нецелевое использование" всегда носили для меня отрицательный, а не положительный смысл
            Цитата --Ins-- @
            Нашла чем хвастаться (с) :D Слова "нецелевое использование" всегда носили для меня отрицательный, а не положительный смысл

            Не ты ли мне говорил, что в случае необходимости получения той или иной функциональности "кинешь на форму компонент"? Собственно вот тебе и использование классов в чистом виде там, где это можно было реализовать модулями. :) Алсо, мне интересно, как модули влияют на пространство имен, в частности операция uses

            Так что как мне кажется, Дельфевому подходу до чисто модульных сущностей, как они в Питоне реализованы также далеко как и Плюсовому.
              Цитата Мяут-Настоящий @
              Не ты ли мне говорил, что в случае необходимости получения той или иной функциональности "кинешь на форму компонент"?


              Может и я, смотря что ты имеешь в виду :)

              Цитата Мяут-Настоящий @
              Собственно вот тебе и использование классов в чистом виде там, где это можно было реализовать модулями. Алсо, мне интересно, как модули влияют на пространство имен, в частности операция uses

              Так что как мне кажется, Дельфевому подходу до чисто модульных сущностей, как они в Питоне реализованы также далеко как и Плюсовому.


              Брррр. Ничего не понял :wacko:
                Цитата D_KEY @
                Я же отвечал. Создаем класс для работы с GDI+

                зачем? где тут тип данных?

                Цитата D_KEY @
                работаем с объектом этого класса.

                и что будет, если объект вдруг не создастся? где статический контроль?

                Добавлено
                Цитата Qraizer @
                В C++ с приходом классов

                которые от структур отличаются только дефолтным спецификатором доступа. а аж целое ключевое слово ввели... =)
                  Цитата korvin @
                  зачем? где тут тип данных?
                  Класс - это не тип данных. Он может быть использован для создания типов данных, но это небольшая частность. Даже в Дельфи. Вот RECORD - да, тип данных.
                  Цитата korvin @
                  которые от структур отличаются только дефолтным спецификатором доступа. а аж целое ключевое слово ввели...
                  Угу. Потому что struct дань обратной совместимости и продолжает ею быть. В Дельфи PROCEDURE тоже никуда не делось, хотя уже в TP6 стало не нужным. А class имеет больше одного значения.
                    Цитата Qraizer @
                    Класс - это не тип данных. Он может быть использован для создания типов данных, но это небольшая частность. Даже в Дельфи. Вот RECORD - да, тип данных.

                    D_KEY утверждал, что таки тип. именно в C++ причем

                    Добавлено
                    Цитата Qraizer @
                    В Дельфи PROCEDURE тоже никуда не делось, хотя уже в TP6 стало не нужным.

                    хм... а что в Делфи является аналогом void?
                      Цитата korvin @
                      D_KEY утверждал, что таки тип
                      Тип, но не обязательно данных. Какие данные у интерфейса, который в С++ описывается уже 9001 раз говорилось как.
                        Цитата Qraizer @
                        Класс - это не тип данных.


                        О как! Откровение, однако... Даже стесняюсь уточняющий вопрос задать

                        Добавлено
                        Цитата Adil @
                        Какие данные у интерфейса


                        Объект, реализующий интерфейс ;)
                          Цитата --Ins-- @
                          Объект, реализующий интерфейс
                          Нет, не переводи стрелки - у типа, описывающего интерфейс. В С++ это абстрактный класс без данных. Тип? тип. Тип данных? нет.
                            Цитата Adil @
                            Тип, но не обязательно данных.

                            а чего? тип -- это множество некоторых "объектов", конечное или бесконечное, явно перечисленных, или связанных какими-то критериями.

                            Добавлено
                            Цитата Adil @
                            абстрактный класс без данных. Тип? тип.

                            не тип. типизируют объекты, нет объектов -- нет типа
                              Цитата korvin @
                              не тип. типизируют объекты, нет объектов -- нет типа
                              Ну да. А объектами может быть только данные? А функция тогда - это объект какого типа данных?

                              Добавлено
                              Цитата korvin @
                              не тип. типизируют объекты, нет объектов -- нет типа
                              Тип может описывать поведение объекта и никаким образом не относится к данным. Что мы и наблюдаем для интерфейсов.
                              Сообщение отредактировано: Adil -
                                Цитата Adil @
                                Ну да. А объектами может быть только данные? А функция тогда - это объект какого типа данных?

                                функционального же. например в Хаскелле функция (+) имеет тип
                                ExpandedWrap disabled
                                  (+) :: Num a => a -> a -> a

                                функция id:
                                ExpandedWrap disabled
                                  id :: a -> a
                                  id x = x


                                в CL все функции имеют тип FUNCTION, но можно и уточнить до (FUNCTION (NUMBER NUMBER) NUMBER) например.

                                во многих языках (в т.ч. и Делфи, да и в C++ наверное) есть функциональные типы.

                                Добавлено
                                Цитата Adil @
                                Тип может описывать поведение объекта и никаким образом не относится к данным. Что мы и наблюдаем для интерфейсов.

                                ты сам себе ответил

                                Добавлено
                                и что ты подразумеваешь тут под термином "данные"?
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (495) « Первая ... 126 127 [128] 129 130 ...  494 495


                                Рейтинг@Mail.ru
                                [ Script execution time: 0.2454 ]   [ 15 queries used ]   [ Generated: 30.07.26, 22:17 GMT ]