
ソフトウェアの開発に携わっている方は、近年ツールやライブラリにつけられる「名前」が意味不明になっていることに疑問を感じているかもしれません。開発者兼ライターのSalih Muhammed氏は、Richard Stallman氏が2022年のEmacsConf で「覚えやすい名前が必要だ」と指摘したことを引き合いに出し、「ソフトウェアツールの名前付け」が、開発者の認知的負担や業界文化に大きな影響を与えているのではないかと指摘しています。
同氏は、かつてのUNIXツールは、grep(global regular expression print)、awk(開発者の頭文字)、sed(stream editor)など、機能や由来が直感的に分かる名前だったのに対し、現代では「Viper」「Cobra」「Melody」「Casbin」「Asynq」など、機能と無関係な名前が氾濫していると現状を憂いています。
他の分野とは異なり、無意味な名前が「認知的コスト」を生み、開発者が理解するために余計な時間を費やすことになっているのです。
具体的な、他の分野の命名方法として以下の例をリストアップしています。
-
土木工学:Golden Gate Bridge は「ゴールデンゲート海峡に架かる橋」と直感的に理解できる。
-
化学:IUPAC 命名法により「2,2,4-trimethylpentane」は唯一の分子を指す。誰も「Steve」とは呼ばない。
-
医療:医師は「動脈にステントを入れる」と説明するのであって、「Butterfly を Whisper に入れる」とは言わない。
同氏は、この流れの原因はGitHubやスタートアップ文化にあり、「Google のようなブランド化」を狙った結果、意味のない名前が常態化したと指摘。Googleと異なり、OSSの小規模ライブラリは広告や市場支配で名前を浸透させることはできないため、開発者向けツールにブランド戦略は不要で、退屈でも明確さを最優先にすべだと強調しています。
解決策として、http-request-validator のように、冗長でも機能が分かる名前を優先すべきだとし、どうしても面白い名前を使いたい場合は、PostgreSQLの「Slonik」という象のマスコットのように、マスコットと名前を分離すべきだと提案しています。また、開発者コミュニティ内で「プロフェッショナルな命名」を再評価することが望ましいとまとめています。
まとめ
この記事はHacker Newsでも議論されており、意味のある名前を重視すべきだという意見と、楽しい・ブランド的な名前も許容されるという反論が入り混じっています。
例えば、http-request-validatorのような説明的な名前はわかりやすいものの、説明的な名前はすぐに重複し、他との区別が難しくなる問題をかかえています。命名は文化的・実用的なバランスの問題であり明確な結論は存在しないのかもしれません。
