Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #51 (permalink)  
Старый 30.05.2011, 14:28
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от Kolyaj
Это писали рубисты для рубистов. Ты, видимо, не рубист.
с выходом ES7 (Strawman) мы все станем рубистами (это не шутка).
Если честно не ожидал, что B. Eich когда-то скажет: "синтаксис JS устарел и ему нужен новый вид".
Ответить с цитированием
  #52 (permalink)  
Старый 30.05.2011, 20:06
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от [x-yuri
Вот вы как думаете, в чем причина такого "нетрезвого" взгляда и какой взгляд трезвый?
Сообщение от FINoM
Если вопрос ко мне, то я не говорил что являюсь специалистом мирового класса. Просто не понимаю некоторых вещей, которые надеюсь понять.
вопрос был ко всем

Сообщение от FINoM
Вот, например, в strict mode убрали arguments.callee. Спрашивается, почему? Это ведь так удобно при создании рекурсивных функций.
производительность. Что неудобного в отсутствии arguments.callee?
Ответить с цитированием
  #53 (permalink)  
Старый 30.05.2011, 20:57
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от x-yuri
Вот вы как думаете, в чем причина такого "нетрезвого" взгляда и какой взгляд трезвый?
дело в том, что Khronos залезли не в свой огород. И если так пойдет дело то JS будет похож на PHP.
new Int32Array(); на мой взгляд если мягко выражаться - некорректно, хотя все семантически верно.
int[] куда приятней или даже []:int
А насчет классов, то они должны появится в ES7 (Strawman) и еще много всяких плюшек.
Сообщение от x-yuri
производительность. Что неудобного в отсутствии arguments.callee?
мне кстати тоже не понятно, зачем убирать если можно подправить.

также как как в PHP куда логичней что конструктор имеет спецификатор __construct, а не как это было раньше.
Ответить с цитированием
  #54 (permalink)  
Старый 31.05.2011, 00:40
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Сообщение от x-yuri
Что неудобного в отсутствии arguments.callee?
Его отсутствие.
Ответить с цитированием
  #55 (permalink)  
Старый 31.05.2011, 00:43
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от monolithed
дело в том, что Khronos залезли не в свой огород.
да. Видно им очень нужны были эти типизированные массивы, а залезть в огород дальше они не могли (изменить синтаксис)

Сообщение от monolithed
И если так пойдет дело то JS будет похож на PHP.
В случае php, как говорит Лердорф
Цитата:
It is a thin glue layer between your Web server and all the various things you might want your web server to talk to.

In the old tradition of UNIX, we rely on small specialized add-on libraries to do all the heavy lifting with as little interference from PHP as possible.
(кстати, интересно, что он пишет про register globals и magic quotes) Т.е. целью были не красота и последовательность, а решение задач. Достойная цель, я считаю. В случае же с js, типизированные массивы понадобились раньше, чем их добавили в язык. А в дальнейшем типизированные массивы можно будет сделать частью синтаксиса. Причем php на фоне DOM кажется довольно красивым языком, или не? Просто js гибкий, и DOM можно "пропатчить"

Сообщение от monolithed
new Int32Array(); на мой взгляд если мягко выражаться - некорректно, хотя все семантически верно.
int[] куда приятней или даже []:int
я так понял, некорректно == неприятно

Сообщение от monolithed
мне кстати тоже не понятно, зачем убирать если можно подправить.
как подправить?

Сообщение от monolithed
также как как в PHP куда логичней что конструктор имеет спецификатор __construct, а не как это было раньше.
озвучь свою логику
Ответить с цитированием
  #56 (permalink)  
Старый 31.05.2011, 00:49
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

...
Сообщение от FINoM
Его отсутствие.
function f(n){
  return n ? f(n-1)*n : 1;
}

ну не воспользовался я arguments.callee, что страшного произошло?
Ответить с цитированием
  #57 (permalink)  
Старый 31.05.2011, 09:10
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от x-yuri
function f(n){
return n ? f(n-1)*n : 1;
}
Плохой пример. Тут функция заведомо имя имеет, его не надо специально придумывать и волноваться, чтобы оно не попало в global scope.

Сообщение от x-yuri
производительность
Если проблема только в производительности, можно просто не использовать arguments.callee, убирать-то зачем?

Сообщение от x-yuri
Что неудобного в отсутствии arguments.callee?
Необходимость придумывать бессмысленные имена для функций.
Ответить с цитированием
  #58 (permalink)  
Старый 01.06.2011, 02:44
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от Kolyaj
Плохой пример. Тут функция заведомо имя имеет, его не надо специально придумывать и волноваться, чтобы оно не попало в global scope.
Сообщение от Kolyaj
Необходимость придумывать бессмысленные имена для функций.
ну мне же пример не привели. Поэтому привел я. И естественно, не зная, в чем проблема, пример получился неудачным. К тому же, что значит бессмысленное имя? В моем понимании, если приходится придумывать функции бессмысленное имя, это повод задуматься. В общем мне не хватает примера, чтобы делать какие-то выводы.

Сообщение от Kolyaj
Если проблема только в производительности, можно просто не использовать arguments.callee, убирать-то зачем?
Я слишком лаконично выразился Присутствие arguments.callee мешает оптимизировать код (браузеру)
Ответить с цитированием
  #59 (permalink)  
Старый 01.06.2011, 09:09
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от x-yuri
ну мне же пример не привели
Например, http://alljs.ru/articles/timeout/set...l.html#pattern

Хотя на этом, вроде как, примеры и заканчиваются
Ответить с цитированием
  #60 (permalink)  
Старый 01.06.2011, 10:46
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

ну так, называем функцию onTimeout, по-моему довольно осмысленно. В попадании в global scope тоже проблемы не вижу. Т.е. оно туда попадет, если будет вне всяких функций, а это редко. Но если очень важно, можно и в функцию завернуть (function(){...})()
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Книга] Stoyan Stefanov, Javascript Patterns Dmitry A. Soshnikov Учебные материалы 20 13.08.2013 11:37
javascript вставки в vrml сцены. Передать событие из броузера Proletariy Javascript под браузер 0 10.05.2011 12:26
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34
Открыть с помощью javascript скрытый слой msprog Общие вопросы Javascript 1 07.09.2008 18:54