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

    Я вообще за специальный тип optional<T>/nullable<T> и чтоб никаких "самостоятельных" null'ов :)
    Естественно, если речь о "высоком". Для магии указателей NULL нужен.
      Вообще исключения в таких случаях - зло, которое только усложняет жизнь.

      Добавлено
      Имхо, ессно.

      Добавлено
      D_KEY, так как, с поднятием переменных в начало области видимости убедил?
        Цитата Астарот @
        Нужно... Не нужно...

        Но речь именно об этом :) Зачем ты участвуешь в дискуссии, если тебе она не интересна?

        Цитата
        Таки тебе никто и в сях не мешает сделать что-то типа:
        Цитата
        #define 1 0

        или как оно там? В общем ты понял о чем я. И ведь никакой фрустрации по этому поводу никто не испытывает, что сильно характерно :)

        Потому, что define'ы это очень специфичная штука. Его "случайно" не напишешь.

        Добавлено
        Цитата Астарот @
        D_KEY, так как, с поднятием переменных в начало области видимости убедил?

        Я так и не понял, почему тогда язык допускает объявление в середине, если все-равно по факту переменные считаются объявленными в начале блока?
          Цитата Астарот @
          А то, что тебе что-то нужно вставить в исключение не беспокоит? :)

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

          Ну также как я осознанно не буду делать так в сях, я также осозанно не буду использовать JavaScript, в котором даже оператор + ошибкам подвержен :D
            Цитата D_KEY @
            Потому, что define'ы это очень специфичная штука. Его "случайно" не напишешь.

            Ага, то ли дело NaN - его "случайно" переопределить легче легкого :D

            Цитата D_KEY @
            Я так и не понял, почему тогда язык допускает объявление в середине, если все-равно по факту переменные считаются объявленными в начале блока?

            Например, что бы ты мог писать в своем привычном стиле, как многие, кстати, и делают :-? Объявляй себе переменные где угодно, просто имей ввиду, что изначально они заполнены хорошо известным значением 'undefined', а не чем-то еще. Это что, порождает какие-то проблемы или рвет шаблон?

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

            Ага, а исключение не может никуда проследовать, например в родительский объект, если в текущем обработки исключения нет :D И уж чего не делает обработка исключений, так это не провоцирует на пустой catch :D Ни-ни, ни в коем случае! :D

            Ну, и как я уже говорил, имхо, не для того исключения придуманы.

            Цитата Мяут-Настоящий @
            Ну также как я осознанно не буду делать так в сях

            Ну, значит и в js проблем не будет :) Действуя осознанно вообще можно избежать многих проблем.

            Добавлено
            Кстати, D_KEY, вот если честно я бы ожидал от тебя возмущений по поводу области видимости, а не по поводу всплытия переменных :)
              Цитата Мяут-Настоящий @
              К тому же оно возникает именно в месте возникновения ошибки, в отличие от NaN, который может проследовать по ходу выполнения программы и привести к непредсказуемым последствиям.

              А ты случайно не позабыл, где используется JavaScript? :lool:

              Браузер кидает исключения в консоль и пытается продолжить выполнение кода.
              try-catch в JS тоже есть, так что можешь ловить это исключение при выполнении.

              Ошибки в скриптах JS - это нормальное явление, потому что браузеры разные.
              Ничего страшного, если функция выполнится не правильно - на сервере все равно проверка данных.

              Можно писать скрипты с строгой типоризацией... но похоже вы все дружно проигнорили мой предыдущий пост...

              http://jibbering.com/faq/notes/type-conversion/

              Да даже в C++ приведение типов можно в скобках указывать (int)x
                Цитата Keepun @

                Ошибки в скриптах JS - это нормальное явление

                Так и запишем.

                Я сегодня накодил 150 строк ошибок. :lol:

                Добавлено
                А кто-нибудь кстати Dart смотрел?
                  Цитата Keepun @
                  Цитата Мяут-Настоящий @
                  К тому же оно возникает именно в месте возникновения ошибки, в отличие от NaN, который может проследовать по ходу выполнения программы и привести к непредсказуемым последствиям.

                  А ты случайно не позабыл, где используется JavaScript? :lool:

                  node.js, например :)

                  Цитата
                  Да даже в C++ приведение типов можно в скобках указывать (int)x

                  Это наследие С. В С++ есть другие средства приведения типов. static_cast, dynamic_cast, const_cast, reinterpret_cast. Ну и boost::lexical_cast :)

                  Добавлено
                  Цитата Астарот @
                  Объявляй себе переменные где угодно, просто имей ввиду, что изначально они заполнены хорошо известным значением 'undefined', а не чем-то еще. Это что, порождает какие-то проблемы или рвет шаблон?

                  Рвет шаблон тот факт, что они имеют значение undefined даже тогда, когда не существуют(до объявления)

                  Цитата
                  Кстати, D_KEY, вот если честно я бы ожидал от тебя возмущений по поводу области видимости, а не по поводу всплытия переменных :)

                  Так вроде обсуждали тогда еще.
                    Цитата MyNameIsIgor @
                    Очередная идиотская уверенность, что никто не знает про костыли в "три равно", которыми подпирается слабая типизация вкупе с динамической? Ну-ну...

                    Это не связано с динамичностью/нестрогостью типизации. В той же джава есть (==) и equalTo(), а, например, для persistent-объектов (например при использовании Hibernate) так же рекомендуется переопределять метод hashCode(). Т.е. дело в семантике самих операций, ведь.
                    ExpandedWrap disabled
                      class Some (int id -> this.id) {
                        int id;
                       
                        public boolean equalTo (Object other) {
                          return other instanceof Some && this.id == other.id;
                        }
                      }
                       
                      x = new Some (1);
                      y = new Some (1);
                      x == y; // => false
                      x.equalTo(y); // => true
                      Цитата negram @
                      Зря ты так... Пхп в этом случае варнинг генерит.
                      Варнинг, но не ошибку ;) Были бы в JS варнинги, он бы тоже выдавал наверное...
                        Цитата Астарот @
                        Цитата MyNameIsIgor @
                        rtfm на тему типизации

                        Цитата Повстанець @
                        Serafim, эт динамическая типизация. Слабая эт когда olololo + ololo выдают "sadasd20".

                        Цитата Serafim @
                        ок :)

                        Кстати, ничего так, короткий rtfm получился :)

                        вот вам более подробный RTFM
                          Цитата D_KEY @
                          Рвет шаблон тот факт, что они имеют значение undefined даже тогда, когда не существуют(до объявления)
                          ну вот какая разница 'undefined' или null?
                          (мы ведь уже разобрались, что в этом случае в вебе не должно быть ексепшенов?)
                          Сообщение отредактировано: fatalist -
                            Цитата Мяут-Настоящий @
                            А кто-нибудь кстати Dart смотрел?

                            Только бегло. Он уныл, JS не заменит.

                            Добавлено
                            Цитата D_KEY @
                            node.js, например :)

                            Это еще не делает серверное программирование -- нишей JS. И, думаю, не сделает никогда, т.к. тут уже "особенности" JS будут скорее мешать, чем помогать.
                              Цитата korvin @
                              Только бегло. Он уныл, JS не заменит.

                              Версия-то у него последняя 0.07
                              так что поживем увидим :D

                              Добавлено
                              Правда с другой стороны :D
                              Цитата
                              As of January 2012, Microsoft Internet Explorer, Mozilla Firefox, Opera Software Opera browser and Apple Safari do not have plans to implement support for Dart.
                                Цитата fatalist @
                                ну вот какая разница 'undefined' или null?
                                (мы ведь уже разобрались, что в этом случае в вебе не должно быть ексепшенов?)

                                Нет, не разобрались. Использование несуществующей переменной может не быть ошибкой?
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (66) « Первая ... 12 13 [14] 15 16 ...  65 66


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