На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (245) « Первая ... 26 27 [28] 29 30 ...  244 245  ( Перейти к последнему сообщению )  
> Есть ли будущее у DELPHI?
    Цитата D_KEY @
    А в oxуgen ничего так сделали.

    ExpandedWrap disabled
      method MyObject.DivideBy(aValue: Integer);
      require
        aValue <> 0;
      begin
        MyValue := MyValue/aValue;
      end;

    а почему не
    ExpandedWrap disabled
      type IntegerNotZero = ...;
      method MyObject.DivideBy(aValue: IntegerNotZero);
      begin
        MyValue := MyValue/aValue;
      end;

    ?
    Сообщение отредактировано: korvin -
      Цитата korvin @
      На какие случаи она не подходит?

      Когда ты не знаешь какие исключения могут быть выплюны (из используемой библиотеке).
        Цитата DesweR @
        Цитата D_KEY @
        Ага. Это не я предлагаю ввести это в Delphi.
        Кстати, как это могло бы выглядеть?

        Как в оксегене, не помню уже, но вроде так:
        ExpandedWrap disabled
          var Y: Integer;
          Y := 123;
          var X: Integer;
          X := 123;

        хотя мне это не нравится.

        Да, как-то "некрасиво". А "грабельки"(с)Астарот есть какие-нибудь?

        Добавлено
        Цитата korvin @
        Цитата D_KEY @
        А в oxуgen ничего так сделали.

        ExpandedWrap disabled
          method MyObject.DivideBy(aValue: Integer);
          require
            aValue <> 0;
          begin
            MyValue := MyValue/aValue;
          end;

        а почему не
        ExpandedWrap disabled
          type IntegerNotZero = ...;
          method MyObject.DivideBy(aValue: IntegerNotZero);
          begin
            MyValue := MyValue/aValue;
          end;

        ?

        Потому, что ты не всегда сможешь и захочешь создавать на каждый чих тип. Кроме того, может быть контракт с участием нескольких аргументов и полей класса, тут как быть?
        Сообщение отредактировано: D_KEY -
          Цитата D_KEY @
          А "грабельки"(с)Астарот есть какие-нибудь?

          Вот терзают меня смутные сомнения исходя из того, что в дельфях переменные нужно было объявлять в строго заданном месте кода :unsure: Нет там высасывания переменных наверх, как в js?
            Цитата DesweR @
            Цитата korvin @
            На какие случаи она не подходит?

            Когда ты не знаешь какие исключения могут быть выплюны (из используемой библиотеке).

            Наследуй исключения от RuntimeException и кидай их где угодно.
              Цитата DesweR @
              Когда ты не знаешь какие исключения могут быть выплюны (из используемой библиотеке).

              Если библиотека на том же самом языке, то как такое может быть? Если на другом, то это проблемы реализации FFI к нему.
                Цитата D_KEY @
                Я говорил конкретно об автоматическом и детерминированном уничтожении локальных объектов. Это полезно.

                Вот контракты - это реально полезно, а RAII сто лет жили и ещё столлько же проживём (ну если очень хочется - всегда можно запилить).

                Цитата D_KEY @
                Как особенность дизайна языка. Это может быть интересно(напомню, мы говорили о том, что интересного есть в языке).

                Системщину на Delphi не пишем, так что интересного?

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

                Любопытно, но не революционно (но для системщины это самое то).
                  Цитата DesweR @
                  Т.е. то, что ИДЕ глюкавая и к ней туева хуча затычек от сторонних энтузиастов

                  Расширение функциональности у Вас теперь затычками называются?

                  .. и еще. Даже тот могучий CnPack, который как-бы расширяет функциональность среды.. Даже с ним, ИДЕ, выглядя как новогодня елка обвешенная всякими побрекушками от китайцев, все равно не дотягивает до Еклипсы, которая БЕСПЛАТНА!
                  Так за что берут такие деньжищи ембаркадеровцы? За убогую среду, которая даже с третьесторонним допилом не дотягивает до нормальных сред, за компилятор, который часто густо на больших файлах вылетает по аутофмемори что приходится просто юнит разбивать на два-три файла, или линкер, который порой просто уходит в нирвану и пока руками не потрешь все tds-файлы в каком-то внешнем проводнике - фиг слинкуешь? (последнее я, очевидно, о Билдере говорю).
                    Цитата D_KEY @
                    Цитата DesweR @

                    Как в оксегене, не помню уже, но вроде так:
                    ExpandedWrap disabled
                      var Y: Integer;
                      Y := 123;
                      var X: Integer;
                      X := 123;

                    хотя мне это не нравится.

                    Да, как-то "некрасиво". А "грабельки"(с)Астарот есть какие-нибудь?

                    Почему не
                    ExpandedWrap disabled
                      var x : Integer = 0;
                      var y : Integer = 0;

                    ?
                      Цитата DesweR @
                      но не революционно

                      :lol: А каких "революций" ты хочешь? Есть идиомы, которые приходят в языки из практики, есть, которые из теории. В любом случае, революцией это не будет.

                      Добавлено
                      Цитата korvin @
                      Почему не
                      ExpandedWrap disabled
                        var x : Integer = 0;
                        var y : Integer = 0;

                      ?

                      Ага. И еще бы:
                      ExpandedWrap disabled
                        var x := 0;
                        var y := 0;

                      С автоматическим выводом типа :)
                        Цитата Chow @
                        Список приведенный тут или тут теперь расширениями функциональности называется?

                        И? Ясно вижу, что IDE позволяет даже заплатки к себе клипать.
                        Покажи ещё мне CnPack и GExpert ;)
                          ... и, дорогие коллеги, давайте не скатываться в холивару на тему Делфи против ХХХ.
                          Тут не язык ведь обсуждается, а политика компании, из-за которой будь даже этот язык и библиотека VCL идеальны - они все равно, видимо, обречены...
                            Цитата Chow @
                            ... и, дорогие коллеги, давайте не скатываться в холивару на тему Делфи против ХХХ.
                            Тут не язык ведь обсуждается, а политика компании, из-за которой будь даже этот язык и библиотека VCL идеальны - они все равно, видимо, обречены...

                            Так переходите(или даже присоединяйтесь) к открытому проекту вроде lazarus. Если он не нравится - можно свое начать :)
                            Если уж так хочется язык сохранить. Не дело это, когда язык поддерживается только одной компанией...
                              Цитата Chow @
                              все равно не дотягивает до Еклипсы

                              По каким возможностям?
                              Кстати, помню тут не раз её ругали за излишнюю прожорливость и тормознутость.

                              Цитата korvin @
                              Почему не

                              Может можно и так, не помню.

                              Цитата D_KEY @
                              А каких "революций" ты хочешь?

                              Я? Это вы требуете революций от Delphi, при отсутствии таковых у себя, если что ;)
                                Цитата DesweR @
                                Я? Это вы требуете революций от Delphi, при отсутствии таковых у себя, если что ;)

                                Каких революций? Речь шла о каких-нибудь интересных языковых фичах, которые другие языки могли бы взять на вооружение.
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (245) « Первая ... 26 27 [28] 29 30 ...  244 245


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