新語

2006年11月2日

新語

1: 新しい単語、用法、または表現。
2: 精神病患者が作り出した意味のない言葉。

-- Merriam-Webster

私の著作を多く読まれると、私が強迫的な造語者であることにすぐに気付かれるでしょう。私は常に新しい単語やフレーズを生み出そうとしており、実際、このWikiはこの習慣に基づいて設計されています。

私がそうするのは、私が書こうとするものの多くが、語彙が限られており、しばしば混乱を招くソフトウェア設計という難しい主題であるためです。あまり知られていない、または誤解されている概念を見つけるたびに、それについて話しやすくするために、名前を付けようとします。ドメイン固有の専門用語を開発することは、排他的であると批判されることがよくありますが、Kathy Sierraが指摘しているように、そのような専門用語はコミュニケーションをはるかに効率的で興味深いものにします。

造語は、より広範なパターン運動と私が共有しているものです。パターンコミュニティは、当初から、記述するパターンの最適な命名方法を理解することに多くのエネルギーを注いできました。

パターンに名前を付けることで、設計語彙がすぐに増加します。より高いレベルの抽象化で設計できるようになります。パターンに関する語彙があれば、同僚、ドキュメント、そして自分自身でそれらについて話すことができます。設計について考え、それらとそのトレードオフを他の人に伝えることが容易になります。優れた名前を見つけることは、私たちのカタログを開発する上で最も困難な部分の1つでした。

-- Gang of Four

もちろん、この種の語彙の作成には欠点もあります。それは専門用語となり、知っている人にはコミュニケーションを助ける一方で、知らない人を排除することにもなります。全体として、利点が勝ると感じています。

より永続的なパターンであれ、これらのWikiエントリであれ、良い単語を選ぶことは難しい作業です。私は、言葉がどのように機能するかを考え、魅力的な名前で、既存の用語と混同されず、比較的短い(そして理想的にはキャッチーな)ものを探すのに多くの時間を費やします。

全く新しい用語を作成することが注目を集めますが、それは実際には私がしたくないことです。使用可能な既存の用語があれば、それを優先します。結局のところ、それはより少ない労力です。それから、その一般的な用法と照らし合わせて、それが私が話している概念にどれだけ適合するかを確認します。時にはこれにより変更が行われます。例えば、依存性注入で何が起こっているかを説明するためにInversionOfControlを使用することに対する私の抵抗です。私は常にこれを難しい決定だと感じています。既存の用語が適合すればそれを使用する方がはるかに優れていますが、既存の用語は意味が曖昧なことが多く、より明確な何かが必要です。

私は、あまりにも早く造語しすぎていると非難されてきました。それはおそらく、よく知られている曖昧な言葉よりも、なじみがなく正確な用語を好むことを反映しています。

もちろん、これの限界は、私自身、あるいはパターンの作成者のグループが、全員の語彙を標準化する方法がないことです。私が使用する用語は、最も普及することはありません。それは理解できますが、それでも私は止めません。一貫性のない語彙では明確に書くことができないと感じるためです。たとえその語彙が私にとってだけ一貫性のあるものであってもです。だから私の根本的な理由は利己的です。私は一貫性のある語彙を開発する必要があるからです。

このことが何らかの物質的な利益のために行われているという非難に時々遭遇するのは奇妙に感じます。私は、用語を作り出して金儲けをした人を一人も見たことがありません。そうでなければ、Rebecca、Josh、そして私はPOJOで島で遊んでいただろうし、Jesse James GarrettはAjaxで島を買っていたでしょう。実際、その用語を使用するほとんどの人は、POJOを思いついた人が誰なのかを知らないでしょうし、それは私にとって全く問題ありません。

私はソフトウェアライターになる前から造語をたくさんしていましたが、以前の活動は全く異なっていましたし、多くの人が行っていることです。これは、ドメインモデリングを使用してユビキタス言語を構築し、開発者と顧客間のコミュニケーションを作成することです。それは、はるかに狭い聴衆を持つ異なる活動です。多くのプロジェクトが行っており、そうでないプロジェクトでさえ、非専門家と共有されていない場合でも、ドメインを記述する言語をコードに作成しています。

これらの違いにもかかわらず、どちらの活動も、あるドメインについて簡潔かつ正確に話すという願望を共有しています。いずれの場合も、これらの言葉がドメインの理解に非常に役立つ便利なツールだと感じるため、造語を行います。私を助けるツールは他の人にとっても役立つと信じているため、公開して使用しています。