ひがやすを技術ブログ

電通国際情報サービスのプログラマ

Railsの成功は枯れた技術を改良したところにあると思う

最近、Strutsソースコードを読みつつ、Super Agile Strutsを作っているわけですが、そこで気づいたことがあります。
Strutsは、確かに古さが目立つところがあるけど、結構わかりやすくて悪くないということ。
Railsは、実は、StrutsHibernateのいいところを学びつつ、だめなところを改良したということ。
Railsを画期的だという人もいるかもしれませんが、基礎となっている技術は、オーソドックスなMVCです。
ActiveRecordが画期的だという人がいるかもしれないけど、HibernateのDataMapperより、Active RecordパターンのほうがRuby的に向いているんでそうしたんじゃないかな。
万人に理解されやすいアーキテクチャを踏襲しつつ、みんなが不満に思っている設定ファイルの肥大化をCoCで解決したというのがRailsの味噌なんだと思う。
過去の技術からまったくはなれてよいのか悪いのか良くわからない技術は、普通の人は判断できない。判断できる範囲の技術で、より改良された技術というのが、受け入れられやすい技術なんだと思う。
CoCが画期的だという人がいるかもしれませんが、CoCはS2Daoのほうが先にやっているし、Javaの世界では、Configuration by Exceptionという概念が前からある。このConfiguration by ExceptionはRailsより前からあるよといっていたのは、実はGavinです。
とはいえ、わかりやすいネーミングをつけたことは、偉大なことだと思うし、流行させたのもすごいと思う。
結局思ったのは、画期的な技術より、多くの人が理解できる技術をわかりやすく改良した技術が受けるということ。
そもそも、Strutsがはやったのも、HTTP、Servletの薄いラッパーで理解しやすい性だと思う。
実装がすすけて見えるけど、実装はそこそこめんどくさいようなところをフレームワーク化するのがいいのかもしれないですね。