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

    > null == undefined
    true


    чем больше я узнаю о семантике JS, тем чаще мне хочется послать Терминатора в прошлое...
      Цитата SPM @
      var x = new { m = (Action)delegate() { MessageBox.Show("12"); } };
      ну как-то читать сложновато... ИМХО конечно же...
        Цитата fatalist @
        ну как-то читать сложновато... ИМХО конечно же...
        а лисп вам читать не сложновато? а кто-то трудностей не испытывает...

        Эта, js мощная вещь спору нет, кто сомневается, с тем и спорить не о чем.
        Мы например в местах где надо было как-то кастомизировать алгоритмы расчета, именно его и взяли за основу. Сейчас пользователи с волдырями на коленках. :)
          Цитата SPM @
          Эта, js мощная вещь спору нет, кто сомневается, с тем и спорить не о чем.
          Мы например в местах где надо было как-то кастомизировать алгоритмы расчета, именно его и взяли за основу.

          А почему, например не Lua?
            Цитата Мяут-Настоящий @
            А почему, например не Lua?
            Вопрос конечно интересный. :)
            Да просто потому что js попроще, все-таки это обычные пользователи, и формулы там простые. Они какието макросы в ексели писали, правда на бейсике. но мы отстояли js.
            Ну и с системой он уже идет, а луа еще доставлять надо. Нам еще понадобилось эти скрипты выполнять вот так: Выполнить jscript из Сохраненной процедуры..
            Вощем, показалось, что так проще всем будет.
            Сообщение отредактировано: SPM -
              Цитата SPM @
              а лисп вам читать не сложновато? а кто-то трудностей не испытывает...
              Ну я к тому, что если там будет около 10 свойств и несколько методов уж очень много = и остального... ну если привыкнуть, то пофиг конечно...
              А ЛИСП не смотрел...
                Цитата Uncle_Bob @
                Цитата D_KEY @
                Может быть. Я хочу увидеть пользу от такого подхода к вызову функций.

                По-тебе гораздо прикольнее как в WinAPI, когда последним параметром передается DWORD dwReserved, куда уже 10 лет от версии к версии МСДН настоятельно рекомендует передавать 0? :D

                Нет. Поясни. Кстати, о WinAPI вообще крайне тяжело сказать что-то хорошее...

                Добавлено
                Цитата fatalist @
                Зато в других языках я не смогу написать
                ExpandedWrap disabled
                  var myobject = {
                     prop: {
                         prop1: 'property'
                     },
                     method : function(a) {
                        this.prop.prop1 = a;
                     }
                  }
                и это будет полноценным объектом...

                Можешь.

                Добавлено
                Цитата Uncle_Bob @
                У меня есть стойкое ощущение, что большая часть сторонников недостатков имеет смутное представление о том, для чего именно применяется js <_<

                Отсюда и стремление притянуть за уши фичи к недостаткам.

                Допустим. Значит тебе не составит труда продемонстрировать пользу от этих фич?
                  Цитата D_KEY @
                  Допустим. Значит тебе не составит труда продемонстрировать пользу от этих фич?

                  Шо, опять? :blink:
                    Цитата Астарот @
                    Цитата D_KEY @
                    Допустим. Значит тебе не составит труда продемонстрировать пользу от этих фич?

                    Шо, опять? :blink:

                    А разве не на все твои примеры было показано, как это сделать в рамках строгой типизации?
                      Цитата D_KEY @
                      А разве не на все твои примеры было показано, как это сделать в рамках строгой типизации?

                      И что? :blink: Можно, отлично - js только при чем? У тебя можно, у меня можно - либо и там и там это хорошо и востребованно, либо и там и там богомерзкая ересь. А у тебя почему-то в одном случае хорошо, а в другом - наоборот :D
                        Цитата Астарот @
                        И что? :blink: Можно, отлично - js только при чем? У тебя можно, у меня можно - либо и там и там это хорошо и востребованно, либо и там и там богомерзкая ересь. А у тебя почему-то в одном случае хорошо, а в другом - наоборот :D

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

                        Кстати, есть ли какая-нибудь литература о дизайне языка js, где было бы описано, что, зачем и почему?
                        Сообщение отредактировано: D_KEY -
                          Цитата D_KEY @
                          То есть тебе не ясны преимущества строгой типизации

                          Которая нахрен не нужна в области в которой применяют js.

                          Цитата D_KEY @
                          явного указания неочевидных вещей

                          Эти вещи почему-то неочевидны только для тебя. Мне все очевидно.

                          Цитата D_KEY @
                          самодокументируемости

                          ...которую ты не продемонстрировал.

                          Цитата D_KEY @
                          и дополнительного контроля ошибок

                          Которые ошибки только потому, что ты постановил "это ошибка", не постановил бы - не было бы ошибки :-?

                          Цитата D_KEY @
                          И при всем при этом, приводимые тобой задачи решаются столь же легко, как и в js...

                          Только почему-то используют js, а не что-то еще :D

                          Цитата D_KEY @
                          Кстати, есть ли какая-нибудь литература о дизайне языка js, где было бы описано, что, зачем и почему?

                          Ищи, найдешь - поделись.
                            Цитата Астарот @
                            Цитата D_KEY @
                            То есть тебе не ясны преимущества строгой типизации

                            Которая нахрен не нужна в области в которой применяют js.

                            Она нужна во всех областях, ибо не накладывает ограничений, а лишь предотвращает ряд ошибок.

                            Цитата
                            Эти вещи почему-то неочевидны только для тебя. Мне все очевидно.

                            То, что функция, примающая два аргумента, может/не может работать с другим их количеством никак не отражено в ее описании - нужно разбираться в ее коде.

                            Цитата
                            Цитата D_KEY @
                            самодокументируемости

                            ...которую ты не продемонстрировал.

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

                            Цитата
                            Которые ошибки только потому, что ты постановил "это ошибка", не постановил бы - не было бы ошибки :-?

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

                            Цитата
                            Только почему-то используют js, а не что-то еще :D

                            Исторически сложилось :)
                              Цитата D_KEY @
                              Она нужна во всех областях, ибо не накладывает ограничений, а лишь предотвращает ряд ошибок.

                              Ну, конечно не накладывает :lool: Ограничения в виде типа не накладывают ограничений :D

                              Цитата D_KEY @
                              То, что функция, примающая два аргумента, может/не может работать с другим их количеством никак не отражено в ее описании - нужно разбираться в ее коде.

                              Снова-здорова? :wall: Изначально тебе не нравилось, что функцию можно вызвать с любым количеством аргументов. На многочисленные просьбы показать где реально будет мешать отбрасывание лишнего ты так и не привел ни кусочка кода. А теперь, понимаешь ли, тебя не устраивает "ее описание" о котором речи вообще не шло :-?

                              Цитата D_KEY @
                              В функции всегда прописано, сколько аргументов она принимает, какие значения по умолчанию использует для аргументов, и может ли она обработать дополнительные аргументы в любом количестве.

                              Во-первых в js никто не мешает тебе точно так же описать сколько аргументов она принимает. Ну никто - пиши себе function (a,b) и не парься. Что, не описал? Значения по умолчанию - да, не прописываются прям тут же. Хочешь считать это недостатком - на здоровье, но я тебе привел и преимущество, которое из этого следует - значения по умолчанию могут быть сложнее чем элементарные значения, и если ты такое поведение реализуешь у себя у тебя точно так же не наглядно будут null'ы в определении функции. Хрен редьки не слаще.

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

                              Я тебе уже сказал - ты попросил странного. Хотя на крайняк представь функцию возвращающую сумму аргументов - любого количества. Объявлена может быть function f(), а вызвана f(1,2,3,4,5). Да, и мне класть кучу на твои рассуждения о том, что "это не наглядно" - твое f(*args), или как там, не наглядно в такой же степени.

                              Цитата D_KEY @
                              Исторически сложилось :)

                              Хороший отмаз.
                                Цитата Астарот @
                                Ну, конечно не накладывает :lool: Ограничения в виде типа не накладывают ограничений :D

                                Ограничений на разработку - не накладывает. Можешь привести пример, если не согласен.

                                Цитата
                                Во-первых в js никто не мешает тебе точно так же описать сколько аргументов она принимает. Ну никто - пиши себе function (a,b) и не парься. Что, не описал?

                                Нет, я описал функцию, которая принимает любое количество параметров.

                                Цитата
                                значения по умолчанию могут быть сложнее чем элементарные значения, и если ты такое поведение реализуешь у себя у тебя точно так же не наглядно будут null'ы в определении функции.

                                Нет, они у меня будут наглядными: f(a = null, b = null)

                                Цитата
                                Хотя на крайняк представь функцию возвращающую сумму аргументов - любого количества. Объявлена может быть function f(), а вызвана f(1,2,3,4,5). Да, и мне класть кучу на твои рассуждения о том, что "это не наглядно" - твое f(*args), или как там, не наглядно в такой же степени.

                                Такая функция обрабатывает все свои аргументы, сколько бы ты не передал. С этим юзкейсом я согласен. И он реализуем и через явное указание.
                                Так ты согласен, что передача в функцию большего/меньшего числа аргументов, чем она обрабатывает, является ошибкой?
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (66) « Первая ... 30 31 [32] 33 34 ...  65 66


                                Рейтинг@Mail.ru
                                [ Script execution time: 0.1275 ]   [ 15 queries used ]   [ Generated: 25.08.26, 16:49 GMT ]