silverlightがマルチプラットフォーム? | Top | 日本Javaユーザ会の結成総会

 

RailsをRailsたらしめるびー

Djangoの人(=Adrian)ではないから、実のところどういうかは分からないけど、Matz日記に反応。


Railsを、Rails足らしめているもの全体としてとらえるのであれば、きっと一番適しているのはRubyなんだろうと思う。

Railsのクローンっぽいものは他の言語の実装もたくさんある。でも、他の言語ではきっと素直に書けないはずなので、オリジンとしてのRailsっぽいものは想像もしなかったんじゃないかな。


PythonにもPylonsっていうRailsっぽいという評を得ているフレームワークがある。Pythonの人にはトレースバックが異常なフレームワークってことで認知がある奴ね。
ただ、評の通り本当にRailsっぽいんだとしたらPythonの世界ではあまり流行らないんじゃないかと思うんだ。
思い出してよ、「暗黙より例示」っていう言葉がPythonの哲学にあることを。可能な限り隠さない、可能な限り分かりやすく、っていう哲学。


2006年の夏、find_or_createっていうRailsにある便利機能を使おうとした時に気づいたんだ。
「あぁ、RubyだなぁRailsは」


find_or_createなんてどこにも書いてない。「あれ便利だから入れようと思うんだけど」っていうDjango本家のメーリングリストの議論で存在については知っていたから探せたんだけど。
思うに、Rubyの人は総じてドキュメント化というサギョウが苦手なんじゃないかと思う。もちろんステレオタイプだって言われるだろうけど、Perlの「ドキュメント書く暇があったら実装する」という哲学とは違う何かがあると思わない?
これこそがRailsはRubyならではじゃないかと思う所以なんだけどどう?
あ、脳内で3ステップぐらい飛んでるからきちんと補完してね。RubyもRailsもドキュメントが気に入らないからって理由じゃないからね。


ちなみに、何度も書くけど、DjangoはPythonのRailsではないよ。全くRailsっぽくないし、そもそも、実務で運用されている期間は(Djangoのアナウンスによれば)Railsより長いんだからね。オープンソースになったのはRailsより後だけど。

ただし、Rails世代っていうくくられ方をしても別に異議は発しない。


PS. 馬鹿正直にRailsクローンを作っている人たちへ。
同じ轍を踏んでるの見ると、馬鹿じゃないかと思う。
どうしてデータベースを中心に据えてモデルアトリビュートを動的生成してるの?DRYにしたいんじゃないの?馬鹿じゃないの?



以上.. newformsがDRYじゃない感じがして戦々恐々のDjango好きより

Taged with:,,

Entry Date:2007-04-22 11:04

Author:makoto

ping url:http://www.everes.net/2007/apr/22/rubyism-of-ruby-on-rails/tbping/

subscribe:feed with LDR

Add Comment

コメント追加









follow everes at http://twitter.com
What's Next
Tags
Blog Archive
Project
  • » WorkStyle

    作り直し中なので、見ないでっ!

  • » pymagnolia

    ma.gnolia.comのAPIを操作するPythonライブラリ。

  • » django-ja

    Djangoと日本の仲間たち。
    Djangoに関するニュースや、「仲間たち」のブログエントリをアグリゲートしています。

  • » rhaco

    PHPのWebフレームワーク。 PHPらしさを失わず直感的に記述できることを目指している。 Djangoと同じく、他のライブラリに依存しない。また、Djangoっぽいテンプレートの作り方も可能。

  • » Tracka

    スモールチーム、家族用の知共有ウェブアプリケーション。
    テキスト、画像、youtube動画、stage6動画等をトラック!

  • » BMO

    BMOは、本、CD、DVD、ゲームに印刷されているバーコードをiSightで読み取り、AmazonのAPIを利用して画像や情報をmacに保存します。iSightのついているmacで利用してください。Leopardと呼ばれているOSX 10.5以上が必要です。 保存した情報は、OSX Leopard(10.5)から搭載されたCover FlowとQuick Lookという仕組みを利用して表示します。