Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Стоит ли пользоваться библиотеками или лучше писать свой код? (https://javascript.ru/forum/misc/1108-stoit-li-polzovatsya-bibliotekami-ili-luchshe-pisat-svojj-kod.html)

lancer 22.03.2008 09:50

Стоит ли пользоваться библиотеками или лучше писать свой код?
 
Недавно начал изучать JS.
И вот уже при реализации своего проекта вижу, что есть возможность
использовать готовые библиотеки. Но почему-то вкрадывается ощущение, что если я их буду использовать, то мало чему научусь сам.
Вот и вопрос к опытным программистам, как луше быть: все решать своими силами или итак будет полно моментов, где придется писать свои функции и лучше пользоваться готовыми, если таковы найдутся для текущих задач.

Dmitry A. Soshnikov 22.03.2008 12:43

Цитата:

Сообщение от lancer
если я их буду использовать, то мало чему научусь сам.

в принципе, больше нечего добавить! Правильный ход мысли =)

P.S.: я сам никогда не использовал сторонние библиотеки, однако, может где-то и жалею сейчас. Хотя с другой стороны - чего жалеть? - я знаю КАК работает JS и ПОЧЕМУ он так работает, я могу написать нужную мне структуру. Поэтому очень жаль, когда люди говорят, например: "я выучил JS по Prototype.js (jQuery / Dojo / Ext / и т.д. - любой сторонний фреймворк)". Ну не бред ли, а? =)) Но! Я вовсе не против сторонних фреймворков! Я считаю, что их можно использовать, когда нужно что-то быстро написать, не изобретая велосипед + к этому - знать, как оно там работает внутри. Обязательно знать! Потому что порой достигает до того, что те, кто пишет только на фреймворках и не задумывается о том, КАК это работает внутри (что, например метод toggleDisplay(...) содержит в себе 500 строчек кода, а мне приводят пример - "ты пишешь так-то и так-то, а у меня - в одну строчку - toggleDisplay(..,)") - это получается уже кодерство, а не программирование! Так вот - я не против фреймворков (у меня и у самого написан фреймворк, который я дополняю, переписываю, что-то беру из тех же Prototype.js, Ext - не важно, но беру самое лучшее + адаптирую под себя), они, несомненно, помогут и облегчат рутину. Я лишь за то, чтобы люди понимали, что они пишут. Иначе - тот же Prototype.js, до версии 1.6. - имел ну очень кривую организацию наследования псевдо-классов - тупо расширением прототипов (там так и названо - extend), а не ссылкой на прототип родителя! И все поголовно использовали это! И им похрен, как оно работает! И абсолютно плевать, что там внутри и почему оно работает не оптимально и медленно! =)

Поэтому, моя окончательная позиция по этому вопросу (я ее уже повторял в течение предложения) - можно использовать сторонние фреймворки - они где-то облегчат разработку (в скорости, но может утяжелят в весе), но при этом надо знать сам JS. А лучше - написать свой фреймворк =)

P.S.S.: вспомнились слова R.Confrod'a: "Prototype.js был написан теми, кто не знает JavaScript для тех, кто не знает JavaScript". И еще одна (автор тот же): "Жаль, что люди, находящиеся с точки зрения понимания JavaScript'a еще где-то на начальной ступени, уже навязывают миру такие вещи как jQuery". - Цитаты пафосные, но где-то правдивы.

Андрей Параничев 22.03.2008 16:29

В этом вопросе, полностью согласен с ds [.code]. Я считаю, что если цель - хорошо знать JavaScript и иметь возможность решить любую задачу самостоятельно, то использование фреймворков только мешает, но если знать JavaScript в ваши цели не входит, а задачу решить надо быстро и так, чтоб работало, то решение использовать фреймворки, я считаю, будет правильным.

vandy 24.03.2008 11:10

Я тоже считаю, что есть люди которые ЗНАЮТ JS и люди которые им пользуются. Т.к. очень многим людям, пишущим на серверных языках совершенно не интересно изучать особенности JS, они знают 10-20 основных методов из того же Prototype.js и их это полностью устраивает. Но мне как специалисту использование таких библиотек только мешает.
Я могу использовать какие-то интересные решения из этой библиотеки, но целиком - нет.

tenshi 24.03.2008 18:40

свой и только свой! ^_^

lancer 24.03.2008 19:31

Мои предположения подтвердились. Спасибо за мнения.


Часовой пояс GMT +3, время: 17:52.