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

    Что значит "откуда"? Оттуда, что это ошибка.
    Ставят для того, чтобы не задумываться о зависимостях одного заголовочного файла от другого. Я могу написать
    ExpandedWrap disabled
      #include <a.h>
      #include <b.h>

    и не думать, включает a.h файл b.h или нет.
      Цитата D_KEY @
      Чтоб не ругался компилятор :-?

      т.е. никакого смысла не писать "#pragma once" нет? и все его пишут лишь потому что компилятор не в состоянии загружать файл только один раз? как это мило

      Добавлено
      Цитата MyNameIsIgor @
      Ставят для того, чтобы не задумываться о зависимостях одного заголовочного файла от другого. Я могу написать
      ExpandedWrap disabled
        #include <a.h>
        #include <b.h>

      и не думать, включает a.h файл b.h или нет.

      ты знаешь, никто и не думает об этом, но только сишникам/сиплюсплюсникам приходится это писать явно
        Цитата korvin @
        Цитата D_KEY @
        Чтоб не ругался компилятор :-?

        т.е. никакого смысла не писать "#pragma once" нет? и все его пишут лишь потому что компилятор не в состоянии загружать файл только один раз? как это мило

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

          Ну, новый вброс я оценил, тем не менее надо бы вернуться к нашим баранам: какое отношение интимные препроцессорные проблемы C/C++ имеют к тому факту, что модули без особой надобности при наличии ООП? Те же Java и C# лишены всех этих плясок с препроцессором, а как таковых модулей не имеют. И ущербными себя не чувствуют.
            Цитата korvin @
            ты знаешь, никто и не думает об этом, но только сишникам/сиплюсплюсникам приходится это писать явно

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

              почему это сразу не сделали в неймспейсах и почему это понятие модуля устарело?
                Цитата korvin @
                Цитата D_KEY @
                Собственно, единственное, что принесут модули - это возможность не ставить стражей. Стоит ли оно введения в язык нового для языка понятия(модули), которое к тому же устарело?

                почему это сразу не сделали в неймспейсах

                А причем тут неймспейсы?

                Цитата
                и почему это понятие модуля устарело?
                Я уже объяснял.
                В случае ООП модульность обеспечивается классами и объектами, а не модулями, как при структурном проектировании.
                  Цитата MyNameIsIgor @
                  Ну, новый вброс я оценил, тем не менее надо бы вернуться к нашим баранам: какое отношение интимные препроцессорные проблемы C/C++ имеют к тому факту, что модули без особой надобности при наличии ООП? Те же Java и C# лишены всех этих плясок с препроцессором, а как таковых модулей не имеют. И ущербными себя не чувствуют.

                  зато имеют пакеты и неймспейсы, сущности, которые к ООП отношения не имеют, выполняют часть функций модулей, но тем не менее в этих ООП-языках юзаются. кроме того я приводил пример, чем могут разные модули отличаться в Racket

                  Добавлено
                  Цитата D_KEY @
                  Я уже объяснял.
                  В случае ООП модульность обеспечивается классами и объектами, а не модулями, как при структурном проектировании.

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

                    Зачем C++ система такая как в Racket? Цель - построить гармоничную и качественную систему, это в C++ есть, и без этих ваших языков, которые получтора программистам на свете нужны.
                      Цитата D_KEY @
                      А причем тут неймспейсы?

                      группировка сущностей в пространство имен -- это одна из функций модулей. почему ее выполняют неймспейсы, а не классы/объекты?
                        Цитата korvin @
                        Цитата MyNameIsIgor @
                        Ну, новый вброс я оценил, тем не менее надо бы вернуться к нашим баранам: какое отношение интимные препроцессорные проблемы C/C++ имеют к тому факту, что модули без особой надобности при наличии ООП? Те же Java и C# лишены всех этих плясок с препроцессором, а как таковых модулей не имеют. И ущербными себя не чувствуют.

                        зато имеют пакеты и неймспейсы, сущности, которые к ООП отношения не имеют, выполняют часть функций модулей, но тем не менее в этих ООП-языках юзаются.

                        Что тебя не устраивает?

                        Цитата
                        Цитата D_KEY @
                        Я уже объяснял.
                        В случае ООП модульность обеспечивается классами и объектами, а не модулями, как при структурном проектировании.

                        приведи мне класс/объект меняющий внутри своего описания readtable

                        Расскажи подробнее, что, зачем и почему :)
                          Цитата korvin @
                          зато имеют пакеты и неймспейсы, сущности, которые к ООП отношения не имеют, выполняют часть функций модулей, но тем не менее в этих ООП-языках юзаются. кроме того я приводил пример, чем могут разные модули отличаться в Racket

                          Ну, за Java много говорить не буду - знаком в общих чертах. Пространства имён шарпа не несут никаких дополнительных функций в сравнении с пространствами имён плюсов. А вот дотнетовские сборки - это библиотеки. Не знаю джавовские пакеты, потому как-то трудно сравнивать их со сборками... Поэтому попрошу пояснения: какие функции модулей выполняют дотнетовские сборки?
                            Цитата korvin @
                            Цитата D_KEY @
                            А причем тут неймспейсы?

                            группировка сущностей в пространство имен -- это одна из функций модулей. почему ее выполняют неймспейсы, а не классы/объекты?

                            С каких пор модули стали открытыми?

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

                            Ну, за Java много говорить не буду - знаком в общих чертах. Пространства имён шарпа не несут никаких дополнительных функций в сравнении с пространствами имён плюсов. А вот дотнетовские сборки - это библиотеки. Не знаю джавовские пакеты, потому как-то трудно сравнивать их со сборками... Поэтому попрошу пояснения: какие функции модулей выполняют дотнетовские сборки?

                            Не, пакеты в java это не сборки. Это... ну ... неймспейсы, отмапленные дополнительно на файловую систему.
                            Сообщение отредактировано: D_KEY -
                              Цитата D_KEY @
                              Расскажи подробнее, что, зачем и почему :)

                              что -- использовать при описании модуля (для тебя -- класса) некое расширение синтаксиса (например для тех же списков определить синтаксис для list comprehension), которое должно действовать только в границах этого описания, т.е. от "class Foo {" до соответствующей "}"

                              зачем -- в описании модуля (класса) предполагается частое использование списков, хотелось бы упростить код ("[1..10]" как-то короче нежели какой-нибудь "enumList(1, 10)", или "[sqrt(x), x = [1..10], isOdd(x)]" чем "map( lambda (x) = sqrt(x), filter( lambda (x) = isOdd(x), enumList(1, 10) ) )" =) )
                                Цитата korvin @
                                Цитата D_KEY @
                                Расскажи подробнее, что, зачем и почему :)

                                что -- использовать при описании модуля (для тебя -- класса) некое расширение синтаксиса (например для тех же списков определить синтаксис для list comprehension), которое должно действовать только в границах этого описания, т.е. от "class Foo {" до соответствующей "}"

                                Не понял.

                                Цитата
                                зачем -- в описании модуля (класса) предполагается частое использование списков, хотелось бы упростить код ("[1..10]" как-то короче нежели какой-нибудь "enumList(1, 10)", или "[sqrt(x), x = [1..10], isOdd(x)]" чем "map( lambda (x) = sqrt(x), filter( lambda (x) = isOdd(x), enumList(1, 10) ) )" =) )

                                Цель не ясна. Не нравится одна абстракция - построй другую. Зачем менять синтаксис?

                                Кстати, модули Delphi тут мало помогут.
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (495) « Первая ... 32 33 [34] 35 36 ...  494 495


                                Рейтинг@Mail.ru
                                [ Script execution time: 0.1250 ]   [ 15 queries used ]   [ Generated: 29.07.26, 01:42 GMT ]