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

Страницы: (117) « Первая ... 75 76 [77] 78 79 ...  116 117  ( Перейти к последнему сообщению )  
> Delphi vs C++ , Часть 1
    Цитата Flex Ferrum @
    Моя реализация на проверке синтаксиса вообще никаких вычислений не делает.

    Моя тоже на проверке синтаксиса никаких вычислений не делает.
    Цитата Flex Ferrum @
    Что называется, почувствуйте разницу. Обычно - в скорости.

    :o Двойной парсинг уже стал быстрее, чем один парсинг и проход по дереву?
    Цитата archimed7592 @

    Т.е. ты признаёшь, что есть вполне себе задача, которую невозможно рационально решить используя Дельфи? :D

    По-моему это только сишники отрицают :)
    Цитата archimed7592 @

    У dx удобный интерфейс? dx масштабируема? Нет.

    Аргументы? DX удобно использовать благодаря нормальной системе интерфейсов. Расширять — не проблема. По сравнению с оригиналом DX уже значительно расширилось, есть различные дополнения.
      Цитата Romkin @
      Что ты подразумеваешь под константным объектом? Плиз, на пальцах.

      Константным объектом обычно называется такой объект, внешнее (иначе говоря, видимое потребителями) состояние которого невозможно изменить путем внешних же воздействий.
        Цитата Romkin @
        Стреляйся сам. По-твоему, я должен в тяпницу вечером разгребать твои закорючки, чтобы понять, что ты хотел сказать "В С++ правила константности соблюдаются и для динамических объектов."? Тху.

        По-моему:
        1. Если не способен адекватно поддерживать беседу - не лезь в неё и т.о. не раздражай собеседников.
        2. Если что-то не понимаешь, то спроси(как ты сделал это только сейчас), а не неси не относящийся к делу бред.

        Цитата Romkin @
        Что ты подразумеваешь под константным объектом? Плиз, на пальцах.

        То что на бутылку сока можно посмотреть и это не изменит её состояния(константный метод) или можно попить оттуда, что изменит её состояние(неконстантный метод). В С++ к константным объектам можно применять только константные методы.
        Более реальный пример: узнать размер контейнера - константный метод, добавить элемент/изменить элемент - неконстантный метод.
        Зачем это нужно объяснять?
          Цитата Flex Ferrum @
          Константным объектом обычно называется такой объект, внешнее (иначе говоря, видимое потребителями) состояние которого невозможно изменить путем внешних же воздействий.

          Объект класса. С константными полями. Правда, он в единственном числе будет. Оно?
            Цитата Smike @
            Моя тоже на проверке синтаксиса никаких вычислений не делает.

            Ну да. Только дерево строит. :)

            Цитата Smike @
            Двойной парсинг уже стал быстрее, чем один парсинг и проход по дереву?

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

            Добавлено
            Цитата Romkin @
            Объект класса. С константными полями. Правда, он в единственном числе будет. Оно?

            Может быть и оно, но почему в единственном числе?
              Цитата Smike @
              Аргументы? DX удобно использовать благодаря нормальной системе интерфейсов. Расширять — не проблема. По сравнению с оригиналом DX уже значительно расширилось, есть различные дополнения.

              Ааа... COM - это очень сильно ориентированно на платформу. Скажи пожалуйста, зачем ориентировать геометрическую библиотеку на платформу? Её что, нужны какие-то платформозависимые фичи, чтобы нормально посчитать выпуклую оболочку?
                Цитата Flex Ferrum @
                Апхимед, Romkin, если вы и дальше продолжите дискутировать в подобном тоне, то стрелять буду уже я, и по обоим сразу.

                два на одного... не попянеш.. :whistle:
                  Цитата Romkin @
                  Объект класса. С константными полями. Правда, он в единственном числе будет. Оно?

                  Всё таки надо объяснять зачем.
                  Итак, есть ф-ция, которая как аргумент принимает контейнер, берёт из него данные и что-то на их основе делает, на сам контейнер не изменяет. Нормальный программист просит только ссылку на константный контейнер(ибо неконстантные методы ему просто не нужны). OTOH, если он попытается изменить состояние контейнера, то получит по лбу от компилятора.
                  Теперь ситуация в Дельфи: я не знаю что делает ф-ция... Может быть она изменяет контейнер, может быть нет... Хз. Мне что, делать копию контейнера только потому что я не уверен в чистоплотности ф-ции? А если в контейнере миллион элементов?
                  Сообщение отредактировано: archimed7592 -
                    Цитата Flex Ferrum @
                    Может быть и оно, но почему в единственном числе?

                    Да можно и в множественном... А зачем несколько объектов, состояние которых неизменно? Вроде достаточно одного.
                    Речь не об этом?
                    ExpandedWrap disabled
                        TSClass = class
                        private
                          const
                            FID = 'AAA';
                        public
                          class function GetID: string;
                        end;
                       
                      var
                        Form9: TForm9;
                       
                      implementation
                       
                      class function TSClass.GetID: string;
                      begin
                        Result := FID;
                      end;
                       
                      ...
                       
                      var
                        SClass: TSClass;
                      begin
                        ShowMessage(TSClass.GetID);
                        SClass := TSClass.Create;
                        try
                          ShowMessage(SClass.GetID);
                        finally
                          SClass.Free;
                        end;
                      end;
                      Цитата Romkin @
                      Речь не об этом?

                      :no: ты говориш о константом синглтоне :P
                        Цитата archimed7592 @
                        сё таки надо объяснять зачем.
                        Итак, есть ф-ция, которая как аргумент принимает контейнер, берёт из него данные и что-то на их основе делает, на сам контейнер не изменяет. Нормальный программист просит только ссылку на константный контейнер(ибо неконстантные методы ему просто не нужны). OTOH, если он попытается изменить состояние контейнера, то получит по лбу от компилятора.

                        А. Вот теперь понятно :) Так бы сразу. Речь идет об ограничении изменения в конкретной области видимости.
                        Вроде бы такого нет, по крайней мере сейчас навскидку не скажу.
                          Цитата Romkin @
                          Речь идет об ограничении изменения в конкретной области видимости.

                          не об ограничении.. а об отсуствии изменений.
                            Цитата Smike @
                            Опять мешаем абстрактны классы с нативными интерфейсами? <_<

                            Еще раз. Интерфейс в традиционном понимании (набор методов) эквивалентен абстрактному классу.
                            Цитата trainer @
                            из известных и распространенных - к Java уже прикрутили шаблоны, на очереди вроде C#

                            Не прикрутили. Генерики и шаблоны — это совсем разные вещи.
                            Цитата Smike @
                            Камень в огород C++ от Джоэла Спольски:

                            Да, есть такие вещи. Иногда неудобно.
                            Цитата archimed7592 @
                            Я не слышал ещё про язык, поддерживающий такие же мощные шаблоны, как и С++.

                            Если говорить не про шаблоны, а про метапрограммирование времени компиляции, то в лиспе макросы помощнее шаблонов будут :) В питоне тоже неплохие вещи можно делать.
                            Цитата Smike @
                            ОК, как мне получить экземпляр "абстрактного класса" из класса, наследующегося от нескольких? То есть некое подобие QueryInterface.

                            Просто. Люблй класс можно привести к базовому.
                            Цитата Smike @
                            Меня не интересует, как реализован DirectX, я его могу использовать в любом языке программирования.

                            Ужасно он реализован. И объемных вычислений там нету. И такой настраиваемости нету — точность вычислений низкая, только определенная модель действий.
                            Цитата Smike @
                            Нет, нужно просто создавать юзабельный интерфейс для этого всего.

                            Вот тут-то и начинаются проблемы :) дельфи недостаточно выразителен, чтобы использовать это.
                            Цитата Romkin @
                            И скорее всего нечто похожее есть, надо только поискать.

                            Хорошая аргументация :D
                              Цитата Romkin @
                              Вроде бы такого нет, по крайней мере сейчас навскидку не скажу.

                              Ой-ой-ой... Ну и язык :whistle:.
                                Цитата LuckLess @
                                не об ограничении.. а об отсуствии изменений.

                                Ну да ну да.
                                Подобное можно сделать с помощью интерфейсов (да-да, опять :rolleyes:): написать интерфейс, включить в него нужные методы и передавать его.
                                Можно, скорее всего, с помощью хелпера, но это уже для меня область еще неизведанная...
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (117) « Первая ... 75 76 [77] 78 79 ...  116 117
                                Закрыто archimed7592 11-03-2008: Лимит страниц. Продолжаем Delphi vs C++



                                Рейтинг@Mail.ru
                                [ Script execution time: 0,1078 ]   [ 15 queries used ]   [ Generated: 2.08.25, 03:24 GMT ]