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


    Цитата
    Тип данных
    :lool:

    Что смешного?? Там вполне ясно расказано, что такое тип данных, и что к нему относиттся, все остальное можешь считать не типами данных...

    Цитата --Ins-- @
    Тут - нет, а тут:

    ExpandedWrap disabled
            type
              TProc = procedure;

    да ;)

    TProc это что такое? Класс или указатель на функцию или что?

    Добавлено
    --Ins--, если своими словами, то думаю "Тип" - это просто характеристика чегото... Что то в этом роде
      Цитата KILLER @
      Что смешного?


      Смешно то, что мне тут с пеной у рта доказывают что тип и тип данных - это не одно и то же, а на просьбу дать слову "тип" (без данных) определение - дают ссылку, где черным по белому написано "тип данных". Смешно то, что ты сам путаешься, в этих своих двух терминах (просто тип и тип данных). Смешно и то, что в приведенной тобой ссылке класс отнесли к типам данных (что я и утверждаю) :D

      Цитата KILLER @
      Там вполне ясно расказано, что такое тип данных


      Вопрос кто из нас умеет читать :) Я то знаю, что типы данных бывают простыми, составными и ссылочными... :D

      Цитата KILLER @
      TProc это что такое?


      Это тип данных, описывающий прототип процедуры, т.е. открытое множество значений, которые могут принимать данные этого типа, и операции, которые к ним могут быть применены ;)

      Добавлено
      Цитата KILLER @
      --Ins--, если своими словами, то думаю "Тип" - это просто характеристика чегото... Что то в этом роде


      Иными словами ты не можешь дать определение, но чего-то споришь тут... :-? Сначала дай четкое определение :) Однозначное и недвусмысленное, тогда твоя позиция будет иметь какое-то подкрепление, а так, я делаю вывод что ты споришь лишь потому, что спорщик - неприятный тебе Инс :D
      Сообщение отредактировано: --Ins-- -
        Цитата --Ins-- @
        Смешно то, что мне тут с пеной у рта доказывают что тип и тип данных - это не одно и то же, а на просьбу дать слову "тип" (без данных) определение - дают ссылку, где черным по белому написано "тип данных". Смешно то, что ты сам путаешься, в этих своих двух терминах (просто тип и тип данных). Смешно и то, что в приведенной тобой класс к типам данных (что я и утверждаю) :D

        Где я путался? Покажи пальчиком :huh:

        Цитата --Ins-- @
        Вопрос кто из нас умеет читать :) Я то знаю, что типы данных бывают простыми, составными и ссылочными... :D

        Причем тут какими бывают типы данных? :unsure: Это уже характеристика типов данных :wacko:

        Цитата --Ins-- @
        Это тип данных, описывающий прототип процедуры, т.е. открытое множество значений, которые могут принимать данные этого типа, и операции, которые к ним могут быть применены ;)

        ладно, давай тогда по другому, у вас можно объявить класс с процедурами? Ну что то типо того:
        ExpandedWrap disabled
          type MyClass
          begin
           procedure Proc1();
           procedure Proc2();
           procedure ProcN();
          end;

        ты утверждаешь что MyClass - это тип данных который описывает:
        Цитата --Ins-- @
        открытое множество значений, которые могут принимать данные этого типа, и операции, которые к ним могут быть применены ;)

        Так?? Ок, какие значения из открытого множества этот тип данных может принять ?? Мы сейчас говорим не об объекте этого класса, если что!

        Добавлено
        Цитата --Ins-- @
        Иными словами ты не можешь дать определение, но чего-то споришь тут... :-? Сначала дай четкое определение :) Однозначное и недвусмысленное, тогда твоя позиция будет иметь какое-то подкрепление, а так, я делаю вывод что ты споришь лишь потому, что спорщик - неприятный тебе Инс :D

        Я дал определение, столь абстрактной структуре, другого определения дать для меня довольно трудно, что не устроило??
          "тип данных" - характеристика объекта как содержимого информации, данных.
          "тип функции" - характеристика объекта как обработчика информации, способах и методах обработки им какой либо информации.
          Сообщение отредактировано: Adil -
            Цитата KILLER @
            Где я путался? Покажи пальчиком


            Показываю:
            Я говорю:
            Цитата --Ins-- @
            Тип == тип данных всегда.

            Ты возражаешь:
            Цитата KILLER @
            procedure == типу данных?

            Т.е. ты споришь с моим утверждением что тип и тип данных одно и то же. Далее...
            Цитата --Ins-- @
            Кстати, вот вы говорите не тип данных, а просто тип. Ну дайте термину "тип" определение

            И тут ты даешь мне определение "Тип данных", а не "Тип" - запутался раз :D
            Цитата KILLER @
            Ты видишь тут тип???

            Тут тебе уже просто слово "тип" (без данных) не понравился? :D Запутался два.

            Цитата KILLER @
            Причем тут какими бывают типы данных?


            Да притом, что ты со мной споришь, что тип данных и тип - это не одно и то же. Споришь ведь, так? Или ты не с этим споришь, а просто споришь для поддержания формы? :D Еще раз причем: притом что все типы - это типы данных

            Цитата KILLER @
            ладно, давай тогда по другому, у вас можно объявить класс с процедурами?


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

            Добавлено
            Цитата Adil @
            "тип данных" - характеристика объекта как содержимого информации, данных.
            и операций над этими данными ;)
              Цитата --Ins-- @
              Цитата (KILLER @ Сегодня, 01:21)
              Где я путался? Покажи пальчиком

              Показываю:
              Я говорю:
              Цитата (--Ins-- @ Вчера, 23:59)
              Цитата
              Тип == тип данных всегда.


              Ты возражаешь:
              Цитата (KILLER @ Сегодня, 00:06)
              Цитата
              procedure == типу данных?

              Т.е. ты споришь с моим утверждением что тип и тип данных одно и то же. Далее...

              С каких пор вопросительное предложение стало возражением?? :unsure:

              Цитата --Ins-- @
              Далее...
              Цитата (--Ins-- @ Сегодня, 00:50)
              Цитата
              Кстати, вот вы говорите не тип данных, а просто тип. Ну дайте термину "тип" определение


              И тут ты даешь мне определение "Тип данных", а не "Тип" - запутался раз :D

              Я привел ссылку на определение типа данных, чтобы ты понял что конкретно относится к типам данных, все остальное к ним не относится, или я не прав???

              Цитата --Ins-- @
              Цитата (KILLER @ Сегодня, 00:59)
              Цитата
              Ты видишь тут тип???

              Тут тебе уже просто слово "тип" (без данных) не понравился? :D Запутался два.

              Я не запутался, я задавал вопрос, и ждал вразумительного ответа, который ты, к сожалению не дал!!!

              Цитата --Ins-- @
              Да притом, что ты со мной споришь, что тип данных и тип - это не одно и то же. Споришь ведь, так? Или ты не с этим споришь, а просто споришь для поддержания формы? :D Еще раз причем: притом что все типы - это типы данных

              Да спорю, абстракция "Тип данных", это частный случай абстракции "Тип", но при этом абстракция "Тип" != Абстракции "Тип данных" ...

              Цитата --Ins-- @
              Понятия не имею, это даже не скомпилируется. А я не телепат чтобы догадаться что ты имел в виду, а погружаться в твой поток сознания - я опасаюсь за свое психическое здоровье

              Ок, приведи код объявления класса, с тремя пустыми процедурами в нем и не более!!!

              Добавлено
              Цитата --Ins-- @
              и операций над этими данными ;)

              --Ins--, вот в том то и дело что над этими данными, ты же пытаешься рассказать что именно операции являются типами данных!!!
              Сообщение отредактировано: KILLER -
                Цитата KILLER @
                Я привел ссылку на определение типа данных, чтобы ты понял что конкретно относится к типам данных, все остальное к ним не относится, или я не прав?


                ХЗ, но в той ссылке что ты привел, типы и типы данных тождественны :D

                Цитата KILLER @
                Я не запутался, я задавал вопрос, и ждал вразумительного ответа, который ты, к сожалению не дал!!!


                Я же сказал, что нигде. Но как только мы объявляем процедурный ТИП, я сразу виду и тип, и данные ;) Не надо винить меня в своей невнимательности

                Цитата KILLER @
                Да спорю, абстракция "Тип данных", это частный случай абстракции "Тип", но при этом абстракция "Тип" != Абстракции "Тип данных" ...


                Ну так дай четкое определение термину "тип" и термину "тип данных" :D Тогда и продолжим спор ;)

                Цитата KILLER @
                Ок, приведи код объявления класса, с тремя пустыми процедурами в нем и не более!!!


                Абстрактный класс? Или интерфейс? Что тебя именно больше удовлетворит?
                ExpandedWrap disabled
                  type
                    TAbstractClass = class
                    public
                      procedure proc1; virtual; abstract;
                      procedure proc2; virtual; abstract;
                      procedure proc3; virtual; abstract;
                    end;
                   
                    TSomeInterface = interface
                      procedure proc1;
                      procedure proc2;
                      procedure proc3;
                    end;


                Цитата KILLER @
                --Ins--, вот в том то и дело что над этими данными


                Операции применяются не к типам, а к значением данного типа. Если тип - это процедурный тип, то его значения - это ссылки на конкретные процедуры, и операции над этими значениями (данными) - это, например, их вызов

                PS: Я сейчас сделаю очень нехорошую вещь, наверное я раньше такого на форуме себе не позволял, но... Киллер, я уже давно заметил, уж извини - спорю с тобой - и тупею. Всегда спор с тобой скатывается к цеплянию к словам, необходимостью обосновывать что 2*2=4 и пытаться понять что же ты имел в виду, когда говорил то-то и то-то, и вообще, о чем идет спор? С другими такого чувства нет. Второе, я не люблю общаться с человеком на технические темы, когда его манера общения напоминает манеру общения гопника, а ты в этом преуспеваешь. Я был бы тебе очень признателен, если бы ты позволил мне избежать дальнейших дискуссий с тобой, притом что я бы хотел продолжить участие в этом холиваре с другими своими оппонентами. Просто лично ты мне не интересен
                Сообщение отредактировано: --Ins-- -
                  Цитата --Ins-- @
                  ХЗ, но в той ссылке что ты привел, типы и типы данных тождественны :D

                  Где? Помойму там описываются исключительно типы данных.

                  Цитата --Ins-- @
                  Я же сказал, что нигде. Но как только мы объявляем процедурный ТИП, я сразу виду и тип, и данные ;) Не надо винить меня в своей невнимательности

                  Ну а тип у этой процедуры есть??

                  Цитата --Ins-- @
                  Абстрактный класс? Или интерфейс? Что тебя именно больше удовлетворит?

                  Неважно что, покажи теперь где там данные??(только не нужно приводить методы и данные из какого нибудь базового класса TObject)

                  Цитата --Ins-- @
                  PS: Я сейчас сделаю очень нехорошую вещь, наверное я раньше такого на форуме себе не позволял, но... Киллер, я уже давно заметил, уж извини - спорю с тобой - и тупею. Всегда спор с тобой скатывается к цеплянию к словам, необходимостью обосновывать что 2*2=4 и пытаться понять что же ты имел в виду, когда говорил то-то и то-то, и вообще, о чем идет спор? С другими такого чувства нет. Второе, я не люблю общаться с человеком на технические темы, когда его манера общения напоминает манеру общения гопника. Я был бы тебе очень признателен, если бы ты позволил мне избежать дальнейших дискуссий с тобой, притом что я бы хотел продолжить участие в этом холиваре с другими своими оппонентами. Просто лично ты мне не интересен

                  Взаимно, удачи... На предыдущие вопросы можешь не отвечать, не нужно...
                    Да, забавно подискутировали на тему "алгоритмов + структур данных".
                    А если я ещё вброшу "у нас типы могут быть значениями не хуже самих значений этих типов" и "мы умеем выполнять операции над типами"?
                    Сообщение отредактировано: Qraizer -
                      Цитата KILLER @
                      Что смешного?? Там вполне ясно расказано, что такое тип данных, и что к нему относиттся, все остальное можешь считать не типами данных...

                      угу, http://en.wikipedia.org/wiki/Data_type

                      Добавлено
                      Цитата Qraizer @
                      Да, забавно подискутировали на тему "алгоритмов + структур данных".
                      А если я ещё вброшу "у нас типы могут быть значениями не хуже самих значений этих типов" и "мы умеем выполнять операции над типами"?

                      не надо, а то KILLER совсем свихнется, узнав, что "тип данных" сам может являться "данным" какого-то типа (метатипа) =)
                        Цитата D_KEY @
                        Кстати, таки нашел online-версию книги Б.Мейера.
                        Вот конкретная глава, относящаяся к теме модульности (сам читал давно, сейчас полистал - согласен не со всем):
                        Б.Мейер. "Основы ООП". 3. Модульность.

                        Эээ... ну чтож, буду отвечать цитатами Мейера :)

                        Цитата Qraizer @
                        А в С++ Начальнику не нужен личный контакт с работниками. Он с ними контактирует с помощью современных средств связи. Поэтому каждый работник может работать там, где ему удобно располагаться. Как можно ближе к тесно связанным родственными задачами коллегам, и не мешая никому, кто занимается совсем иными задачами. Главное, чтобы работники не забыли интерфейсы к себе оставить. В С++ давно уже считается дурным тоном лично начальником контролировать каждого работника.

                        Важный момент:
                        Цитата
                        Модульная Понятность

                        Метод удовлетворяет критерию Модульной Понятности, если он помогает получить такую программу, читая которую можно понять содержание каждого модуля, не зная текста остальных, или, в худшем случае, ознакомившись лишь с некоторыми из них.

                        Важность этого критерия следует из его влияния на процесс сопровождения программного продукта. Почти все действия по сопровождению программы, как неизбежные, так и не столь неизбежные, связаны с глубоким пониманием ее элементов. Метод едва ли может называться модульным, если тот, кто читает программный текст, не в состоянии понять его смысл.

                        ...

                        Принцип Самодокументирования

                        Разработчик модуля должен стремиться к тому, чтобы вся информация о модуле содержалась в самом модуле.


                        Цитата D_KEY @
                        Модули - средство декомпозиции системы, а не композиции

                        На уровне подсистемы - да, декомпозиция. На уровне общей системы - это композиция.
                        Цитата
                        Модульная Композиция

                        Метод удовлетворяет критерию Модульной Композиции, если он обеспечивает разработку элементов программного продукта, свободно объединяемых между собой для получения новых систем, быть может, в среде, отличающейся от той, для которой эти элементы первоначально разрабатывались.

                        Композиция определяет процесс, обратный декомпозиции: элементы программного продукта извлекаются из того контекста, для которого они были первоначально предназначены, для использования их вновь в ином контексте.

                        Метод модульного проектирования облегчает этот процесс, создавая автономные элементы программного продукта достаточно независимыми от первоначально поставленной задачи, что делает такое извлечение возможным.

                        Композиция непосредственно связана с повторным использованием. Этот критерий отражает старую мечту - превратить процесс конструирования программного продукта в работу по складыванию кубиков так, чтобы строить программы из фабрично изготовленных элементов.

                        ...

                        Композиция не зависит от декомпозиции. Фактически эти критерии часто противоречат друг другу.


                        Цитата D_KEY @
                        Костылем вообще является сама необходимость в таких секциях.
                        Если принять, что логическими единицой в ООП являются не модули, как в структурном, а классы и объекты, то никакой концептуальной разницы между INITIALIZATION/FINALIZATION и конструкторами/деструкторами нет.

                        Цитата
                        Наиболее очевидным примером обсуждаемого метода1), удовлетворяющим критерию декомпозиции, является метод нисходящего (сверху вниз) проектирования (top-down design). В соответствии с этим методом разработчик должен начать с наиболее абстрактного описания функции, выполняемой системой. Затем последовательными шагами детализировать это представление, разбивая на каждом шаге каждую подсистему на небольшое число более простых подсистем до тех пор, пока не будут получены элементы с настолько низким уровнем абстракции, что становится возможной их непосредственная реализация. Этот процесс можно представить в виде дерева.

                        Типичным контрпримером (counter-example) является любой метод, предусматривающий включение в разрабатываемую систему модуля глобальной инициализации. Многие модули системы нуждаются в инициализации - открытии файлов или инициализации переменных.

                        Каждый модуль должен произвести эту инициализацию до начала выполнения непосредственно возложенных на него операций. Могло бы показаться, что все такие действия для всех модулей системы неплохо сосредоточить в одном модуле, который проинициализирует сразу все для всех. Подобный модуль будет обладать хорошей "согласованностью во времени" (temporal cohesion) в том смысле, что все его действия выполняются на одном этапе работы системы. Однако для получения такой "согласованности во времени", придется нарушать автономию других модулей. Придется модулю инициализации дать право доступа ко многим структурам данных, принадлежащим различным модулям системы и требующим специфических действий по их инициализации. Это означает, что автор модуля инициализации должен будет постоянно следить за структурами данных других модулей и взаимодействовать с их авторами. А это несовместимо с критерием декомпозиции.

                        Термин "согласованность во времени" пришел из метода, известного как структурное проектирование (см. комментарии к библиографии).

                        В объектно-ориентированном методе каждый модуль должен самостоятельно инициализировать свои структуры данных.


                        Цитата D_KEY @
                        Можешь обосновать роль модулей в Delphi?

                        Там вообще много чего полезного рассказывается о модулях, если подытожить то вот:
                        Цитата
                        Ключевые концепции

                        • Выбор надлежащей структуры модуля является ключом к достижению целей его возможного повторного использования и расширяемости.
                        • Модули служат как для декомпозиции программного обеспечения (проектирование сверху вниз), так и для его композиции (снизу-вверх).
                        • Принципы модульности применимы как к спецификации и проектированию, так и к реализации ПО.
                        • Всеобъемлющее определение модульности должно объединять различные точки зрения; разные требования иногда оказываются взаимно противоречивыми, например декомпозиция (стимулирующая методы проектирования сверху-вниз) и композиция (способствующая использованию метода снизу-вверх).
                        • Управление количеством и формой связей между модулями является основой разработки хорошей модульной архитектуры.
                        • Для долгосрочной целостности структур модульной системы требуется скрытие информации, что приводит к необходимости строгого разделения интерфейса и реализации.
                        • Унифицированный доступ освобождает клиентов от знания выбора внутренних представлений, реализованных в модулях-поставщиках.
                        • Закрытым является такой модуль, который может использоваться, благодаря знанию его интерфейса, модулями-клиентами.
                        • Открытым является такой модуль, который еще можно расширять.
                        • Для эффективного руководства проектом следует поддерживать модули, являющиеся одновременно как открытыми, так и закрытыми. Но традиционные подходы к разработке и программированию не дают такой возможности.
                        • Принцип Единственного Выбора предписывает ограничивать распространение полной информации обо всех вариантах некоторого понятия.


                        KILLER
                        http://newstar.rinet.ru/~goga/tapl/tapl-toc.html
                        Сообщение отредактировано: DesweR -
                          Цитата korvin @
                          Цитата D_KEY @
                          Я же отвечал. Создаем класс для работы с GDI+

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

                          Тип данных? Не знаю. А тип объекта тут есть. Объект для работы с графическими элементами посредством GDI+. Класс этого объекта так же может быть наследовать от абстрактного класса, который предоставляет интерфейс для работы с графическими элементами вообще.

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

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

                          Почему он может не создастся? Ну не создастся - значит не выполнятся нужные действия. Причем тут статический контроль?

                          Добавлено
                          korvin, хватит оффтопить про функции. Лисп тут не причем. И в С++ и в Pascal функции не чистые, да и вообще, они там скорее routunes.

                          Добавлено
                          Цитата --Ins-- @
                          Тип == тип данных всегда. Потому что тип - это описание того, что содержит переменная этого типа, а переменная - это данные

                          Нет :no:
                          Рассмотрим
                          ExpandedWrap disabled
                            class A
                            {
                                void f();
                            private:
                                int x;
                            };

                          И
                          ExpandedWrap disabled
                            class A
                            {
                                void g();
                            private:
                                int x;
                            };

                          Это два одинаковых типа?
                          Тут уже приводили пример функции. В том смысле, в котором "функция" понимается в С++ и Delphi, она имеет тип и не имеет "данных"(если мы не лезем под капот).
                          Тип в программировании - это скорее "возможные состояния + интерфейс объекта", чем тип данных.
                          Сообщение отредактировано: D_KEY -
                            они и в лиспе не чистые, при чем тут чистота? Я говорю о том, что функции являются данными наравне с константными значениями, а это верно и для делфи, и для с++
                              DesweR, внимательнее нужно читать и меня тоже. Модули, безусловно, нужны, речь о том, что является модулями в ООП системе. Если ты еще не понял, то Мейер считает, что классы.
                              Я рад, что тебе понравился труд Мейера. Надеюсь, ты не ограничишься этой главой. Глядишь, и аргументов наберешься для данного и соседнего холивара, интереснее будет :)

                              Добавлено
                              Цитата korvin @
                              Я говорю о том, что функции являются данными наравне с константными значениями, а это верно и для делфи, и для с++

                              Нет :(
                              Что представляют собой "данные" функции?
                              Список инструкций? Так он под капотом, ты не имеешь возможности с ним работать.
                                Цитата D_KEY @
                                Нет :(
                                Что представляют собой "данные" функции?
                                Список инструкций? Так он под капотом, ты не имеешь возможности с ним работать.

                                да
                                Функция -- это и есть данное. Какие данные у цифры 1?
                                А я и не обязан мочь работать с внутренней реализацией функции. Инкапсуляция же, АТД и прочие страшные слова =)
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (495) « Первая ... 129 130 [131] 132 133 ...  494 495


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