はじめに
この記事は「プリンシプルオブプログラミング 3年目までに身につけたい一生役立つ101の原理原則」を読んだ際に記した議事録です。
著作権の関係により、詳細には書きません。詳しい詳細を知りたい方はぜひ本書を読んでみてください。
プリンシプルオブプログラミングをPOPと訳します。
What : ツールの多様性は善
他の人に使用してもらうツールを設計する際、達成したいことの手段を複数用意するようにします。(プログラミング言語やDSL、API)
Why : 対象が多様なら手段も多様だから
自然言語は複雑だからです。それは現実を扱っているからです。自然言語を使い、現実を単純化できるのは自然言語が複雑であるおかげです。同様にソフトウェアも複雑です。多様性がなく、やり方が少ない方がシンプルになる印象がありますが、複雑な対象をシンプルにするためにはツール側がある程度の複雑性、多様性を持つべきだからです。
How : 選択肢をたくさん用意しよう
ツールを設計する際は、やり方の選択肢をできるだけ多く用意します。ツールを使う側にとって選択肢が増えることは「習熟に時間がかかる」というデメリットがありますが慣れてくればシンプルで美しい使い方ができるようになります。Adobe製品などが良い例だと思います。複数の選択肢の中から問題解決の最適解を選ぶことができるようになります。
ツールはその性質上、「作る時間よりも使う時間の方が長くなる」傾向があります。ですのでよりよいツールを作るための投資はレバレッジがかかり、計り知れないリターンをもたらしてくれます。
終わりに
この記事ではプリンシプルオブプログラミング 3年目までに身につけたい一生役立つ101の原理原則の議事録を自分用に記しています。
この記事ではカバーしきれていない部分も多いので、是非本書を手にとって読んでみてください。
次回、「【POP87】曳光弾」です。ぜひ、次の記事も読んでみてください。