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

    не имеет и не должно, это должно относится именно к системе типов, но не к переменными.
      Цитата korvin @
      Цитата MyNameIsIgor @
      Да не существует такого языка, чтобы документация не понадобилась.

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

      А в С++ это не так. Дело в том, korvin, что такой язык, как С++, где все находится под контролем и ответственностью программиста, но при этом содержит минимальные средства для абстрагирования, должен был появится, появился, и все еще нужен.
        Цитата MyNameIsIgor @
        Не значит. Но чаще всего иного выхода просто нет.

        Я же не говорю, что это хорошо. Это просто есть. Оно не может не есть :)

        кстати я страницу-две назад давал пример кода на языке (хотя он похоже чисто "для проектирования"), там есть возможность описать аксиоматику поведения объектов класса, думаю это уже неплохой шаг.
        мне понравилось =)

        Добавлено
        Цитата D_KEY @
        Начинай :)

        как определить идентичность при передаче по значению? как вообще использовать те же списки подписки при передаче по значению? =)
          Цитата korvin @
          Цитата D_KEY @
          Как это нет, когда ссылочный тип или нет имеет значение только в случае переменных и ни в каком другом? Т.е. если не рассматривать переменные, то и деление на ссылочные типы и обычные не имеет смысла.

          не имеет и не должно, это должно относится именно к системе типов, но не к переменными.

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

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

              как определить идентичность при передаче по значению?

              Объекты при передачи по значению не идентичны(хотя могут быть равны). Ты создаешь копию.
              Вообще, если речь об ООП, то передавать по значению тебе будет нужно крайне редко. Поэтому такое неявное копирование(и срезы) запрещают.

              Цитата
              как вообще использовать те же списки подписки при передаче по значению? =)

              А зачем их использовать при передачи по значению?

              Добавлено
              Цитата korvin @
              Цитата D_KEY @
              А в С++ это не так. Дело в том, korvin, что такой язык, как С++, где все находится под контролем и ответственностью программиста, но при этом содержит минимальные средства для абстрагирования, должен был появится, появился, и все еще нужен.

              нет, не должен был, и единственная причина такого развития С++ -- возможность легко использовать кучу накопленного к тому времени С-кода (на тот момент, с С99 уже вроде не так все просто)

              Бла-бла-бла. Чего же не objective-C?
                Цитата korvin @
                я тебе уже ответил -- у переменных нет поведения, они только служат для именования значений в исходном коде

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

                  а ваш & -- и есть параметризованный тип, равно как и *
                  вот тебе без переменных (связанных с исследуемыми значениями):
                  ExpandedWrap disabled
                    (define t (make-hash))
                     
                    (hash-set! t 'x 0)       ; обычный
                    (hash-set! t 'a (box 0)) ; ссылочный
                     
                    (hash-set! t 'y (hash-ref t 'x))
                    (hash-set! t 'b (hash-ref t 'a))
                     
                    (hash-set! t 'x 1)
                    (set-box! (hash-ref t 'a) 1)
                     
                    (print (hash-ref t 'y))         ; => 0
                    (print (unbox (hash-ref t 'b))) ; => 1

                  и никаких переменных для x, y, a, b
                    Цитата korvin @
                    кстати я страницу-две назад давал пример кода на языке (хотя он похоже чисто "для проектирования"), там есть возможность описать аксиоматику поведения объектов класса, думаю это уже неплохой шаг.
                    мне понравилось =)

                    Ну, есть и контрактное программирование. Его реализация в D мне тоже понравилось. Контракты способны многое решить, но не всё. Жизнь банально богаче. И чем изощрённее будут наши инструменты разработки, тем сложнее будут наши задачи. Для того разработчики и нужны - чтобы принимать решения в нестандартных, нетеоретических ситуациях. Тогда, когда всё станет возможно описать формально, разработчики отомрут за ненадобностью - нужен будет только постановщик, который лишь формально опишет задачу, а машина создаст систему автоматизации. Т.е. труд разработчика ПО будет полностью автоматизирован.
                      Цитата D_KEY @
                      Объекты при передачи по значению не идентичны(хотя могут быть равны). Ты создаешь копию.
                      Вообще, если речь об ООП, то передавать по значению тебе будет нужно крайне редко. Поэтому такое неявное копирование(и срезы) запрещают.

                      ну собственно ЧТД
                        Цитата korvin @
                        нет, не должен был, и единственная причина такого развития С++ -- возможность легко использовать кучу накопленного к тому времени С-кода (на тот момент, с С99 уже вроде не так все просто)

                        Ололо, C++ вообще родился из фреймворка многопоточности, написанного Страуструпом в Bell Labs для C. И объемы кода тут не причем, просто реализация получилась достаточно удачной, чтобы ее продолжили развивать
                          Цитата korvin @
                          нет, не должен был, и единственная причина такого развития С++ -- возможность легко использовать кучу накопленного к тому времени С-кода (на тот момент, с С99 уже вроде не так все просто)

                          Даже C99 далеко до плюсов по части построения абстракции. Лично меня убивает наповал даже такая банальщина, как отсутствие пространств имён - это же финиш полный!!!
                            Цитата D_KEY @
                            Бла-бла-бла. Чего же не objective-C?

                            он появился позже, и возможно был "закрыт" в Эппл.
                              Цитата korvin @
                              а ваш & -- и есть параметризованный тип, равно как и *

                              Это почему?
                              Цитата Wikipedia
                              Тип данных определяет множество значений, набор операций, которые можно применять к таким значениям и, возможно, способ реализации хранения значений и выполнения операций.

                              На множество значений, набор операций & и * влияния не оказывает, т.е. это модификатор типа
                                Цитата Мяут-Настоящий @
                                Ололо, C++ вообще родился из фреймворка многопоточности, написанного Страуструпом в Bell Labs для C. И объемы кода тут не причем, просто реализация получилась достаточно удачной, чтобы ее продолжили развивать

                                при отсутствии необходимости юзать С код С++ никогда не стал бы так популярен, особенно в его теперешней монструозной форме, правда теперь и легаси кода на плюсах довольно много
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (495) « Первая ... 187 188 [189] 190 191 ...  494 495


                                Рейтинг@Mail.ru
                                [ Script execution time: 0.2876 ]   [ 14 queries used ]   [ Generated: 1.08.26, 01:14 GMT ]