kiyokaのブログアーカイブ

Archive of old blog posts

デザインは引き算

最近、シンプルな物に惹かれるようになりました。 これから私が作るソフトウェアはその路線を変えないつもりです。 このような記事を見つけましたが、全く同感です。私がSchemeを好む理由もコアがシンプルだからです。

デザインは引き算 - emeitch ダイアリ プログラミング言語の世界でも、言語仕様を制定する方々を「言語デザイナー」 と呼ぶことがあります。このように、「言語をデザインする」という考え方を したとき、「デザインは引き算」という哲学を一番貫いているプログラミング 言語は、私が最も愛するプログラミング言語「Scheme」でしょう。 Schemeは「引き算的デザイン」で洗練された結果、自身が組込みで持っている 機能の数は、他の言語に比べ非常に少ないです。ですが、その洗練された機能 一つ一つの力は絶大で、それらを組み合わせることにより、他の言語では実現 できないような「表現」を可能にします。このSchemeにも宿る「デザインは引 き算」の哲学が、私を魅了す大きな要因なのだと感じます。

『引き算的デザイン』と一言で言っても実践するのは結構難しいものです。 その難しさはどこから来るのでしょうか。せっかく作ったものを捨てるのがもったいないからでしょうか。 いいえ、そんな簡単な事なら誰でもできます。 何が残すべき本質かを知ることが難しいのです。 対象の問題をシンプルに解決したい場合、最低限何があればいいのか。 些末な物を削ぎ落して、本質だけを残す。 それをやるためには、良い問題設定が必要になります。 良い問題設定というのがまた難しい。 時には引き算した結果、作らないという結論に至ることも多々あります。それも『引き算的デザイン』の一環として考えても良いでしょう。 梅田さんも関連したエントリー「やめること」を先に考えようを書いていらっしゃいます。