RailsでRuby入門

ちょっと、とある事情でRuby on Railsでの開発に参加することになりました。なるべく早いところ終わらせたいのですが、それはさておき。
Railsには、ActionControllerというクラスがあって、これを継承してControllerを作ります。ところが、このActionControllerの仕様をきちんと知らないと、えらい目にあいます。
http://rails.office.drecom.jp/ishikawa/archive/10
Railsでは、あるhogeというページを呼び出すと、hogeというメソッドが呼ばれるようになっています。ここでついうっかりActionControllerのメソッドを間違えてOverrideしてしまう可能性があって、しかも警告も無いので下手すると死ぬ、と。いきなり最初でこういうケースにぶち当たると、悲しくなります。この点はSledgeでは確かdispatch_hogeというメソッドを呼ばせることで解決していたような気がします。でも、dispatchのメソッドの中でさらに呼ばれるメソッドなんかは当然Overrideされうるので本質的な解決策ではないのですが。
問題は二つあって、一つは言語自体の問題。つまり、言語自体が「禁止事項を少なくする」すなわちTIMTOWTDIの方針を貫こうとしているから。DuckTypingの弊害ですな。それともう一つは、Railsがどうやって作られているかということを、考えさせないという点。
言語の問題はさておき、二点目は少し分かりにくいかもしれないのですが、つまり簡単簡単ということを言うのは、確かにその通りだと思うのですが、初心者でも簡単というわけではないんだよ、と。はまりどころが実はいくつか潜んでいて、それは慣れて来ると当然見えるのですが、最初は見えないのです。でも開発者には見えているのです。
製品開発の場合は、通常開発者とエンドユーザーというかなりかけ離れたところなので、その意識のズレを感じやすいのですが、こういう開発者のための開発だと、あまり意識できないのかもしれないな、と。