>(как-будто вы знаете и умеете лучше их)
Вполне может быть, что какие-то вещи я знаю лучше их, и наоборот. Точную оценку знаний произвести невозможно, поэтому и сравнить тоже не получится.
>очень глупо и некрасиво с вашей стороны.
Станьте моей совестью? :)
Не пойму, почему вы так привязались к Симула-стайл ООП в JS. Под новым я имел в виду декларативное в целом и функциональное программирование в частности.
Сравните запросы к DOM с помощью CSS (или XPath) и с помощью методов DOM. Очевидно, что декларативный подход в этом случае короче, понятнее и легче поддерживается.
>Думаю, разработчики этих фреймворков поступили именно так.
Может, у них были (также) другие причины: сделать код понятнее обычному человеку (веб-дизайнеру, а не программисту), или ради своих же собственных maintainer'ов.
>Чувствуете себя крутым, наверное, высокомерно называя лучших JavaScript-программистов мира неумелыми невеждами?
Я этого не говорил. А "лучшие программисты" тоже ошибаются, но "неумелыми невеждами" они от этого не становятся.
>Если вы настолько лучше их, может, продемонстрируете какой-нибудь значимый результат вашей работы с JavaScript?
О своем превосходстве над кем либо я не говорил. Невнимательно читаете? А насчет продемонстрировать результат сейчас как раз пишу на JS, посмотрим, что из этого выйдет (может, действительно, что-то стоящее).
>"Народные массы" требуют классическую модель ООП не потому, что больше ничего не хотят знать, а всего навсего потому, что им так удобнее.
Здесь выбор примерно такой: либо узнавай новое и "более удобное" и пользуйся этим, либо пользуйся старым и проверенным, считая, что оно "удобнее".
>JS - это язык, достаточно гибкий для того, чтобы в нём использовать в зависимости от задач и вкусов разные парадигмы.
В этом топике продвигается только одна парадигма (как и практически везде в сети), против чего я и высказался.
>Какую модель наследования использовать, решает каждый сам для себя (или команды) - это дело вкуса, того, кому что ближе, а не умения.
Согласен, что дело вкуса. Но "ближе-дальше" сильно меняется после того, как все-таки grok'нешь язык. :)
>Интересно, по вашему, авторы большинства JS-фреймворков (а именно Mootools, Prototype, YUI, Dojo) тоже не знают язык и не умеют им пользоваться?
Да. Забавный вывод, правда? :)
Впрочем, может быть, они просто ориентируются на "народные массы", которые с пеной у рта требуют "дайте нам тру-ООП!", потому что больше ничего не знают и не хотят узнать.
В общем, пойнт примерно такой: не пытайтесь писать в JS как в Java/C++/C#/Delphi, потому что не для того этот язык создавался. JS это Лисп в синтаксисе Си, если угодно (бывалые Schemer'ы так его и воспринимают, кстати).
Вполне может быть, что какие-то вещи я знаю лучше их, и наоборот. Точную оценку знаний произвести невозможно, поэтому и сравнить тоже не получится.
>очень глупо и некрасиво с вашей стороны.
Станьте моей совестью? :)
Не пойму, почему вы так привязались к Симула-стайл ООП в JS. Под новым я имел в виду декларативное в целом и функциональное программирование в частности.
Сравните запросы к DOM с помощью CSS (или XPath) и с помощью методов DOM. Очевидно, что декларативный подход в этом случае короче, понятнее и легче поддерживается.
>Думаю, разработчики этих фреймворков поступили именно так.
Может, у них были (также) другие причины: сделать код понятнее обычному человеку (веб-дизайнеру, а не программисту), или ради своих же собственных maintainer'ов.
Я этого не говорил. А "лучшие программисты" тоже ошибаются, но "неумелыми невеждами" они от этого не становятся.
>Если вы настолько лучше их, может, продемонстрируете какой-нибудь значимый результат вашей работы с JavaScript?
О своем превосходстве над кем либо я не говорил. Невнимательно читаете? А насчет продемонстрировать результат сейчас как раз пишу на JS, посмотрим, что из этого выйдет (может, действительно, что-то стоящее).
>"Народные массы" требуют классическую модель ООП не потому, что больше ничего не хотят знать, а всего навсего потому, что им так удобнее.
Здесь выбор примерно такой: либо узнавай новое и "более удобное" и пользуйся этим, либо пользуйся старым и проверенным, считая, что оно "удобнее".
>JS - это язык, достаточно гибкий для того, чтобы в нём использовать в зависимости от задач и вкусов разные парадигмы.
В этом топике продвигается только одна парадигма (как и практически везде в сети), против чего я и высказался.
Согласен, что дело вкуса. Но "ближе-дальше" сильно меняется после того, как все-таки grok'нешь язык. :)
>Интересно, по вашему, авторы большинства JS-фреймворков (а именно Mootools, Prototype, YUI, Dojo) тоже не знают язык и не умеют им пользоваться?
Да. Забавный вывод, правда? :)
Впрочем, может быть, они просто ориентируются на "народные массы", которые с пеной у рта требуют "дайте нам тру-ООП!", потому что больше ничего не знают и не хотят узнать.
В общем, пойнт примерно такой: не пытайтесь писать в JS как в Java/C++/C#/Delphi, потому что не для того этот язык создавался. JS это Лисп в синтаксисе Си, если угодно (бывалые Schemer'ы так его и воспринимают, кстати).
Таких статей невероятно много в сети. Зачем повторяться?
>А то дофигища таких коментариев и ни одного примера.
Комментариев таких не видел. :) Примеры приводить не буду, лучше дам пищу для размышлений.
Зачем в JS функции первого класса и лексические замыкания? Зачем eval()? Зачем динамическая типизация? Зачем прототипы?