Я тоже знаком и с императивным стилем (и с функциональным; я, вообще, больше JavaScript-программист, хоть и занимаюсь PHP на серверной стороне), и с ООП-парадигмой =) Мне просто интересно, - конкретная аргументация есть вот на это:
> использование анонимных функций - первый признак того, что вы не понимаете что должно делать приложение
и на это:
> замыкание - ЗЛО :)
Может пример приведете?
Я могу конкретный пример привести, когда анонимная функция - это "зло", но это "зло" занимает лишь 5% от мощи замыканий и анонимных функций.
Высокоуровневые абстракции (коими в первую очередь должны являться фреймворки) могут помочь не только с преодолением рутины, но и, в (возможно) равной степени, с отупением.
Однако, грешить на то, что что-то там "жрет много памяти" - сегодня не самый убедительный аргумент - сегодня человекочасы стоят дороже, чем железо. Поэтому, фреймворк при правильном использовании (устранение рутины), вполне себе хорошая вещь.
Но все же жаль, что сегодня можно услышать фразы, подобные: "я выучил JS по jQuery" =) В резюме многие пишут, что знают JS, а на деле выясняется, что это Prototype.js =) И ладно бы - первостепенная цель - преодоление рутины, так нет же - еще могут начать доказывать, что в нынешней реализации JS есть классы (ибо Class.create()) =)
Все это демагогия, конечно, но высокоуровневые абстракции всегда нужны. В сущности, сам JavaScript, относительно других языков, уже ого-го какая абстракция (того же асма, который тут приводился - ведь смешно же бы звуало: "а что ты на ассемблере сайты не пишешь?". В то время, как мы используем абстракицю "alert(...)" и нам, собственно, плевать, как она внутри написана. Тоже самое и с фреймворками).
Это я к тому, что при использовании фреймворка, если вы программист, а не кодер, обязательно нужно знать сам язык.
> использование анонимных функций - первый признак того, что вы не понимаете что должно делать приложение
и на это:
> замыкание - ЗЛО :)
Может пример приведете?
Я могу конкретный пример привести, когда анонимная функция - это "зло", но это "зло" занимает лишь 5% от мощи замыканий и анонимных функций.
Однако, грешить на то, что что-то там "жрет много памяти" - сегодня не самый убедительный аргумент - сегодня человекочасы стоят дороже, чем железо. Поэтому, фреймворк при правильном использовании (устранение рутины), вполне себе хорошая вещь.
Но все же жаль, что сегодня можно услышать фразы, подобные: "я выучил JS по jQuery" =) В резюме многие пишут, что знают JS, а на деле выясняется, что это Prototype.js =) И ладно бы - первостепенная цель - преодоление рутины, так нет же - еще могут начать доказывать, что в нынешней реализации JS есть классы (ибо Class.create()) =)
Все это демагогия, конечно, но высокоуровневые абстракции всегда нужны. В сущности, сам JavaScript, относительно других языков, уже ого-го какая абстракция (того же асма, который тут приводился - ведь смешно же бы звуало: "а что ты на ассемблере сайты не пишешь?". В то время, как мы используем абстракицю "alert(...)" и нам, собственно, плевать, как она внутри написана. Тоже самое и с фреймворками).
Это я к тому, что при использовании фреймворка, если вы программист, а не кодер, обязательно нужно знать сам язык.