На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (5) « Первая ... 2 3 [4] 5  все  ( Перейти к последнему сообщению )  
> undefined/unspecified, точки следования, короче

    Было в переводе :)

    Добавлено
    Цитата applegame @
    Я бы и в C++ их использовал как можно реже. Стремные операторы. Профита от них в наше время никакого.

    Запись короче :)

    Цитата applegame @
    В Rust его выпилили и правильно сделали.

    В расте никто не запрещает писать так :D
    ExpandedWrap disabled
      fn foo(a: i32, b: i32)
      {
          println!("{} {}", a, b);
      }
       
      fn main()
      {
          let mut a = 0;
          foo({a += 1; a}, {a += 1; a});    
      }
    Подпись была включена в связи с окончанием срока наказания
      Ну хотя бы нет путаницы с префиксным и постфиксным инкрементом/декрементом.
      Цитата OpenGL @
      Запись короче
      Сомнительный профит в данном случае.
      Сообщение отредактировано: applegame -
      error: 'long long long' is too long for GCC
        Цитата Славян @
        А именно: уравнение не вычисляется, а решается. И решение - суть алгоритм, дающий что-то. Так что тут (в каком-то смысле) вообще иное, нежели вычислить "i=2, f(++i,++i)".

        Так вот есть решения долгие, а есть решения быстрые. И в процессе каждого из этих решений - вычисляется результат, совпадающий с другими решениями.
        Например, тебе дали ряд чисел:
        1 + 2 + 3 + 4 + 5 +...N
        И сказали - а напиши ка нам программу считающую сумму этого ряда.
        ты можешь это написать по "феншую", как ты тут вещаешь:
        ExpandedWrap disabled
          int sum = 0;
          for(int i = 0; i <= N; ++i)
          {
             sum += i;
          }

        А можешь записать по тупому, как ты тут вещаешь что типа не правильно:
        ExpandedWrap disabled
          int sum = N*(N-1) / 2;

        А можешь вообще распаралеллить первый цикл, и считать в несколько потоков.
        И результат у тебя будет идентичный.

        И тут нет никаких намеков на то, что я могу сделать так или эдак. Это факт вытекающий из самой теории чисел. На этом основана по сути вся математика. А ты тут глаголишь - что вычислять нужно именно вот так и никак иначе. Где ты такое вычитал, ума не приложу. Математике вообще плевать как ты будешь считать, главное чтоб результат совпал и доказательство было.
          Цитата applegame @
          В Rust его выпилили и правильно сделали.

          В Rust можно добиться примерно того же. Регламентируется ли там порядок вычисления аргументов - хз.
          Эх, продолжаю с ним эксперементировать, но никак не могу привыкнуть к синтаксическим и стилистическим особенностями. Вкусовщина, но, блин, таки важно, если писать на языке постоянно.

          Добавлено
          Цитата Славян @
          Это не моя точка зрения, а точка зрения науки, формальной науки.

          А можно немного ссылок привести?

          Цитата
          когда задание дано "вычислить", то изначально подразумевалось, что нужно просто записать понимание выражения, т.е. уйти от общепринятой записи к сугубо формальной.

          Пруф?

          Цитата
          И вот в этом виде и получается "3+4+5+6" надо понимать как "(((3+4)+5)+6)".

          Пруф?

          Цитата
          Именно!!! Предпочитает другой, а не тот прямой, равный определению! Потому и закрываем глазки и разрешаем. Но вычисляем всё равно не то, что дано. :jokingly:

          :crazy:
          Сообщение отредактировано: D_KEY -
          "If someone claims to have the perfect programming language, he is either a fool or a salesman or both"(c) Bjarne Stroustrup
            Лично я каких-то явных недостатков у операторов инкремента и декремента не вижу. Есть - ну и фиг с ними, не мешают. Сыр-бор то не из-за них сейчас. С тем же успехом вместо них мог бы быть вызов неких функций с сайд-эффектами - точно такое же неопределёное поведение было бы.
            Подпись была включена в связи с окончанием срока наказания
              Цитата Wound @
              И тут нет никаких намеков на то, что я могу сделать так или эдак. Это факт вытекающий из самой теории чисел. На этом основана по сути вся математика.
              На чём это "на этом" основана "по сути вся математика"??? :blink: :blink: :blink: :blink: :blink: :blink:

              Цитата Wound @
              А ты тут глаголишь - что вычислять нужно именно вот так и никак иначе.
              Я не говорю, что "никак иначе". Просто вычисления, проходящие "иначе", вычисляют другое выражение, формулу, вот и всё. А то, что результат совпадёт с первоначальной - ну так это, конечно, фишка выводов в математике! Просто люди частенько забивают на эту мелочь ("вычисляют другое выражение"), но всё же неплохо было бы сие видеть. ;)

              Цитата Wound @
              Где ты такое вычитал, ума не приложу.
              Это следствие определений! Когда вы видите выражение "3+4+5", то можете, конечно, по-бабски эмоционально навычислять оное аки "(3+5)+4", но наука так не работает. :no: Она сначала даёт железобетонное определение адекватным записям, определение того, что они означают (порядок и алгоритм расчёта), доказательства эквивалентности других способов подсчёта, и только потом уже люди решают как они поступят при подсчёте. Но правило одно! По́мните это, и будет немножко понятнее/очевиднее как быть в таком-то необычном случае (аки f(++i,++i)). :yes:

              Цитата D_KEY @
              А можно немного ссылок привести?
              Не, я ж пишу по памяти/наученому, а не глядя куда-то на страничку в сети, так что ссылками не владею, увы и ах. :'( :'( :'(
                Цитата Славян @
                Это следствие определений! Когда вы видите выражение "3+4+5", то можете, конечно, по-бабски эмоционально навычислять оное аки "(3+5)+4", но наука так не работает. Она сначала даёт железобетонное определение адекватным записям, определение того, что они означают (порядок и алгоритм расчёта), доказательства эквивалентности других способов подсчёта, и только потом уже люди решают как они поступят при подсчёте.

                Так вот, эвивалентность записей «3+4+5» и «(3+5)+4» доказана наукой, и все, кому оно надо, этим пользуются. Видимо, кроме тебя.
                “Object-oriented design is the roman numerals of computing.” — Rob Pike
                All software sucks
                  Эх, korvin, korvin... Услышали звон, да не знаете... Суть же разговора не про эту запись (сложение чисел), а про запись f(++i,++i). :whistle:

                  Добавлено
                  Цитата korvin @
                  Так вот, эквивалентность записей «3+4+5» и «(3+5)+4» доказана наукой
                  :facepalm: Ну, кстати говоря, сказанное вами - ложь, ибо в науке такое не утверждается. :jokingly:
                  А утверждается, что запись «3+4+5» будет означать запись «(3+5)+4», кою уже́ можно посчитать введёнными ранее определениями! :yes:

                  Впрочем, вы (с высокой долей вероятности) хотели сказать, что "эквивалентность записей «3+(4+5)» и «(3+5)+4» доказана наукой". Так вот, даже это - тоже ложно. Ибо наукой утверждается, что "вычисления обеих записей дадут равный результат". И этим действительно многие пользуются. Ну и далее мы возвращаемся к разговору о записи f(++i,++i). ;) ;) ;)

                  Добавлено
                  Цитата Славян @
                  «3+4+5» будет означать запись «(3+5)+4»
                  Пардон, не уследил. Правильно так: "запись «3+4+5» будет означать запись «(3+4)+5», ...".
                    Хуже тролля может быть только тролль-зануда :D
                    Подпись была включена в связи с окончанием срока наказания
                      Цитата Славян @
                      На чём это "на этом" основана "по сути вся математика"??? :blink: :blink: :blink: :blink: :blink: :blink:

                      Я же тебе ссылку кидал. Ты че вообще не читатель?
                      На держи еще раз: Основные законы арифметики
                      Цитата

                      Про свойства этих операций сформулированы пять законов, которые считаются основными законами арифметики[17]:
                      ...


                      Цитата Славян @
                      Я не говорю, что "никак иначе". Просто вычисления, проходящие "иначе", вычисляют другое выражение, формулу, вот и всё.

                      Какую другую?
                      Расскажи пожалуйста в каком порядке нужно вычислять выражение:
                      3 + 2
                      ?
                      С учетом того, что выше ты написал что в математике эта запись представляется как +(3, 2)
                      Если я ее представлю как +(2 3) - это будет другое выражение? Или все тоже?
                      То есть с твоей точки зрения есть разница между 3+2 и 2+3 ?

                      Цитата Славян @
                      Просто люди частенько забивают на эту мелочь ("вычисляют другое выражение"), но всё же неплохо было бы сие видеть. ;)

                      Какое другое выражение? Любой ребенок знает что 3+2 это равносильно 2 + 3, ну кроме тебя естественно.

                      Цитата Славян @
                      Это следствие определений! Когда вы видите выражение "3+4+5", то можете, конечно, по-бабски эмоционально навычислять оное аки "(3+5)+4", но наука так не работает.

                      Пруф приведи как работает наука. А то ты тут озвучиваешь какую то ересь ничем не подкрепленную, просто свою отсебятину выдаешь за науку. Я вот допустим тебе не верю, хочу убедиться что твои слова правдивые, ты можешь это доказать ссылкой на научную литературу? Или это всего лишь твои личные фантазии?

                      Цитата Славян @
                      Она сначала даёт железобетонное определение адекватным записям, определение того, что они означают (порядок и алгоритм расчёта), доказательства эквивалентности других способов подсчёта

                      Кто она?

                      Цитата Славян @
                      Но правило одно! По́мните это, и будет немножко понятнее/очевиднее как быть в таком-то необычном случае (аки f(++i,++i)). :yes:

                      Где про это правило можно почитать? Ниразу не встречал такого бреда. Наоборот на математике рассказывали что разные задачи можно и нужно решать разными способами, и по всюду приведенные тобою правила нарушаются, сокращаются целые выражения, перестанавливаются местами переменные и т.д. и т.п. Ты чушь какую то несешь ИМХО.
                        Можно не спорить, ибо пруфов нет, какая-то отсебятина. Не понятно на чем основана. Конечно, неприятно, что такой по сути антинаучный подход выдаётся за науку. Но да фиг с ним :)
                        "If someone claims to have the perfect programming language, he is either a fool or a salesman or both"(c) Bjarne Stroustrup
                          Цитата Wound @
                          С учетом того, что выше ты написал что в математике эта запись представляется как +(3, 2)
                          Если я ее представлю как +(2 3) - это будет другое выражение? Или все тоже?
                          Конечно другое! Просто свойства кольца целых чисел таковы, что значения выражений совпадут!

                          Цитата Wound @
                          То есть с твоей точки зрения есть разница между 3+2 и 2+3 ?
                          Меж выражениями разница огромна, меж значениями оных разница нулевая. Ваш кэп. ;)

                          Цитата Wound @
                          Какое другое выражение? Любой ребенок знает что 3+2 это равносильно 2 + 3, ну кроме тебя естественно.
                          Значения равносильны, но не сами выражения. Сколько ж повторять то!!? :facepalm:

                          Цитата Wound @
                          Я вот допустим тебе не верю, хочу убедиться что твои слова правдивые, ты можешь это доказать ссылкой на научную литературу? Или это всего лишь твои личные фантазии?
                          Ну откройте определение плюсика, увидите, что это бинарное отношение, с определёнными свойствами, а потому запись 3+4+5 лишена смысла в своём начальном определении плюсика. Однако далее, раскрывается коммутативность, ассоциативность и прочие детали, кои показывают=доказывают одинаковость выражений (3+4)+5 и 3+(4+5), что указывает на то, что запись "3+4+5" будем читать любым способом, коли дают одинаковый результат оба варианта.

                          Цитата Wound @
                          Кто она?
                          Наука.

                          Цитата Wound @
                          Где про это правило можно почитать?
                          Там, где с азов, с определений натуральных чисел в теории множеств, дают определение бинарного отношения 'сложение', очевидно. ;)

                          Цитата Wound @
                          Ты чушь какую то несешь ИМХО.
                          Эмоции... Печально, но для прогеров, коим вы, возможно, являетесь, допустимо. 8-)
                            Славян, в математике запись 3+4+5 означает то же самое, что и 5+4+3, или 5+3+4, или 3+2+4-2+5.
                            С твоими ограничениями математика никому была бы не нужна. Кроме продавцов и покупателей в магазине.
                            Возьми любую книгу с математическими выкладками и обнаружь, как её автор вовсю переставляет слагаемые в выражениях, приводит однородные члены, разбивает слагаемые на части, прибавляет/отнимает слагаемое (как 2 в последнем варианте), чтобы получить нужную ему формулу, часть которой можно как-нибудь преобразовать, чтобы получить совсем другую формулу.

                            Вообще, в математике запись 3+4+5 означает сумму трёх указанных чисел без какого-либо ограничения порядка суммирования. Единственный случай, когда на порядок накладывают ограничение - это суммирование бесконечных рядов, не являющихся абсолютно сходящимися. Поскольку в этом случае изменение порядка суммирования меняет предел, к которому сходится его сумма. Ну и в какой-то мере это же ограничение присутствует в определении не сходящихся абсолютно несобственных интегралов (с бесконечными пределами).
                            Всё написанное выше это всего лишь моё мнение, возможно ошибочное.
                              Цитата Славян @
                              Эх, korvin, korvin... Услышали звон, да не знаете... Суть же разговора не про эту запись (сложение чисел), а про запись f(++i,++i).

                              Я-то тему с начала прочитал, и просто фейспалмил с каждого твоего поста.

                              Цитата Славян @
                              Ну, кстати говоря, сказанное вами - ложь, ибо в науке такое не утверждается.
                              А утверждается, что запись «3+4+5» будет означать запись «(3+5)+4», кою уже́ можно посчитать введёнными ранее определениями!

                              Расскажи-ка, мистер словоблуд, в чём же разница между эквивалентностью и «будет означать». Приведи-ка научное определение термина «будет означать». Желательно со ссылкой на соответствующий научный труд.

                              Цитата Славян @
                              Ну откройте определение плюсика, увидите, что это бинарное отношение, с определёнными свойствами

                              А может ты просто процитируешь это «определение плюсика», с его определёнными свойствами?

                              Добавлено
                              Вопрос по теме: в чём разница между UB и unspecified?
                              “Object-oriented design is the roman numerals of computing.” — Rob Pike
                              All software sucks
                                Цитата korvin @
                                Вопрос по теме: в чём разница между UB и unspecified?
                                Насколько я понимаю. UB - вообще неопределенный результат, например одно и тоже выражение может давать различный результат в зависимости от опций компилятора. Unspecified - стандарт не описывает как именно оно должно выполняться, но компилятор должен всегда выполнять код определенным образом, каким именно образом решают создатели компилятора.
                                error: 'long long long' is too long for GCC
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script Execution time: 0,1728 ]   [ 17 queries used ]   [ Generated: 27.06.19, 06:48 GMT ]