Изобретение колеса заново
Эта статья включает список общих ссылок , но в ней отсутствуют достаточные соответствующие встроенные цитаты . ( Апрель 2009 г. ) |
Изобретать велосипед — значит пытаться воспроизвести (скорее всего, с худшими результатами) базовый метод, который ранее уже был создан или оптимизирован другими.
Источником вдохновения для этой идиоматической метафоры является то, что колесо — это древний архетип человеческой изобретательности (настолько глубокий, что он продолжает лежать в основе большей части современных технологий ). Поскольку оно уже изобретено и не считается имеющим каких-либо недостатков, попытка изобрести его заново не добавит ему никакой ценности и будет пустой тратой времени, отвлекая ресурсы исследователя от, возможно, более достойных целей.
Использование
[ редактировать ]Эту фразу иногда используют без насмешки, когда деятельность человека может быть воспринята как простое изобретение велосипеда, хотя на самом деле она имеет дополнительную ценность. Например, «изобретение велосипеда» является важным инструментом в обучении сложным идеям. Вместо того, чтобы просто предоставлять студентам список известных фактов и методов и ожидать, что они прекрасно и быстро усвоят эти идеи, преподаватель вместо этого строит материал заново, предоставляя студенту возможность проработать те ключевые шаги, которые воплощают в себе рассуждения, характерные для поле.
«Изобретение колеса» может быть ироничным клише – неясно, когда на самом деле было изобретено само колесо. Современное «изобретение» колеса на самом деле может быть «переизобретением» древнего изобретения. Кроме того, регулярно разрабатывается и продается множество различных колес с усовершенствованиями существующих колес (например, многие типы доступных шин). Метафора подчеркивает понимание существующих решений, но не обязательно их принятие.
В разработке программного обеспечения
[ редактировать ]При разработке программного обеспечения часто необходимо изобретать велосипед, чтобы обойти несовместимость лицензирования программного обеспечения или технические и политические ограничения, присутствующие в частях или модулях, предоставляемых третьими сторонами. [ нужна ссылка ] Примером может служить реализация быстрой сортировки для сценария, написанного на JavaScript и предназначенного для внедрения в веб-страницу. Алгоритм быстрой сортировки хорошо известен и легко доступен в библиотеках для разработчиков программного обеспечения, пишущих приложения общего назначения на C++ или Java , но некоторые реализации JavaScript не предоставляют этот конкретный алгоритм. Следовательно, если разработчик хочет надежно использовать быструю сортировку на своей веб-странице, он должен «заново изобрести велосипед», заново реализовав алгоритм. Они могли бы скопировать его с другой веб-страницы, но тогда они могли бы столкнуться с проблемами авторского права и лицензирования программного обеспечения. Изобретение велосипеда в этом случае обеспечивает недостающую функциональность, а также позволяет избежать проблем с авторскими правами.
Кроме того, новички в языке (и особенно новички в программировании) часто пытаются вручную написать множество функций, для которых более надежный и оптимизированный эквивалент уже существует в стандартной библиотеке или других легко доступных библиотеках. [ нужна ссылка ] Хотя это может быть полезно в качестве обучающего упражнения, если делать это по незнанию, результат зачастую становится менее читабельным , менее надежным, менее протестированным и менее оптимизированным, а его написание, тестирование, обслуживание и отладка занимает больше времени .
Программные проекты, которые представляют собой заново изобретенные колеса
[ редактировать ]- FreeDOS , копия MS-DOS.
- FreeWin95, копия Windows 95.
- ReactOS — копия Windows NT.
- Apache Harmony , копия Java SE 5 и Java SE 6.
- рюш , копия Flash Player
Похожие фразы
[ редактировать ]Повторное изобретение квадратного колеса — это практика излишнего проектирования артефактов, которые обеспечивают функциональность, уже предоставляемую существующими стандартными артефактами (изобретение колеса), и в конечном итоге приводят к худшему результату, чем стандарт ( квадратное колесо ). Это антишаблон , который возникает, когда инженер не знает или пренебрегает стандартным решением или не понимает проблему или стандартное решение в достаточной степени, чтобы избежать проблем, преодолеваемых стандартом. Чаще всего это беда неопытных инженеров или эффект второй системы .
Многие проблемы содержат тонкости, которые давно были решены в основной инженерии (например, важность гладкости обода колеса). Любой, кто начинает с нуля, игнорируя уровень техники , естественно, столкнется с этими проблемами заново, и для получения удовлетворительного результата ему придется потратить время на разработку решений для них (скорее всего, тех же решений, которые уже хорошо известны). Однако когда изобретение колеса рассматривается как подзадача более крупного инженерного проекта, а не как отдельный проект с целью создания лучшего колеса, инженер часто не рассчитывает потратить на это много времени. В результате используется недоработанная, плохо работающая версия колеса, тогда как использование стандартного колеса было бы быстрее и проще и дало бы лучшие результаты.
Предварительное изобретение колеса предполагает отсрочку выполнения задачи, если ожидается, что она будет предпринята позже. Примером может быть: «Мы не хотим заранее изобретать велосипед» при обсуждении решения проблемы, когда известно, что решение разрабатывается где-то еще. Это не обязательно уничижительно. [1]
Переопределение колеса — это практика поиска новых и часто непонятных способов описания вещей, когда существующий способ их описания был совершенно адекватен.
См. также
[ редактировать ]- Антипаттерн
- Лучшая практика
- Дизайн вокруг : альтернативное изобретение, созданное во избежание нарушения патентных прав
- Здесь не придумали
- Патентные чащи
- «Стоя на плечах гигантов» — выражение, относящееся к повторному использованию существующих идей.
- Система дымохода
- Трагедия антиобщности
Ссылки
[ редактировать ]- ^ Брандт, П. (2003), Проект изменения лидерства, неопубликованный
- Кемпер, Стив (15 марта 2005 г.), История гения, инноваций и грандиозных амбиций , HarperCollins , ISBN 0-06-076138-5
- Хершок, Питер Д. (июль 1999 г.), Буддийский ответ информационному веку , State University of New York Press , ISBN 0-7914-4232-2