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

Страницы: (117) « Первая ... 2 3 [4] 5 6 ...  116 117  ( Перейти к последнему сообщению )  
> Delphi vs C++ , Часть 1
    Цитата Smike @
    Так вот, в ходе своего знакомства я увидел, что для элементарных вещей в Delphi в C++ требуются большие усилия. Например, чтобы задать экспортирумым функциям нормальные имена (а не _Function@8) нужно вручную править DEF-файл. То же самое в Delphi делается без всякого вмешательства программиста: всем функциям изначально даются такие же имена, как в коде.

    Легко критиковать то, в причинах чего не до конца разобрался. :) А непосредственно описанная проблема решается простым extern "C". Никогда не подводило. :)

    Цитата Smike @
    А вот C++ (не Борландовский) еще не научился работать со строками произвольного размера (без нулевого окончания)?

    Проснись :) На дворе уже 2007-ой, и уже 10 лет в стандарте языка присутствует std::string, который может работать со строками любой длины и содержимого.

    Цитата Мяут @
    Пишется отдельный контрол.

    Цитата wind @
    Зачем писать отдельный контрол, когда можно просто реализовать адаптер для этих компонент, реализующий интерфейсы слушателей изменения их свойств?

    Можно так. А можно и проще.
      Цитата Flex Ferrum @
      Можно так. А можно и проще.

      Ждём-с :whistle:
        Цитата Smike @
        Аналогичная ситуация ситуация с STL и Boost. В поставке Visual C++ 2005 нет ни того, ни другого,

        :blink: :blink: :blink: Борис, ты не прав. Ну, бустом компиляторы, конечно, пока не комплектуются. Но вот STL идет с любым компилятором, утверждающим, что он сколько-нибудь соответствует стандарту. В том числе и со студией 2005-ой.

        Добавлено
        Цитата wind @
        Ждём-с :whistle:

        Ну представим себе следующий код:
        ExpandedWrap disabled
          // Класс строки редактирования
          class EditBox
          {
          public:
          //...
             // Объявляем сигнал на изменение содержимого строки редактирования
             boost::signal<void (const std::wstring&)> OnTextChanged;
            
             // Метод, устанавливающий значение в строку редактирования
             void SetText(const std::wstring& value);
          //...
          };
          class Slider
          {
          public:
          //...
             // Сигнал на изменение значения слайдера
             boost:signal<void (int)> OnValueChanged;
             // Метод, устанавливающий новую позицию слайдера
             void SetValue(int valuel);
          };

        Ну а теперь где-то в форме
        ExpandedWrap disabled
          class VeryBigForm
          {
          public:
             VeryBigForm();
           
          private:
             EditBox m_EditBox1;
             EditBox m_EditBox2;
             EditBox m_EditBox3;
           
             Slider m_Slider1;
             Slider m_Slider2;
             Slider m_Slider3;
           
          };
           
          void SetSliderValue(const std::wstring& val, Slider* slider)
          {
             slider->SetValue(boost::lexical_cast<int>(val));
          }
           
          void SetEditBoxValue(int val, EditBox* eb)
          {
             eb->SetText(boost::lexical_cast<std::wstring>(val));
          }
           
          VeryBigFrom::VeryBigFrom()
          {
             // Связываем слайдеры с editbox'ами
             m_Slider1.OnValueChanged.connect(boost::bind(SetEditBoxValue, _1, &m_EditBox1));
             m_Slider2.OnValueChanged.connect(boost::bind(SetEditBoxValue, _1, &m_EditBox2));
             m_Slider3.OnValueChanged.connect(boost::bind(SetEditBoxValue, _1, &m_EditBox3));
           
             // Связываем editbox'ы со слайдерами
             m_EditBox1.OnTextChanged.connect(boost::bind(SetSliderValue, _1, &m_Slider1));
             m_EditBox2.OnTextChanged.connect(boost::bind(SetSliderValue, _1, &m_Slider2));
             m_EditBox3.OnTextChanged.connect(boost::bind(SetSliderValue, _1, &m_Slider3));
          }

        Вот и всех делов, собственно. :)
          Цитата Smike @
          Delphi — это язык. Не нужно смешивать язык и надстройки. И средства создания GUI с помощью Delphi не ограничиваются VCL. На Delphi я могу написать полностью юникодное приложение на WinApi, например. Или мы тут не языки сравниваем?

          Если рассматривать в таком аспекте (delphi как язык), то, согласен, можно...
          Цитата Smike @
          Аналогичная ситуация ситуация с STL и Boost. В поставке Visual C++ 2005 нет ни того, ни другого, значит это отнюдь не такая стандартная библиотека.

          В поставке vc++2005 есть stl, так как он входит в c++. А стандартность stl'а описана в стандарте c++ (кстати, у дельфи имеется стандарт?).
            mo3r- а чтож у мну-то вон Unicode ф-кции нормально пашут???
            ExpandedWrap disabled
              {$apptype console}
              program Hello; uses windows;
               
              const
                    caption = widestring ('Превед');
                    text    = widestring ('Проснись и пой');
              begin
                    MessageBoxW (0, text, caption, mb_ok);
              end.

            Так что, не надо ля-ля... Хм.. а в C++ Unicode - есть из коробки, или там тока одни костыли?
              Цитата mo3r @
              Если рассматривать в таком аспекте (delphi как язык), то, согласен, можно...

              У Смайка интересно получается. Когда ему удобно, он говорит, что Delphi - это только язык. В другой момент - это язык + VCL. В третий - язык + VCL + IDE. А ты сиди, и пытайся понять - что же в данном конкретном месте он понимает под словом Delphi... :)

              Добавлено
              Цитата n0p @
              Хм.. а в C++ Unicode - есть из коробки, или там тока одни костыли?

              Тип wchar_t в стандарте прописан. widechar-функции - тоже. Так что думай - из коробки или нет. :)
                Цитата mo3r
                кстати, у дельфи имеется стандарт?

                ты не поверишь, но совместимость с Delphi актуальна как GNU Pascal, так и Free Pascal, соответственно есть опции совместимости, которые, в значительной мере раскрепощают избалованово простотой и лёгкостью Delphi, кодера. Единственый незачет (как и у С++) - использование линкера в последней стадии обработки. Ну и конечно отсутствие рульных трёх регистровых fastcall вызовов. По оптимизации кода - эти компилеры всьма сливают Borland'у. Асм в ставках применять очень напряжно (как собсна и в C/C++) - создаються стековые фреймы (и от этого не помогают ни какие опции), которые за частую создают лишние проблемы.

                Добавлено
                Цитата
                Так что думай - из коробки или нет

                пишем слив плюсам - вот что я думаю :lool:
                  Цитата n0p @
                  пишем слив плюсам - вот что я думаю

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

                    Собственно, ничем не отличается от предложенного мною или Мяутом :)
                      Цитата wind @
                      Собственно, ничем не отличается от предложенного мною или Мяутом :)

                      Ну, видимо, я не совсем понял суть того, что вы предлагали.
                        Цитата
                        Только вот по правилам раздела этот слив обосновать надо

                        Ну по моему скромному имхо, С++ весьма тяжел для осиливания, во всех его нюансах, и слишком увесист, во всех его навороченейших хидерах (+либы), на одно усвоение которых уйдет значительное кол-во времени (чтоб потом программить по 'шаблонным правилам'). Ну а так, достаточно сопаставить одинаковые VCL проги Delphi и C++ Builder, чтоб понять где больше букв, и знаков препинания. Да, в чем то, OPascal прямолинеен, гдето неудобен, однако C++ он мало чем уступит в основном применении - вызов ф-кций системы, c заполнением тех или иных структур, которые занимают значительную часть в любой мало мальски функциональной проге.

                        Хотя, бесспорно, есть темы в которых плюсы его безоговорочно уделают. ;)
                        Правда, для этого нужна целая команда, высокообразованых в высшей алгебре, мега-кул кодеров.
                          Цитата n0p @
                          Ну по моему скромному имхо, С++ весьма тяжел для осиливания, во всех его нюансах, и слишком увесист, во всех его навороченейших хидерах (+либы), на одно усвоение которых уйдет значительное кол-во времени (чтоб потом программить по 'шаблонным правилам').

                          Т. е., грубо говоря, "многа букаф, ниасилил"? Ну, это еще не повод записывать слив. Может быть, если бы ты лучше изучил бы С/С++, не надо было бы направо и налево использовать ассемблерные вставки в коде...
                            Да знаю я ваши си и плюсы, хосспади. в базовой части. То есть они и мои, разумееться, как и целый ворох компиляторов. Просто предпочитаю находить более лёгкие пути. В жестоком деле (хотя и джаст-фор-фан) власти над машиной, системой и алгоритмами. :'(
                              Цитата Flex Ferrum @
                              У Смайка интересно получается. Когда ему удобно, он говорит, что Delphi - это только язык. В другой момент - это язык + VCL. В третий - язык + VCL + IDE. А ты сиди, и пытайся понять - что же в данном конкретном месте он понимает под словом Delphi... :)

                              В этой теме, как ты мог заметить, я ниразу не упоминал о преимуществах Delphi в виде VCL. И про IDE тоже умолчал.
                                Цитата Smike @
                                В этой теме, как ты мог заметить, я ниразу не упоминал о преимуществах Delphi в виде VCL. И про IDE тоже умолчал.

                                Ну так ведь это - не первая такая тема. :)
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (117) « Первая ... 2 3 [4] 5 6 ...  116 117
                                Закрыто archimed7592 11-03-2008: Лимит страниц. Продолжаем Delphi vs C++



                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0445 ]   [ 15 queries used ]   [ Generated: 15.08.25, 11:19 GMT ]