Видимо имеется ввиду тот момент, что:
1. ПХП изначально предназначался в качестве "клея" между данными и представлением.
1. смарти использует свой язык, так сказать получилось "еще одно ПХП, написанное на ПХП".
Ну, как минимум, "почему браузер загружает скрипты последовательно", а также ваше решение данной проблемы. Написать server-side генератор для сборки одного большого js-файла не пробовали?
что и требовалось доказать для фразы "ООП - зло"))
Касательно анонимных функций и случая со 100 копиями функции.
Если рассуждать логически, компилятор, вместо генерации 100 копий анонимной функции можно использовать ссылку на одну и ту же функцию, до тех пор, пока это возможно (т.е. пока вы не решите, эм.. модифицировать тело функции ;-). В этом, разумеется, _частном случае_ затраты на оставшиеся 99 функций будут близки к нулю. Исключение из этого - необходимость хранение контекста функции, но это несколько иной случай ;-)
> порождать бессмысленные структуры языка программирования (местами с полным копированием) есть не что иное, как диверсия против разработчиков, сопровождающих проект.
В таком случае, ООП не меньшее зло - ибо разницы между штампованием объектов и штампованием анонимных функций нет.
return a == b; // если нужно просто удостовериться в идентичности значений
return a == b? foo(): bar() // если нужно сделать нечто по условию
1. ПХП изначально предназначался в качестве "клея" между данными и представлением.
1. смарти использует свой язык, так сказать получилось "еще одно ПХП, написанное на ПХП".
что и требовалось доказать для фразы "ООП - зло"))
Касательно анонимных функций и случая со 100 копиями функции.
Если рассуждать логически, компилятор, вместо генерации 100 копий анонимной функции можно использовать ссылку на одну и ту же функцию, до тех пор, пока это возможно (т.е. пока вы не решите, эм.. модифицировать тело функции ;-). В этом, разумеется, _частном случае_ затраты на оставшиеся 99 функций будут близки к нулю. Исключение из этого - необходимость хранение контекста функции, но это несколько иной случай ;-)
Я думаю, достаточно полистать ваш ЖЖ, чтобы определить уровень вашей подкованности. А банк... банку только минус за экономию денег на ИТ-отделе.
for (var k = 0; k < 100; k++) {
blaBla = function () {alert(1);};
}
на
for (var k = 0; k < 100; k++) {
blaBla = new Foo();
}
и скажите, что с точки зрения ресурсоемкости (точнее, ресурсопрожорливости) поменялось.
> ведь на лицо же - 100 функций сидящий в памяти будут жрать в 100 раз больше ресурсов
А вот тут вы заблуждаетесь ;-)
В таком случае, ООП не меньшее зло - ибо разницы между штампованием объектов и штампованием анонимных функций нет.