車輪の再発明
車輪の再発明 reinventing the wheel (しゃりんのさいはつめい)
公開されていてすでに利用可能なライブラリがあるにも関わらず、それと同趣旨の機能を実現するコードを自力で書き上げる様を揶揄して使われる言葉。
たいてい、あとからその公開ライブラリと比較して、自分が書いたコードを破棄することになる。
特に、「知識は未熟だが腕力はある」という初級-中級者は体験しがち。というか、たいていのプログラマーには同様の経験があるのではないかと思う。
「揶揄して」と書いたとおり、この言葉は、良い意味では使われない。
システム開発の生産性としてはたしかに車輪の再発明のようなことをしてしまうのはよろしくないのだが、知識が未熟なうちは公開ライブラリのドキュメントを読んでも適用方法や実現する機能を理解できなかったりもするので、こういう失敗はある程度は避けられないものと思う。
また、個人のプログラミング技術の上達という観点で言えば、他者からの情報を鵜呑みにして紹介されたライブラリを導入しまくるよりも、自分なりにコーディングしてみて行き詰まるという経験のほうが重要な場合もある。
自分が行き詰まってみて、はじめて、既存ライブラリが解決しようとしている課題や解決方法のアートを理解できるということもある。
なので、「それなりの人数で遂行するプロジェクトで周囲の反対を押し切って」とかいうわけではなく、個人の研究の延長としていろいろやってみるということに対しては、僕は、それを揶揄するのはどうかと思う。
掲載用語一覧:
TOPへ(新着順に表示できます)i18n
アセンブリ言語 (assembly language)
アンスコ
イテラブル (iterable)
イテレート (iterate)
イミュータブル (immutable)
インスタンス (instance)
WSGI
ウェルノウンポート (well known port)
API
SQL
m17n
MTVフレームワーク (mtv framework)
MVCフレームワーク (mvc framework)
l10n
LTS
演算子 (operator)
オブジェクト指向プログラミング (object oriented programming)
仮想環境 (virtual environment)
関心の分離 (separation of concerns)
git
github
キャメルケース (Camel Case)
クッキー (Cookie)
クライアント (client)
クラス (class)
クラスの継承 (class inheritance)
CRUD
ケバブケース (kebab case)
高階関数 (high order function)
コンパイラ (compiler)
サーバ (server)
CMS
JSON
識別子 (identifier)
辞書 (dictionary)
車輪の再発明 (reinventing the wheel)
シリアライズ (seralize)
スネークケース (snake case)
セッション (Session)
多重継承 (multiple inheritance)
dunder
ディストリビューション (distribution)
デシリアライズ (deserialize)
DRY
認可 (authorization)
認証 (certification)
パスカルケース (Pascal Case)
ハッシュ (hash)
バッテリーインクル-デッド (battery included)
バリデーション (validation)
引数 (argument)
ビルトイン (built in)
フレームワーク (framework)
プロトコル (protocol)
ポート番号 (port number)
メソッド (method)
メンバー (member)
UUID
ライブラリ (library)
LAMP
リクエストメソッド (request method)
RESTful
レンダリング (rendering)
この用語集はこんな人が書いています
2025年04月22日 05:44
AIユーザさん
2025年04月22日 05:42
AIユーザさん
2025年04月19日 19:19
小川 慶一さん
2025年04月18日 09:16
AIユーザさん
2025年04月13日 06:10
AIユーザさん