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


      Будет время - гляну

      Цитата D_KEY @
      Ну а так, для С++ есть библиотеки для сериализации, вроде boost::serialization, есть Qt и т.п.


      Странно, оно ж не нужно, зачем сделали? ;)
        Цитата --Ins-- @
        А, ну это да, это ж столько писанины в дельфи один раз в объявлении класса слово published написать

        Ну, давайте "на пальцах". Вот есть класс
        ExpandedWrap disabled
          class gps_position
          {
              int degrees;
              int minutes;
              float seconds;
          public:
              gps_position(){}
              gps_position(int _d, int _m, float _s) :
                  degrees(_d), minutes(_m), seconds(_s)
              {}
          };

        Можно его же на дельфях с атрибутами, необходимыми сериализатору/десериализатору?

        Добавлено
        Цитата --Ins-- @
        Странно, оно ж не нужно, зачем сделали?

        Не нужна "автоматическая" сериализация на основе рефлексии...
          Цитата --Ins-- @
          Еще раз: в большинстве случаев (в моей практике) человекочасы стоят дороже, чем микросекунды процессорного времени.

          Во-первых, тогда не ясен твой выбор в пользу Delphi. Мягко скажем, не самый быстрый инструмент разработки.
          Во-вторых, человекочасы действительно стоят дороже, но это не имеет никакого отношения к вопросу, т.к. все зависит от требований ТЗ. Если программа не удовлетворяет ТЗ, то она и не существует и потраченные на нее человекочасы не стоят ровным счетом ничего.
          Сообщение отредактировано: D_KEY -
            Цитата MyNameIsIgor @
            Можно его же на дельфях с атрибутами, необходимыми сериализатору/десериализатору?


            ExpandedWrap disabled
              TGPSPosition = class
              private
                FDegrees: Integer;
                FMinutes: Integer;
                FSeconds: Extended;
              published
                property Degrees: Integer read FDegrees write FDegrees;
                property Minutes: Integer read FMinutes write FMinutes;
                property Seconds: Extended read FSeconds write FSeconds;
              end;


            Цитата Qraizer @
            Но речь-то не об этом. Речь о ваших (наших?) расхождениям о смысле использованного термина.


            Какого именно термина? Размер кода? Я под размером кода подразумеваю масштабы писанины, имелось в виду что-то другое?
              Цитата MyNameIsIgor @
              Ну, давайте "на пальцах". Вот есть класс
              ExpandedWrap disabled
                class gps_position
                {
                    int degrees;
                    int minutes;
                    float seconds;
                public:
                    gps_position(){}
                    gps_position(int _d, int _m, float _s) :
                        degrees(_d), minutes(_m), seconds(_s)
                    {}
                };

              Можно его же на дельфях с атрибутами, необходимыми сериализатору/десериализатору?

              Я так понимаю, что все свойства из "раздела" published будут считаны/записаны сериализатором:
              ExpandedWrap disabled
                class gps_position
                {
                    // ...
                public:
                    gps_position(){}
                    gps_position(int _d, int _m, float _s) :
                        degrees(_d), minutes(_m), seconds(_s)
                    {}
                published:
                    property<int> degres;
                    property<int> minutes;
                    property<float> seconds;
                };
                --Ins--, ok, с boost::serialization получается вот так
                ExpandedWrap disabled
                  class gps_position
                  {
                      friend class boost::serialization::access;
                      int degrees;
                      int minutes;
                      float seconds;
                      template<class Archive>
                      void serialize(Archive & ar, const unsigned int)
                      {
                          ar & degrees & minutes & seconds;
                      }
                  public:
                      gps_position(){};
                      gps_position(int _d, int _m, float _s) :
                          degrees(_d), minutes(_m), seconds(_s)
                      {}
                  };

                Да, мне так много кода пришлось добавить - бида-пичаль :'(
                Сообщение отредактировано: MyNameIsIgor -
                  Цитата --Ins-- @
                  Помечаешь член как сериализуемый и все, вметсо того чтобы явно писать код сериализации/десериализации

                  Что мешает делать такое статически без рефлексии? А в Хаскелле достаточно приписать "deriving (Show, Read)" к определению типа... =)
                    Цитата D_KEY @
                    Во-первых, тогда не ясен твой выбор в пользу Delphi.


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

                    Цитата D_KEY @
                    Во-вторых, человекочасы действительно стоят дороже, но это не имеет никакого отношения к вопросу, т.к. все зависит от требований ТЗ. Если программа не удовлетворяет ТЗ, то она и не существует и потраченные на нее человекочасы не стоят ровным счетом ничего.


                    Это такой новый вид троллинга?
                      Цитата korvin @
                      Что мешает делать такое статически без рефлексии? А в Хаскелле достаточно приписать "deriving (Show, Read)" к определению типа... =)

                      Эхххх...Когда-то давно я ещё шарпистам объяснял, что рефлексия в дотнете - один большой костыль, заставляющий run-time делать то, что можно и нужно делать статически - освистали и закидали :yes-sad:

                      Добавлено
                      Цитата --Ins-- @
                      Это такой новый вид троллинга?

                      Это реалии разработки ПО.
                        Цитата --Ins-- @
                        Пока у меня не будет достаточного количества наработок в других языках

                        Так откуда они у тебя возьмуться, если ты настолько предан Delphi?

                        Цитата
                        Это такой новый вид троллинга?

                        А кому нужен софт, неудовлетворяющий ТЗ?
                          Цитата korvin @
                          Что мешает делать такое статически без рефлексии?


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

                          Добавлено
                          Цитата D_KEY @
                          Так откуда они у тебя возьмуться, если ты настолько предан Delphi?


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

                          Цитата D_KEY @
                          А кому нужен софт, неудовлетворяющий ТЗ?


                          Не, это точно троллинг :D Я говорю, когда микросекунды не имеют значения (а в моей практике - это 95% случаев) сэкономленное время важнее производительности. А ты приводишь пример из 5% и споришь со мной, как будто бы я тоже имел в виду эти 5% :D
                            Цитата --Ins-- @
                            Эээ, это как? Тебе передается для сериализации объект, класс которого не известен на этапе компиляции. Как это можно сделать без рефлексии и без того, чтобы для каждого класса отдельно писать свой код?

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

                            Добавлено
                            Минус -- больший объем объектного кода. Плюс -- выше скорость операции.
                              Цитата korvin @
                              Однако вместо одной универсальной процедуры, которая считывает рантайм-информацию о типе можно было бы для каждого класса генерировать методы сериализации/десериализации на основе описания класса во время компиляции.

                              Тру! :good:
                                Цитата --Ins-- @
                                Я говорю, когда микросекунды не имеют значения (а в моей практике - это 95% случаев) сэкономленное время важнее производительности.

                                А тебе говорю, что сэкономленное время всегда важнее производительности. А софт всегда должен удовлетворять ТЗ.
                                Поэтому мне не ясно, с чем ты споришь и зачем ты постоянно повторяешь одну и ту же фразу :)
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (495) « Первая ... 436 437 [438] 439 440 ...  494 495


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