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

              Теперь уже удивлён я. Неявные касты теперь стали ожидаемыми? Хммм, надо будет сказать тем, кто ругает C :D
              Сообщение отредактировано: MyNameIsIgor -
                Цитата Radagast @
                --Ins--
                любой мало-мальски сведущий в С++/C# программист знает, что при делении 2 целых чисел происходит целочисленное деление -.-


                Да я знаю почему такой результат получается. Я говорю только о том, что он не соответствует ожидаемому. Абстракции текут - мама не горюй ;) Программист должен быть инженером, а не хакером, поведение абстракций должно основываться на здравом смысле, а не том, что как говорится "нужно запомнить потому что понять это нельзя"

                Цитата Повстанець @
                Эт шо за фича такая? В делфи нет целочисленного деления?


                Есть.
                  Цитата --Ins-- @
                  Есть.
                  Другим оператором, чтоли?
                    Цитата Мяут-Настоящий @
                    В калькуляторе везде используется float


                    А что, результат должен зависеть от типов переменных? Ну было у тебя сначала int, а потом ты заменил на float. Будешь везде код менять чтобы считало правильно? Или забудешь (разумеется), а потом день проведешь в отладке?

                    Добавлено
                    Цитата Повстанець @
                    Другим оператором, чтоли?


                    Естественно
                      Цитата --Ins-- @
                      Кстати, о принципе наименьшего удивления...
                      в Delphi
                      ...
                      в c#
                      ...
                      :wacko:

                      Racket/CL:
                      ExpandedWrap disabled
                        > (let ((a 20)
                                (b 10)
                                (c 50)
                                (d 10))
                            (+ a (* d (/ b c))))
                        22
                        > (let ((a 20.0)
                                (b 10)
                                (c 50)
                                (d 10.0))
                            (+ a (* d (/ b c))))
                        22.0

                      Python:
                      ExpandedWrap disabled
                        >>> a = 20.0
                        >>> b = 10
                        >>> c = 50
                        >>> d = 10.0
                        >>> a + (b / c) * d
                        20.0
                        >>> a = 20
                        >>> b = 10
                        >>> c = 50
                        >>> d = 10
                        >>> a + (b / c) * d
                        20
                        >>>

                      Haskell:
                      ExpandedWrap disabled
                        main = print e
                                where
                                        e = a + (b / c) * d
                                        a = 20
                                        b = 10
                                        c = 50
                                        d = 10
                        -- 22.0
                        Цитата --Ins-- @
                        Я говорю только о том, что он не соответствует ожидаемому.

                        Соответствует.
                        Цитата --Ins-- @
                        Абстракции текут - мама не горюй ;)

                        Целочисленная арифметика это даже не абстракции - это обертка над ассемблером.
                        А потом такие языки пойдут в критичные приложения, выставят температуру 22 вместо 20 и чего-нить да нарушат. Нет, спасибо!
                          Цитата Мяут-Настоящий @
                          python
                          ExpandedWrap disabled
                            >>> a = 20.; d = 10.
                            >>> b = 10; c = 50
                            >>> e = a + (b / c) * d
                            >>> print e
                            20.0


                          Выкидывай свое Delphi :D

                          выкидывай свой пейтон =)

                          Добавлено
                          Цитата Radagast @
                          --Ins--
                          любой мало-мальски сведущий в С++/C# программист знает, что при делении 2 целых чисел происходит целочисленное деление -.-

                          любой мало-мальски сведущий в математике программист знает, что при делении двух целых чисел получается натуральная дробь =)
                            Цитата --Ins-- @
                            А что, результат должен зависеть от типов переменных?

                            Зато если я на своем любимом 8051 напишу паскальное b / c, он преобразует это во float-вычисления, а т.к. 8051 не имеет FPU все это дело развернется в эмуляцию float-операций и получатся некрутые тормоза - мне тоже день в отладке сидеть?
                              Цитата Мяут-Настоящий @
                              Зато если я на своем любимом 8051 напишу паскальное b / c, он


                              не скомпилирует для целочисленного выражения ;)
                                Цитата Мяут-Настоящий @
                                python
                                ExpandedWrap disabled
                                  >>> a = 20.; d = 10.
                                  >>> b = 10; c = 50
                                  >>> e = a + (b / c) * d
                                  >>> print e
                                  20.0

                                :blink: Вообще-то / в питоне всегда возвращает float. Хотя... может быть я чего-то забыл...
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (495) « Первая ... 87 88 [89] 90 91 ...  494 495


                                Рейтинг@Mail.ru
                                [ Script execution time: 0.1858 ]   [ 14 queries used ]   [ Generated: 30.07.26, 03:23 GMT ]