>>493
日本語の説明だといいのが見つからないが
In software development
Main article: Code reuse
In software development, reinventing the wheel is often necessary in order to work around software licensing incompatibilities or around technical limitations present
in parts or modules provided by third parties.[citation needed] An example would be to implement a quicksort for a script written in JavaScript and destined
to be embedded in a web page. The quicksort algorithm is well known and readily available from libraries for software developers writing general-purpose
applications in C++ or Java, but some Javascript implementations do not provide this specific algorithm. Hence, if a developer wants to reliably
use quicksort on their web page, they must "reinvent the wheel" by reimplementing the algorithm. They could conceivably copy it from another
web page, but then they could run into copyright and software licensing issues. Reinventing the wheel in this case provides the missing functionality
and also avoids copyright issues.

Additionally, those new to a language (and especially those new to programming) will often attempt to manually write many functions for which
a more robust and optimized equivalent already exists in the standard library or other easily available libraries.[citation needed] While this can
be useful as a learning exercise, when done unknowingly the result is often less readable, less reliable and less optimized software which
takes longer to write, test, maintain, and debug.

非常に狭い意味でも全く同じことを書かなきゃいけないシチュエーションはある
ライセンス問題だったり言語が微妙に違ったり
同じ言語でも管理方法を変えたために同じ意味の関数を再定義して作り直したりと
無駄なような必要なようなことはあるよ
そこに付加価値があるから需要があるけども
もし付加価値がゼロだとしてもマイナスだとしても作れと言われたら作るのがプロ
もちろん
もっといい方法があるかもしれないけどこれでいいのですか?
とは確認するだろうけど発注者がメリットがあると思っている以上はそこには口を挟まない
極端な例だと紙と鉛筆だけで書いてくれ
外部との接触も禁止な
と言われたらその条件で作業してもいいよ
ギャラがいいなら