Wynalezienie koła na nowo

Wymyślanie koła na nowo to próba powielenia – najprawdopodobniej z gorszymi wynikami – podstawowej metody, która została już wcześniej stworzona lub zoptymalizowana przez innych.

Inspiracją dla tej idiomatycznej metafory jest to, że koło jest starożytnym archetypem ludzkiej pomysłowości (tak głębokim, że nadal leży u podstaw większości nowoczesnych technologii ). Ponieważ został on już wynaleziony i uważa się, że nie ma żadnych nieodłącznych wad, próba wymyślenia go na nowo nie dodałaby do niego żadnej wartości i byłaby stratą czasu, odwracając zasoby badacza od prawdopodobnie bardziej wartościowych celów.

Stosowanie

Wyrażenie to jest czasami używane bez szyderstwa, gdy działania danej osoby mogą być postrzegane jako zwykłe odkrywanie koła na nowo, podczas gdy w rzeczywistości mają dodatkową wartość. Na przykład „wynajdywanie koła na nowo” jest ważnym narzędziem w nauczaniu złożonych pomysłów. Zamiast przedstawiać studentom po prostu listę znanych faktów i technik i oczekiwać, że doskonale i szybko zastosują te idee, instruktor będzie tworzył materiał od nowa, pozostawiając uczniowi wypracowanie tych kluczowych kroków, które uosabiają rozumowanie charakterystyczne dla pole.

„Ponowne wynalezienie koła” może być ironicznym frazesem – nie jest jasne, kiedy właściwie wynaleziono samo koło. Współczesny „wynalazek” koła może w rzeczywistości być „ponownym wynalezieniem” wiekowego wynalazku. Ponadto regularnie opracowywanych i sprzedawanych jest wiele różnych kół z ulepszeniami istniejących kół (takich jak wiele rodzajów dostępnych opon). Metafora kładzie nacisk na zrozumienie istniejących rozwiązań, ale niekoniecznie na nie.

W rozwoju oprogramowania

W rozwoju oprogramowania często konieczne jest ponowne wynalezienie koła, aby obejść niezgodności licencyjne oprogramowania lub ograniczenia techniczne występujące w częściach lub modułach dostarczanych przez strony trzecie. [ potrzebne źródło ] Przykładem może być implementacja szybkiego sortowania dla skryptu napisanego w JavaScript i przeznaczonego do osadzenia na stronie internetowej. Algorytm quicksort jest dobrze znany i łatwo dostępny z bibliotek dla programistów piszących aplikacje ogólnego przeznaczenia w C++ lub Java , ale niektóre implementacje JavaScript nie zapewniają tego konkretnego algorytmu. Dlatego jeśli programista chce niezawodnie używać szybkiego sortowania na swojej stronie internetowej, musi „wynaleźć koło na nowo” poprzez ponowne wdrożenie algorytmu. Mogliby prawdopodobnie skopiować go z innej strony internetowej, ale wtedy mogliby napotkać z prawami autorskimi i licencjami na oprogramowanie. W tym przypadku ponowne wynalezienie koła zapewnia brakującą funkcjonalność, a także pozwala uniknąć problemów z prawami autorskimi.

Ponadto nowicjusze w języku (a zwłaszcza nowi w programowaniu) często będą próbować ręcznie napisać wiele funkcji, dla których bardziej niezawodny i zoptymalizowany odpowiednik już istnieje w bibliotece standardowej lub innych łatwo dostępnych bibliotekach. [ Potrzebne źródło ] Chociaż może to być przydatne jako ćwiczenie edukacyjne, gdy jest wykonywane nieświadomie, wynik jest często mniej czytelny , mniej niezawodny, mniej przetestowany i mniej zoptymalizowany, którego pisanie, testowanie, konserwacja i debugowanie zajmuje więcej czasu .

Powiązane zwroty

Ponowne wynalezienie koła kwadratowego to praktyka niepotrzebnej inżynierii artefaktów, które zapewniają funkcjonalność już zapewnianą przez istniejące artefakty standardowe (ponowne wynalezienie koła) i kończące się gorszym wynikiem niż standardowe (kwadratowe koło ). Jest to antywzorzec , który pojawia się, gdy inżynier nie jest świadomy lub lekceważy standardowe rozwiązanie lub nie rozumie problemu lub standardowego rozwiązania w wystarczającym stopniu, aby uniknąć problemów przezwyciężonych przez standard. Jest to w większości przypadłość niedoświadczonych inżynierów lub efekt drugiego systemu .

Wiele problemów zawiera subtelności, które zostały rozwiązane dawno temu w inżynierii głównego nurtu (takie jak znaczenie gładkiej obręczy koła). Każdy, kto zaczyna od zera, ignorując stan techniki , naturalnie zmierzą się z tymi problemami na nowo i aby uzyskać zadowalający wynik, będą musieli poświęcić czas na opracowanie dla nich rozwiązań (najprawdopodobniej tych samych, które są już dobrze znane). Jednak gdy wynalezienie koła na nowo jest podejmowane jako podzadanie większego projektu inżynieryjnego, a nie jako samodzielny projekt mający na celu wyprodukowanie lepszego koła, inżynier często nie przewiduje, że poświęci mu dużo czasu. W rezultacie używana jest niedopracowana, słabo działająca wersja koła, podczas gdy użycie standardowego koła byłoby szybsze i łatwiejsze oraz dałoby lepsze wyniki.

Wymyślanie koła z wyprzedzeniem polega na opóźnianiu zadania, jeśli oczekuje się, że zostanie ono podjęte później. Przykładem może być: „Nie chcemy wynajdywać koła z góry” podczas omawiania rozwiązania problemu, gdy wiadomo, że rozwiązanie jest opracowywane gdzie indziej. Niekoniecznie jest to pejoratywne.

Ponowne definiowanie koła to praktyka wymyślania nowych i często zawiłych sposobów opisywania rzeczy, podczas gdy istniejący sposób ich opisywania był całkowicie adekwatny.

Zobacz też