<< Prev Page Next Page >>

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


RubyをPHPと比較して讃えたい

Rubyist九州でRubyを他の言語と比較して「この言語イイデスヨ」と持ち上げたいという話題になった。
いや、他の言語じゃなくてRubyを使ってくださいねというつもりではなく、せっかく使うんだからこの言語自体を気に入ってくださいよということで。
対象者はRuby on Rails初心者。それを言語そのものに対してそれほどこだわりを持たない人々と言い換えることにする。というか、すでにこだわりを持ってる人になんか言ってもしゃーないし。

この層の大半にアプローチするのに、たとえば「ラムダが」とか「Webアプリ作る以外能がない」とか「言語を作るのが」とか(404 blog not found様)言っても、まあ通じないことは目に見えている。

で、perlと比較して…とか、Javaと比較して…とかは、すぐに思いついたんだけど(不毛な言語論争を避けるためここでは書かない)、PHPと比較して…がうまく言葉に出来なくて困った。

インストールが…

Webアプリを作る言語としてRubyとPHPを比較したとき、まずインストールの楽さ加減では明らかにPHPに分がある。バージョンにとくにこだわらなければlinuxならapt-get install apache-phpでおしまい。いちおうPHP5をお奨めしたいところなので、その場合はapa-get install php5かな?よく知らない。開発環境にWindowsを使う場合なら適当に解凍してhttpd.confに数行書くだけ。

速度・スケーラビリティが…

普通にインストールすればapacheモジュールとして動作するPHPと、普通はCGIとして動くRuby。そしてmod_rubyはまだ不完全。fastcgiもなんやかやとしなきゃいけなくてめんどくさい。
Webrickはスケーラビリティがちょっと不安。
いろんなグローバル関数が全てCで書かれたバイナリで提供されるPHPは、結局の所Webアプリ最速と言えるだろう。普通に置くだけでも速くて、さらにパフォーマンスを求められる場合はアクセラレータも提供されてる。それでもどーにもならんほどパフォーマンスを求められたらCで書くしかないので、まあお金と時間かけて頑張るということで。

RDBアクセスが…

普通にインストールすればmysqlにアクセスできるPHP。


仕事で2ヶ月とか3ヶ月でWebアプリをじゃかすか作らなきゃいけない人にとっては結構大きなこれらPHPのメリットに対して、Rubyが提供するメリットがどうも弱いのじゃないかと思える。いや、僕にとってはこれらのメリットはすごく大きいんだけど!それほど言語に気持ちよさとか求めない人にとってはって意味で!

ブロック便利だよブロック

ブロックを引数にとるメソッドを自由に作れるおかげで、便利で楽ちんなAPIがたくさんある。
RDBでSELECTして、1万行ヒットした結果を一行ずつ読み出しながら処理を行う(メール送ったりとか)、なんてことを
res = mysql.query("SELECT * FROM table") res.each{|record| # ヒットしたレコードに関する処理 }
って書けばできちゃう。うれしい。PHPではこうはいかない。(PEAR::DBのgetAll()は配列にしちゃうからヒット件数が多いときはダメ)こないだのXML出力するのもRubyのブロック使わないとこんなに短くはならない。

ハッシュと配列が楽だよ

h = { "foo" => "FOO", "bar" => "BAR" }
とか書けばハッシュになる。PHPだと"array"とか書くのが気持ちよくない。
["foo", "bar", "baz"].each{|e| puts e}
なんてコードで同じような作業の繰り返しができる。うれしい。

既存のオブジェクトの定義をいじれる

良いんだか悪いんだか。一つ言えるのは、今回の対象者は、そんなことしようとも思わないから、できなくても全然困らないってこと。

Railsがある

Railsはモテる。らしい。結局これなのか。


この記事に対するコメント

面白かったです

【2011/01/20 13:20】URL | santa #-[ 編集]

どうもです

【2011/01/21 13:33】URL | とっくり #-[ 編集]

いいですね、こういう比較も。

【2012/07/09 00:18】URL | HeavenHades #XV9pEeVQ[ 編集]

この記事に対するコメントの投稿



管理者にだけ表示を許可する

この記事に対するトラックバック

トラックバックURL
http://tockri.blog78.fc2.com/tb.php/59-d33783ab
この記事にトラックバックする(FC2ブログユーザー)

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。