На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (66) « Первая ... 27 28 [29] 30 31 ...  65 66  ( Перейти к последнему сообщению )  
> JS и его "недостатки"
    Цитата fatalist @
    Не встречал :-?

    Да это общая беда эксепшенов где бы они ни были. В pl/sql зачастую можно увидеть что-то типа
    ExpandedWrap disabled
      when OTHERS then
        null;

    :) То есть при всех остальных эксепшенах делать null, т.е. ничего :) Заглушили и фиг с ней :D
      Цитата Астарот @
      Хрен бы с этим - плохо то, что раздаются вопли о том, что "иначе не каноничЪно и богомерзЪко", при этом в адрес реально удобных фишек.
      Ну людям в принципе свойственно отрицать то, чего они не понимают :lol:
        Мявут, а мявут, ты уже скажи чем на практике плохо отбрасывание лишних аргументов, и как боротся за обратную совместимость? :rolleyes: Только ты по делу говори, а не общими словами :D Сможешь?
          Цитата fatalist @
          Ну людям в принципе свойственно отрицать то, чего они не понимают

          Ну, вот я и вижу, что сриптеры отрицают всё, кроме мерзости...
            Цитата Астарот @
            То есть при всех остальных эксепшенах делать null, т.е. ничего :) Заглушили и фиг с ней :D
            ну примерно понял :)
              Цитата fatalist @
              Ты тоже из тех, кто не считает Java и JS абсолютно разными языками?

              Я из тех, кто считает Java нормальным языком. А JS... ну ты понял :D
                Цитата Мяут-Настоящий @
                Я из тех, кто считает Java нормальным языком. А JS... ну ты понял :D

                Мне, мне ответишь?
                Цитата Астарот @
                Мявут, а мявут, ты уже скажи чем на практике плохо отбрасывание лишних аргументов, и как боротся за обратную совместимость? :rolleyes: Только ты по делу говори, а не общими словами :D Сможешь?
                  Цитата Астарот @
                  ВНЕЗАПНО ты опять не осилил возможность сделать в js так же без всяких проблем и в том виде в котором тебе удобно.

                  А зачем делать подобные рутинные и тривиальные вещи руками?

                  Добавлено
                  Цитата fatalist @
                  Суть примера в том, чтобы устраивать танцы с arguments

                  Разница лишь в том, что я явно укажу, что принимаю любое количество аргументов в контейнер с именем arguments.
                    Цитата D_KEY @
                    А зачем делать подобные рутинные и тривиальные вещи руками?

                    Кто тебя заставляет их делать? У тебя есть такая возможность, нужно - делай, не нужно - не делай. Это называется гибкость, если что. Повторю вопрос - как мне при колотом на части функционале сделать функцию срабатывающую и с параметрами и без?

                    Добавлено
                    Цитата D_KEY @
                    Разница лишь в том, что я явно укажу, что принимаю любое количество аргументов в контейнер с именем arguments.

                    Ты все еще не объяснил основного - чем тебе мешает не явное принимание любого количества параметров в специальное хранилище "до востребования"?
                      Цитата Астарот @
                      Цитата D_KEY @
                      Цитата Астарот @
                      Датычо! Хочешь сказать, что если объявил
                      function f(a, b)
                      то это как-то гарантирует тебе вызов f как f(1,2), а не f(1,2,3) или f(1) или вообще f()? :)

                      Именно.

                      Сказал - как отрезал! А главное аргументированно так.

                      Это же факт. Могу продемонстрировать на многих языках, но ты ведь не хочешь...
                      Вот псевдокод:
                      ExpandedWrap disabled
                        function f(a, b):
                            return a + b
                         
                        f(1, 2) # ok -> 3
                        f("aaa", "bbb") # ok -> "aaabbb"
                        f(1) # error
                        f() # error
                        f(1,2,3) # error


                      Добавлено
                      Цитата Астарот @
                      Повторю вопрос - как мне при колотом на части функционале сделать функцию срабатывающую и с параметрами и без?

                      Функция с переменным числом аргументов сработает и с параметрами и без.

                      Цитата
                      чем тебе мешает не явное принимание любого количества параметров в специальное хранилище "до востребования"?

                      Тем, что я не просил этого. Тем, что я не вижу этого и оно при этом не очевидно. Тем, что я не могу декларативно указать, что хочу именно такие-то параметры.
                        Цитата D_KEY @
                        Это же факт. Могу продемонстрировать на многих языках, но ты ведь не хочешь...

                        Ты не внимателен. Я писал:
                        Цитата
                        это как-то гарантирует тебе вызов f как f(1,2), а не f(1,2,3) или f(1) или вообще f()?

                        Ты мне показываешь, что в неправильных случаях тебе гарантированна ошибка, а вовсе не корректный вызов - магии-то не бывает :) Так что разница исключительно в том, что у тебя такое поведение расценивается как ошибка, а у меня нет. И ты почему-то считаешь, что мой вариант не верен, хотя пока не показал мне в каких случаях меня это должно теребить.
                          Цитата fatalist @
                          В C++ на каждый чих выскакивают...

                          Не угодал :D И забудьте С++, он тут вообще ни при чем.

                          Добавлено
                          Цитата Астарот @
                          Ты мне показываешь, что в неправильных случаях тебе гарантированна ошибка, а вовсе не корректный вызов - магии-то не бывает :)

                          Да, как ни странно, ошибочный код в моем случае будет означать ошибку.

                          Цитата
                          Так что разница исключительно в том, что у тебя такое поведение расценивается как ошибка, а у меня нет. И ты почему-то считаешь, что мой вариант не верен, хотя пока не показал мне в каких случаях меня это должно теребить.

                          Зачем ошибочному коду какое-то поведение?
                          Покажи, пожалуйста, полезную функцию, которая бы декларировала, что принимает сколько-то аргументов(например function(a,b)), но при этом работала бы еще с несколькими.
                            Цитата D_KEY @
                            Функция с переменным числом аргументов сработает и с параметрами и без.

                            Круть! То есть полный аналог того, что видим в js? :)

                            Цитата D_KEY @
                            Тем, что я не просил этого

                            При программировании ты вообще много чего не просишь, а оно делается :-? Мешает чем? Фактом наличия?

                            Цитата D_KEY @
                            Тем, что я не вижу этого и оно при этом не очевидно.

                            Что значит "не видишь"? Бери arguments и смотри - это часть языка.

                            Цитата D_KEY @
                            Тем, что я не могу декларативно указать, что хочу именно такие-то параметры.

                            Что значит не можешь?
                            ExpandedWrap disabled
                              function(a, b)
                              {
                              if(!a || !b)
                                {
                                  ...ашыпка
                                }
                                else
                                {
                                ...все что душе угодно
                                }
                              }

                            Что, теперь if будет костью в горле? :)

                            Добавлено
                            Цитата D_KEY @
                            Да, как ни странно, ошибочный код в моем случае будет означать ошибку.

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

                            Цитата D_KEY @
                            Зачем ошибочному коду какое-то поведение?

                            Кто сказал что он ошибочен? На основании чего ты сделал такой вывод? :facepalm: Ну, что ошибочного в коде, если вызывается a(1) вместо a() и при этом ненужный параметр отбрасывается и ни на что больше не влияет? Сам факт?

                            Цитата D_KEY @
                            Покажи, пожалуйста, полезную функцию, которая бы декларировала, что принимает сколько-то аргументов(например function(a,b)), но при этом работала бы еще с несколькими.

                            Чиф-чиво? :blink: Ты опять хочешь чего-то странного - уж не запутался ли ты как в прошлый раз, а?
                            Сообщение отредактировано: Астарот -
                              Цитата Астарот @
                              Цитата D_KEY @
                              Функция с переменным числом аргументов сработает и с параметрами и без.

                              Круть! То есть полный аналог того, что видим в js? :)

                              Ты только сейчас понял?

                              Цитата
                              Цитата D_KEY @
                              Тем, что я не просил этого

                              При программировании ты вообще много чего не просишь, а оно делается :-?

                              А подробнее?

                              Цитата
                              Что значит "не видишь"? Бери arguments и смотри - это часть языка.

                              Я не вижу никакой arguments :)

                              Цитата
                              Цитата D_KEY @
                              Тем, что я не могу декларативно указать, что хочу именно такие-то параметры.

                              Что значит не можешь?
                              ExpandedWrap disabled
                                function(a, b)
                                {
                                if(!a || !b)
                                  {
                                    ...ашыпка
                                  }
                                  else
                                  {
                                  ...все что душе угодно
                                  }
                                }

                              Что, теперь if будет костью в горле? :)

                              Это не декларативно. И зачем мне это писать, если я итак указал, что хочу принять два аргумента?

                              Добавлено
                              Цитата Астарот @
                              ошибка, если код ошибочен.

                              Совершенно верно. Вызов функции с аргументами, которые она не просила - ошибка.

                              Цитата
                              Ну, что ошибочного в коде, если вызывается a(1) вместо a()? Сам факт?

                              Если a хочет, чтобы ее так вызывали, то ничего ошибочного. Если не хочет, то ошибка.

                              Цитата
                              Ты опять хочешь чего-то странного - уж не запутался ли ты как в прошлый раз, а?

                              Может быть. Я хочу увидеть пользу от такого подхода к вызову функций.
                                Цитата D_KEY @
                                Ты только сейчас понял?

                                Ага, только сейчас я понял что ты говоришь фактически "у нас есть ОГО-ГО какая удобная штука, а у вас она точно такая же, но уже плохая" :D

                                Цитата D_KEY @
                                А подробнее?

                                Что подробнее? Ты объявил переменную - тебе, к примеру, выделили память. Ты просил выделять память? Или ты вызвал функцию - тебе запомнили адрес возврата. А ты не просил. Или ты вызвал функцию, а тебе дали возможность перебирать ее параметры даже если ты их не разложил по переменным. Предлагаю за все три случая жечь на костре, ага :)

                                Цитата D_KEY @
                                Я не вижу никакой arguments :)

                                Да? А что ты видишь? if видишь? Тоже часть языка, аднака, по идее либо и то и другое должен "видеть", либо ни то ни другое.

                                Цитата D_KEY @
                                Это не декларативно.

                                А. Вон оно что. Осталось выяснить как же "декларативно", и тут же все станет ясно :D

                                Цитата D_KEY @
                                И зачем мне это писать, если я итак указал, что хочу принять два аргумента?

                                Указал два аргумента - принял два. А в if'е ты проверяешь их на существование/тип/значение/что угодно. Любая логика на твой вкус.

                                Добавлено
                                Цитата D_KEY @
                                Совершенно верно. Вызов функции с аргументами, которые она не просила - ошибка.

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

                                Цитата D_KEY @
                                Если a хочет, чтобы ее так вызывали, то ничего ошибочного. Если не хочет, то ошибка.

                                А что делать если ей ПОФИГ как ее вызывают? :whistle:

                                Цитата D_KEY @
                                Может быть. Я хочу увидеть пользу от такого подхода к вызову функций.

                                Я уже устал одно и тоже показывать. Давай уже ты покажешь вред от такого подхода, наконец?
                                Сообщение отредактировано: Астарот -
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (66) « Первая ... 27 28 [29] 30 31 ...  65 66


                                Рейтинг@Mail.ru
                                [ Script execution time: 0.1258 ]   [ 14 queries used ]   [ Generated: 25.08.26, 14:43 GMT ]