Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion doctrine/ja.html
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ <h3>プログラマーの幸せへの最適化</h3>
>>> exit
Use exit() or Ctrl-D (i.e. EOF) to exit
{% endhighlight %}
<p>Ruby は exit と quit の両方を受け入れ、プログラマが対話型コンソールを終了したいという明らかな欲求に対応しています。一方、Python は、(エラーメッセージを表示しているため) 何を意味しているのか明らかに分かっているにもかかわらず、要求されたことを適切に行う方法をプログラマに指示します。これは、小さいとはいえ、「驚き最小の原則」のかなり明確な例です。</p>
<p>Ruby は exit と quit の両方を受け入れ、プログラマが対話型コンソールを終了したいという明らかな欲求に対応しています。一方、Python は、エラーメッセージを表示しているため何を意味しているのか明らかに分かっているにもかかわらず、要求されたことを適切に行う方法をプログラマに指示します。これは、小さいとはいえ、「驚き最小の原則」のかなり明確な例です。</p>
<p>「驚き最小の原則」が Ruby コミュニティの支持を得られなくなった理由は、この原則が本質的に主観に基づいているからです。誰にとって驚きが最小なのでしょうか? まあ、Matzにとってですね。そして、彼と同じように驚いている人たちです。Ruby コミュニティが成長し、Matz とは異なることに驚く人の割合が増えていくと、この原則はメーリングリストでたびたび実りのない「自転車置き場の議論」の火種になりました。そこで、「XさんがYという挙動に驚いたかどうか」という出口のない議論をこれ以上増やさないために、この原則は背景に消えていったのです。</p>
<p>では、繰り返しになりますが、これがRailsと何の関係があるのでしょうか。まあ、Railsは「(Matzにとっての)驚き最小の原則」と似たような原理で設計されています。「(DHHにとっての)微笑み最大の原則」という原則は、まさにブリキに書いてある通りです。私をもっともっと広く笑顔にしてくれるようなものに細心の注意を払って設計されたAPIです。このように書き出すと、ほとんどコミカルなナルシストのように聞こえますし、私でさえ、その第一印象に反論するのは難しいと思います。</p>
<p>しかし、RubyやRailsのようなものを作るということは、少なくともその最初の段階では、深く自己愛的な献身の賜物なのです。どちらのプロジェクトも、一人のクリエイターの頭の中から生まれたものです。しかし、私がここでMatzに自分の動機を投影しているのかもしれないので、私が知っていることに絞って述べることにしましょう。私がRailsを作ったのは、私自身のためです。何よりも、私が笑顔になるためです。Railsの実用性の多くは、私がもっと楽しく生きるためにRailsに与えた能力に伴って生まれたものです。Web情報システムへの要件やリクエストをこなす日々の労苦を豊かにするためです。</p>
Expand Down