На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: ANDLL, ALXR
Страницы: (20) « Первая ... 12 13 [14] 15 16 ...  19 20 все  ( Перейти к последнему сообщению )  
> Как вы относитесь к паскалю? , (есть гипотеза)
   
Как вы относитесь к паскалю?
Гости не могут просматривать результаты голосования.
Гости не могут голосовать 
    korvin, короче, этот is как dynamic_cast<>, только хуже на порядок.
      Цитата Shaggy @
      используй что тебе удобнее, но не всё же сразу

      Спасибо, предпочитаю делать это с помощью системы типов, а не вот такие извращения.

      Цитата Shaggy @
      если у тебя все интерфейсы содержат по одному методу, тогда понятно такое их количество
      я как-то привык создавать по интерфейсу на задачу, а не на каждое действие

      У меня интерфейсы содержат столько методов, сколько нужно в той или иной ситуации, т.к. не привязываются намертво к реализующему типу.

      Цитата Qraizer @
      короче, этот is как dynamic_cast<>, только хуже на порядок.

      s/is/as/ =)
        Цитата korvin @
        Спасибо, предпочитаю делать это с помощью системы типов, а не вот такие извращения.

        пожалуйста :)
        ты привёл громоздкую и не работающую конструкцию. я тебя поправил
        зачем так нервничать?

        Цитата korvin @
        У меня интерфейсы содержат столько методов, сколько нужно в той или иной ситуации, т.к. не привязываются намертво к реализующему типу.

        эту конструкцию не понял

        Цитата Qraizer @
        короче, этот is как dynamic_cast<>, только хуже на порядок.

        :huh:
          Цитата Shaggy @
          ты привёл громоздкую и не работающую конструкцию. я тебя поправил
          зачем так нервничать?

          Я не про твои поправления, а про систему типов Делфи.

          Цитата Shaggy @
          эту конструкцию не понял

          Ну я-то сейчас на Go в основном пишу, а там интерфейсы — это просто группа методов и наличие реализации интерфейса не задается явно (а ля «class Foo implements Bar» в Джаве), а по наличию реализаций соответствующих методов. Как следствие — интерфейсы можно объявлять постфактум по месту необходимости.

          Например: многие библиотечные типы (не интерфейсы) имеют метод «String() : string» и мы хотим написать функцию Print(...), которая бы печатала любое значение, имеющее этот метод (String) с его (метода String) помощью. Для этого мы просто описываем интерфейс «Stringer { String() : string }» и далее функцию «Print(x : Stringer)» и вуаля, всё работает как надо.

          Но это частность, суть в возможностях объекта. Это как с режимом доступа к файлу: ro, wo, rw — третий является комбинацией первых двух, только статично. Например:

          ExpandedWrap disabled
            interface Input {
                Byte   GetByte();
                String GetLine(String delim);
                ...
            }
             
            interface Output {
                void PutByte(Byte b);
                void PutLine(String s);
                ...
            }
             
            interface InputOutput extends Input, Output;


          и я не вижу причин, почему система типов не должна позволять это выражать.
          Сообщение отредактировано: korvin -
            Цитата korvin @
            Ну я-то сейчас на Go в основном пишу, а там интерфейсы — это просто группа методов и наличие реализации интерфейса не задается явно (а ля «class Foo implements Bar» в Джаве), а по наличию реализаций соответствующих методов.


            Т.е. duck typing? А если метода не хватает, будет ошибка в рантайме или сразу?
              Цитата Mr.Delphist @
              А если метода не хватает, будет ошибка в рантайме или сразу?

              Сразу конечно.
                Цитата Mr.Delphist @
                Т.е. duck typing?

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

                    + в универах часто встречаются, поэтому многие студенты, не шибко интересующиеся, только делфи и усваивают более-менее. Хотя сейчас может уже не так, хз.
                      Хороший мужик был.
                        Цитата AZote @
                        Хороший мужик был.

                        Только болезный очень... Насколько помню, старина Блез помер в возрасте 39 лет. :( Впрочем, Франция - это видать место такое суровое.... даже из тех кто был с ним лично знаком - никто не выжил. :no-sad:
                        То ли дело Бьорн Страуструп или Гвидо ван Россум - живут и радуются. :yes:
                          Посмотрим как они будут жить лет через триста. =)
                            template <lang T> C<T>++ будет жить и здравствовать.
                              Лет через триста программисты не будут нужны, ибо роботы с их задачами будут справляться лучше <_<
                                Цитата Qraizer @
                                template <lang T> C<T>++ будет жить и здравствовать.

                                Ну только язык будет называться не C, а какой-нибудь Y или Z... или вообще "Я", буквы-то кончатся.
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (20) « Первая ... 12 13 [14] 15 16 ...  19 20 все


                                Рейтинг@Mail.ru
                                [ Script execution time: 0.1144 ]   [ 18 queries used ]   [ Generated: 27.07.26, 11:49 GMT ]