ASRの次のリリースに同梱予定のExerbフロントエンドの説明。いらないかな？

「オブジェクト指向プログラムのためのパターン言語の使用」を読み返している。

漠然と感じていたことをあらためて書き出してみる。

アプリケーションプログラマーとフレームワーク（端的にはRails）の関係について。

以下は、上記文章のもじりである。

もし、元のアレクザンダーの考えが正しく、そしてケントベックとウォードカニンガムが考えたようにアレクザンダーが建築に対して用いた考え方がプログラムに適用可能なような普遍性を持つのであれば、以下の言明は真となるはずだ。

Alexander氏は、家やオフィスというものは、実際にそこにいる人たちの手によって設計され、作られるべきだと提案している。氏がこう結論付けたのは、ある構造（a particular structure）への要求を一番よく知っているのは、彼ら自身だからだ。我々はこれに賛同し、フレームワークにも同じ論旨を展開した。つまり、プログラマーは、自分自身のフレームワークを書くべきなのである。この考えはアホみたいに聞こえるかもしれない。建築とプログラムとの規模や複雑性の違い、設計のプロになるためのトレーニング年数などを考えると、その通りだろう。しかし、Alexander氏が説得力のあるシナリオを提供している。そのシナリオは、「パターン言語」と呼ばれるコンセプトを中心に展開されている。

次にRailsについて考えてみる。Railsは優れたフレームワークとして受け入れられていると考えられる。

上記の2点から、Railsはプログラマーから見たWebアプリケーションフレームワークのパターン言語を設計に適用した結果とみなすことができる。

事実、Railsを利用していて感じることのひとつに、うまくできているな、という思いがある。何かをしたいときに、それがたいていにおいて用意されているか、少なくてもそれをたやすく実現するための仕組みが用意されている。だいたいにおいて。

誰か他のプログラマーにRailsの良い点を説明する必要が生じたと仮定しよう。

一番簡単なのは、実際に使ってもらうことだ。

しかし、別の方法論もあり得るのではないか？

パターン言語とは、設計過程で発生するあらゆる問題に対し、実際に機能するソリューションを提供することで、設計者を導くというものだ。パターン言語は、一連のちょっとした知識がある一定のスタイルで記述、整列されており、設計者がその時点で最も適した質問を尋ねる（または答える）ことができるようになっている。

（良く考え抜かれたFAQとはパターン言語のインスタンスか？）

パターン言語を、これから生まれるものを記述するために利用するのではなく、すでに存在するものを記述するために利用する。そのような利用方法が効果的かどうかを試す。

練習問題：Rubyはプログラマーを幸福にするプログラミング言語と利用者から考えられているようである。もし、そのように感じているのであれば、プログラマーの立場からプログラミング言語Rubyをパターン言語で記述せよ。