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

    Я не вижу, чтобы Ваш(мне казалось, мы с Вами были на ты, ну да ладно) пример это показывал.

    Цитата
    затем Вы же вспомнили опять про паттерн-матчинг.

    Я не вспоминал о соответствии специализации паттерн-матчингу, я объяснил как работают шаблоны на примере их гипотетической реализации через паттерн матчинг.

    Цитата
    это-то мне более-менее понятно, непонятно только при чем тут шаблоны, если это можно сделать и без них?

    :wall:
    Нельзя в обсуждаемых языках столь же гибко генерировать типы без применения шаблонов.

    Добавлено
    Кстати, как это делать в Haskell я тоже не знаю.
      Цитата korvin @
      щито? у хаскеллового (да и вообще функционального) map строго определенное поведение, заданное автором по мат.определению.

      Смотрите как его за живое то задели :lol:
      Цитата korvin @
      нет, мне определенно нравится, когда С++-ники называют возможность сломать абстракцию(из-за невозможности эту абстракцию полноценно реализовать видимо?) "возможностью кастомизации", "фичей"... =)

      Мне определённо нравится такой korvin :D
        Цитата D_KEY @
        Я не вижу, чтобы Ваш(мне казалось, мы с Вами были на ты, ну да ладно) пример это показывал.

        ну как же? тайпклассы -- это дженерик-интерфейсы/абстрактные дженерик-классы, работающие в compile-time =)

        да я постоянно по-разному пишу, хз, как-то от контекста/настроения/тона беседы меняются местоимения =)

        Добавлено
        Цитата D_KEY @
        Нельзя в обсуждаемых языках столь же гибко генерировать типы без применения шаблонов.

        да зачем их генерировать-то? =)
        ExpandedWrap disabled
          interface SpecA {
              void aMethod1();
          }
           
          interface SpecB {
              void bMethod1();
              void bMethod2();
          }
           
          class SpecAImpl1 implements SpecA {
              public void aMethod1() {
              }
          }
           
          class SpecBImpl1 implements SpecB {
              public void bMethod1() {
              }
              public void bMethod2() {
              }
          }
           
          class App {
              public void usage(SpecA spec) {
                  spec.aMethod1();
              }
           
              public void usage(SpecB spec) {
                  spec.bMethod1();
                  spec.bMethod2();
              }
          }
           
          public class Main {
              public static void main(String[] args) {
                  App app = new App();
                  app.usage(new SpecAImpl1());
                  app.usage(new SpecBImpl1());
              }
          }


        Добавлено
        Цитата D_KEY @
        Кстати, как это делать в Haskell я тоже не знаю.

        Template Haskell тебе в помощь (емнип, с шаблонами C++ ничего общего, больше на макросы (не сишные) похоже)

        Добавлено
        Цитата MyNameIsIgor @
        Смотрите как его за живое то задели :lol:

        Вы все придумываете, у меня там нет гневного смайлика в посте, даже ни одного восклицательного знака =)
          Цитата korvin @
          Цитата D_KEY @
          Нельзя в обсуждаемых языках столь же гибко генерировать типы без применения шаблонов.

          да зачем их генерировать-то? =)

          Чтобы получить именно новый тип и, соответсвенно, все преимущества статической типизации.
          А так, как ты показал - можно и в плюсах, соответсвенно, не является аргументом в данном споре. В С++ можно делать когда удобно в статике, когда удобно в динамике.
          Причем как я заметил, то, что в С++ делается через шаблоны, в других языках делается частенько даже не в динамике, а банальным хардкодом.

          Цитата
          Template Haskell тебе в помощь (емнип, с шаблонами C++ ничего общего, больше на макросы (не сишные) похоже)

          Что-то вроде Nemerle? Или ближе к CL?
          А вообще да, хочу до него добраться...
          Сообщение отредактировано: D_KEY -
            Цитата D_KEY @
            Что-то вроде Nemerle? Или ближе к CL?
            А вообще да, хочу до него добраться...

            скорее к Nemerle, но я только бегло смотрел
              Цитата D_KEY @
              Qraizer, там уже динамика. И такой порядок соответствует нашему switch или блокам catch.
              Ну тогда ещё куда ни шло. Однако switch ты порядком case не сломаешь, если там проставлены break, а catch ругается предупреждениями и иногда напрасно.
              Не, в Плюсах тоже есть чему зависеть от порядка строчичек. Но все приходящие мне на ум случаи ограничены локальным контекстом влияния. Тот же switch без break-ов в case-ах, например, или порядок базовых классов, или там порядок не-POD-овых полей в классе, ...что там ещё. Если тут тоже всё локально, я не против. Другое дело, что специализации шаблонов в Плюсах могут быть раскиданы по разным файликам.
              Сообщение отредактировано: Qraizer -
                Цитата Qraizer @
                Если тут тоже всё локально, я не против.

                Да, локально :)
                Haskell вообще очень хороший язык(правда конкретно этот момент везде вроде так сделан). Только вот синтаксис нечитаемый. Прямо беда какая-то - мне из "современных" статически-типизированных нравятся Scala и Haskell. И у обоих ужасный синтаксис. У Nemerle же почти нулевая поддержка...
                  Цитата Qraizer @
                  Ну тогда ещё куда ни шло. Однако switch ты порядком case не сломаешь, если там проставлены break, а catch ругается предупреждениями и иногда напрасно.

                  в хаскелле(как и везде наверное) "break" идет для каждого case, т.е. две ветки выполнится не могут

                  Добавлено
                  Цитата D_KEY @
                  Только вот синтаксис нечитаемый.

                  не согласный я, простой и логичный синтаксис. логика опять же тоже проста, понять не сложно, а как понял, то и читается все легко.

                  трудности бывают только если наплодить инфиксных операторов с различными приоритетами, но их плодят редко и в небольших количествах и с приоритетами не играются.

                  а вот насчет скалки согласен =)

                  Добавлено
                  Цитата D_KEY @
                  Прямо беда какая-то - мне из "современных" статически-типизированных нравятся Scala и Haskell. И у обоих ужасный синтаксис. У Nemerle же почти нулевая поддержка...

                  а чем Ocaml не угодил? правда там с библиотеками туго, да и развитие похоже застопорилось =/

                  для него кстати есть хороший препроцессор 4p, вроде что-то наподобие Template Haskell, но (возможно) немного в сторону m4 или типа того
                  Сообщение отредактировано: korvin -
                    Цитата korvin @
                    не согласный я, простой и логичный синтаксис.

                    Я не говорил сложный и нелогичный, я сказал нечитаемый ;)

                    Цитата
                    а чем Ocaml не угодил? правда там с библиотеками туго, да и развитие похоже застопорилось =/


                    Во-во. Кстати сказать, он достаточно эффективен. Но он какой-то не такой удобный и гибкий, как Scala и даже Haskell. Но тут без доказательств - просто субъективное мнение :)
                    Из современных вариантов нормально развивается и поддерживается разве что F#, но он только под .NET :(
                    Сообщение отредактировано: D_KEY -
                      Основной недостаток ocaMLа ИМХО в том, что он однопоточный.
                      Сообщение отредактировано: jack128 -
                        Цитата jack128 @
                        Основной недостаток ocaMLа ИМХО в том, что он однопоточный.

                        да, но не все так плохо: http://stackoverflow.com/questions/1302272/is-inria-going-to-add-concurrency-primitives-to-ocaml
                          А что господа дельфисты думают об этом?
                            Цитата MyNameIsIgor @
                            А что господа дельфисты думают об этом?

                            Скажем так, улучшенный синтаксис. Таким был бы Delphi, если бы разрабатывался с нуля и только под дотнет.
                              Romkin, ну, а возможности? Перспективы использования?
                                Цитата MyNameIsIgor @
                                Romkin, ну, а возможности? Перспективы использования?

                                Это еще один язык для .NET. А перспективы - оно в студии есть, берешь и используешь.
                                Оно недавно появилось, так что еще рано что-то говорить.
                                2 пользователей читают эту тему (2 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (495) « Первая ... 347 348 [349] 350 351 ...  494 495


                                Рейтинг@Mail.ru
                                [ Script execution time: 0.6230 ]   [ 15 queries used ]   [ Generated: 31.07.26, 07:04 GMT ]