Search
Write a publication
Pull to refresh

Comments 40

UFO landed and left these words here
несогласен. тренировка мозгов в любом возрате полезна…
Я же пишу и об этом. Мозги тренировать надо, но естественно не таким способом тем более когда работаешь а не учишься. Имеются ввиду новички, которым часто тычут «Не изобретай велосипед — это тупо»
Я думаю поначалу все новички изобретают велосипеды, но ничего потом рано или позно, при наличии серого вещества, пишут нормальный код.
все зависит от самого велосипеда… Конечно имея знания и опыт глупо заниматься разработкой какой нибудь очередной гостевой книги, тем более уже далеко не первой и тем более на работе…

Приведу свой пример. Интересуюсь веб разработкой уже более 6 лет, 5 из которых на пхп. 2 года назад написал небольшого поискового робота, сейчас занимаюсь разработкой второй версии своей цмс (первая была написана и успешно проверена на 2 проектах 2 месяца назад). Скажете это плохо? Возможно… и причин этому масса: хотябы наличие достаточного количества коробочных и еще большего количества бесплатных решений… Но на протяжении всех этих лет меня не устроила не одна цмска, проходившая через мои руки (а их прошло наверное штук 20-30).

В дополнение к этому скажу что 6 месяцев назад, когда я начал собирать материалы для написания своей цмс все знакомые и незнакомые программисты кричали про изобретение велосипедов… а я изобрел свой велосипедик и не считаю это чем-то зазорным или плохим…

Полученный итог:
1. Накоплен некоторый опыт написания сравнительно объемных программных продуктов
2. У меня есть своя система, которая отвечает всем моим требованиям.
megalodon
Я с вами согласен. Но вы не всегда изобретали велосипед. В вашем случае вы возможно уже разрабатывали альтернативу для себя) Это уже работа
хехм, что за выражение «нормальный код». «Велосипед тоже может быть написан „нормальным кодом“. Не в тему как то. А новички да, изобретают, нол им по рукам бьют :-) я считаю.
>А в том, что это отключает мозги, когда человек «изобретает велосипед» он думает, учиться использовать язык для реализации своей задачи, пусть и уже решенной кем-то давно.

ой как сомневаюсь… в большинстве случаев он пишет так, как умеет, а не как надо. более того, он начинает считать, что именно так и надо писать… и именно для об этом, кстати, часто пишется в статьях типа «nn ошибок начинающего php-программиста»
зачастую «написать как надо» очень трудно. это проблема не только девелоперов, но и системных архитекторов. приходится искать более эффективные приемы и готовые решения не всегда самые лучшие. в процессе таких исканий рождаются самые разнообразные велосипеды и появляется реальная возможность пощупать разнообразные технологии и прочие методологии :)
программирование предполагает самовыражение ( хотя некоторые даже драйверы устройств пишут самовыражаясь :( ). пусть человеки наслаждаются
>приходится искать более эффективные приемы и готовые решения не всегда самые лучшие.
что-то я ну очень сомневаюсь, что начинающие программисты способны создать решения лучше и эффективнее готовых.

>возможность пощупать разнообразные технологии и прочие методологии :)
ээ… какие это технологии можно щупать не пользуясь(т.е. даже не глядя на примеры) готовыми решениями?
>что-то я ну очень сомневаюсь, что начинающие программисты способны создать решения лучше и эффективнее готовых.

при условии существования готовых решений и важно чтобы готовые решения были написаны знатоками своего дела

>ээ… какие это технологии можно щупать не пользуясь(т.е. даже не глядя на примеры) готовыми решениями?

видимо меня плохо поняли. как раз говорил о том что используются готовые решения, но в различных комбинациях
>используются готовые решения
==не изобретаются велосипеды. в каких комбинациях — это уже не важно

>при условии существования готовых решений и важно чтобы готовые решения были написаны знатоками своего дела

покажите, пожалуйста, парочку контрпримеров
контрпримеров чего? готовых решений авторами которых билы непрофессиональные разработчики или мб готовых решений которые неэффективны (или эффетивность находится под сомнением)?

таких примеров масса. достаточно взять любую коллекцию библиотек: php, perl, java. отсуствие гарантий корректности (хотя могут хвастаться качеством тестового покрытия), эффективности, гарантий появления усовершенствованных версий. хотя для быстрой разработки бывает актуально
пример готовых решений, которые настолько хуже и неэффективнее, что новичок с лёгкостью напишет лучший «велосипед»
для этого прийдется строить тестовый стенд и организовывать эксперимент.
если так сильно впечатляют готовые решения — могу предложить цитаты с башорга с наработками индийский программистов.
что-то мне подсказывает, что наработки индийских программистов — это банально аутсорс, а не готовые хорошие либы. никто ж не заставляет пользоваться всяким г… ном
зато как абсурдный «пример готовых решений» можно использовать :)
эм… т.е. «правильный» пример вы привести не можете, я так понимаю?
Кто же говорил же говорил с легкостью. Если никто не будет пытаться, то новых готовых решений никогда не появится. Но интерес новичков это конечно далеко не единственных фактор благодаря которому появляются новые разработки.
ну хорошо, тогда от вас пример «велосипеда» от новичка, который превосходит существующие решения
Новичек перестает быть таковым при наступлении подобного события IMHO :-)
т.е. в момент написания «профессионального» велосипеда он ещё был новичком, а по окончанию — перестал? 0_О
Профессиональный велосипед это уже альтернатива. Надо это понимать. Речь шла вообще не о больших продуктах, а о мелких вещах, о каких то своих задачах, которые могут сводиться вообще к перебору массива. Тут конечно лучше не напишешь известных вариантов :-) Но не стоит все понимать настолько буквально. Вообще вес написано в топике, ответы на все ваши вопросы — там.
>о мелких вещах
пример неправильной мелкой вещи в Java
String s = «»;
for (int i=0; i<100; i++)
s+=i;

>Вообще вес написано в топике, ответы на все ваши вопросы — там.
так вот я как раз с тем, что написано не согласен и вполне аргументированно комментирую. Впрочем, если вы считаете, что «в топике всё написано», то я с вами больше спорить и не буду пытаться.
Что значит «как надо»? Кому собственно это надо? :)

Есть стандарты — вот их и принято называть «как надо». Но к сожалению пока ты сам не напишешь первую программу на 10 000 строк кода, то не поймешь зачем это вообще нужно. Многие хоть и хвастаються что пишут «как надо», но достаточно спросить ЗАЧЕМ? И все! На этом вся крутизна заканчиваеться…

Задайтесь вопросом зачем нужна точка с запятой (;)? Почему используют именно её?
>Что значит «как надо»?
как надо=не совершая типичных ошибок

>Задайтесь вопросом зачем нужна точка с запятой (;)? Почему используют именно её?
а она не везде нужна, кстати ;)
>как надо=не совершая типичных ошибок
Что вы имеете ввиду? о_О

>а она не везде нужна, кстати ;)
Ну понятное дело. Просто я встричал человека который создавал свой язык, и одна из основных причин по которой он его создавал — ему не нравилась точка с запятой! О_о
Кстать, мне кажется, что большинство велосипедов изобретается от того, что человек не разу не видел готового «велосипеда» :)
Редко когда человек пишет подобные вещи ради интереса. Скорее от того, что либо он не знает альтернатив или не может в них разобраться.
Не всё так категорично. Уж лучше, пусть человек сначало побудет «быдлокодером» и постепенно станет мастером, чем сразу плюнет на программирование =)
Я помню как довольно давно писал свою цмску. php я тогда знал месяца 3. И хотелось мне код некоторый в базе хранить (sic!). А чтоб его исполнять я создавал временный файлик туда писал код, а потом его инклюдил.
Радости от того, что всё это заработало не было предела. Решил рассказать про успехи будущему (теперь уже настоящему) кстати коллеге. В общем после фразы «eval, читай маны, это гавно ненужное» я понял что был неправ :)
На самом деле это не совсем про велосипед, но суть примерно такая.
А еще говорят, что чужой код ковырять вредно :)
А мне нравится. Много интересных фишек/нюансов можно найти
Главное, выбрать правильный чужой код для ковыряния.
велосипеды надо под себя тюнинговать… а для этого надо сначала свой собрать, чтобы потом новый не сломать)…
зачастую свои велосипеды получаются с заклиненным рулем и непневматическими колесами.
ездит конечно, но через задницу.

тем не менее велосипеды нужны. но я предпочитаю, прошарив предварительно принципы построения серийных моделей, написать свою. таким образом сам навык программирования наращивается, а велосипеды получаются функциональны.
Вот многие замечают что «велосипеды у начинающих получаются криво» так ведь я обращал внимание в топике на второй немаловажный аспект: чтение документации и использование мозгов.
Речь ведь идет о совсем простых вещах.
А можно узнать, что считается «велосипедом»? Linux — велосипед, ведь и до него были ОС, зачем еще что-то придумывать? Сейчас, например, модно хранить настройки программ в XML, хотя раньше спокойно использовались ini файлы. Зачем нужен этот велосипед? А Гугл со своим адроидом, ну нафига еще одна операционка для смартфонов? Аха да… У них еще и браузер есть, но это ведь не очередной велосипед.
Да затем что не всем удобно ездить на трехколесном велике или горном байке… Возможно через n лет сегодняшний велосипед уже не будет восприниматься таким.
Согласен. Попытка написать свой язык программирования (пусть ОЧЕНЬ примитивный) — ставить мозги на место.
И сразу начинаешь думать головой, а не тем чем обычно :) Перестаешь ненавидеть точку с запятой (;), перестаешь призирать PHP, и смеешься над С-плюистами заверяющими что их язык — самый крутой на свете.

Изобретать велосипед — полезно. Покрайней мере для обучения.
я в основном не использую сторонний код (фреймворки, цмс) и ничего, живу.
людей, считающих, что хороший сайт нельзя сделать без фреймворка, я как-то всегда считал и считаю бездарными мудаками
Нет лучше «велосипеда» чем тот, который ты собрал своими руками, ибо создан он под конкретную ситуацию. Людей, которые говорят «не изобретайте велосипедов», лучше больше никогда не слушать.

Sign up to leave a comment.

Articles