masaki-fの日記: るびぃにっき 1
今日は一日中がっつりプログラミングして遊べるはずだったのに下らない割り込みが掛かりまくってイマイチ時間取れなくて残念無念。まぁ夜はこれからですけどね。
でも計3時間位は触れたかも。ひたすらruby ruby ruby。実はrubyでプロダクトレベルを目指してコーディングするのは初めてでやっぱりC, C++に比べるとまだ「手足のように使いこなしてコーディング」感が薄いです(もうJavaからはとおざかりまくり)。PHPはいくら精通してもその感覚を得られないという(w $this->fooとかしてる時点でムリ。あっはっは。
最初は思わず
File file = new File()
とか変数に$つけちゃったり、セミコロン書いちゃったりしてましたがそれももうなくなってrubyの楽しさがかなり分かってきました。極端な言い方をするなら、頭の中にあるオブジェクトがシームレスにコードに落ちていく感じとでも言いましょうか(あくまで極端に言えば)。この感じがC++やJavaで書いてるときよりも強い気がします。気のせいだったりして。
まぁそういうわけでまだ駆け出しなのでリファレンスみたりなんだかんだとなかなかコーディングに集中できないわけですが。ってか慣れてない言語だと特にデバッグが遅いんですよねぇ。
あ、そうだ。ruby-lexとruby-yaccはステで。作者の方にはもうしわけないですが、正直使い物になりません。というわけでrpg同梱のrlex+raccで昨日の続きをさくっと。C or C++なら1時間で終わる自信があったんですがやっぱり3時間以上かかりました。そのうち半分以上がデバッグっていうのが泣けまふ。
で、一通りできたのですが、ちっと遅い。だーかーら端からyaccなんて使わなけりゃいいじゃんっていう声が聞こえてきそうですが、すいみません。でもこれが楽しいんですって(ぉ
つか遅いのはスキャナ部分なんですよねー。とりあえず現状でeRubyに同じファイルかませた場合より6倍位遅いです。うーん、さすがにこれは辛い(w まぁ向こうはバイナリだしなぁ。で、スキャナが遅いのは分かりきっているので字句解析→構文解析→構文木までを実行しておいて構文木のオブジェクトをMarshal.dumpでバシッと保存して、ダンプされたオブジェクトをロードして実行するだけのスクリプトを実行して見ると...おぉー、当社比50%高速化です。もうちょっと早くなると思ったんだけど。まぁこれくらいなら合格ラインかな。っていうか仕様を絞りに絞ってスクラッチで書けばもう倍は速くなるな。微妙~、でもやっぱりネストしたくなる気がするのでさし当たってチューニングで逃げ。
あれ、これって反YAGNIかも?
さて、風呂入って厳しめの方のテストとチューニングしよっと。あ、映画もみたいな。rubyな夜の始まり~、な日記、完。
id=100000おめでとうございます。 (スコア:1)
すいません、内容にコメントできなくて。