« エンドレスバトンにさよならを | メイン | 妄想バトンはきっと変態バトンよりまともだ… »

2006年3月13日

久しぶりの勉強会

というわけで、久しぶりにRuby勉強会@関西に行ってきました。たぶん2回ぐらい行ってなかったような。

会場は大阪、ドーンセンター。このドーンは「ド━(゜Д゜)━ ン !!!」ではなくてDawn、夜明けって意味です、まあ当り前ですね。つーかやっぱり大阪は遠いです。

今回のネタは俺の先輩にあたるohaiさん(俺をRubyの道に引き込んだ、もとい、導いてくれた方です)による、RubyRefacteringBrowser、通称RRBの紹介です。あ、ちなみにRuby/SDLもこの人の作ったものです。そうそう、Ruby/SDLはようやくVer1.0.0が出ました。ようやくベジエ曲線が書けるようになりました。まだ全然blogには書いていませんが、この前の学園祭、通称NFに出したゲーム「偽・キッチン大往生」にも早速使っています。つーかそろそろ公開しないとなーと思いつつ春休みが終わりそうな雰囲気です・・・。

閑話休題。まずはRRB、の前にそもそもリファクタリングとは何ぞやというお話。一言でいうとソースをきれいにする、つまり可読性を上げる、ただそれだけです。決して機能を増やすとかデバッグとかそういう事は行いません。正式には「外部から見たときの振る舞いを保ちつつ、理解や修正が簡単になるように、ソフトウェアの内部構造を変化させること」ですが、要はソースを読みやすくする、と思ってもらえれば大丈夫かと。

具体的にどういうことをするかというと、まずはグローバル変数やローカル変数、インスタンス変数、そしてクラス変数の名前変更です。つまり、やたらめったら書いている@hogeや@fooとしたインスタンス変数をきちんとした名前に変更してくれるわけです。っていうかそもそも変数名にhogeって付ける俺ってどうよ、みたいな。それ以外にもメソッド名の変更やコードの一部を切り取ってメソッドとして再定義する、という機能があります。これ以上の事はみなさんで調べてください。

ただ、問題点というか基本的に使えるプラットフォームがEmacs、Vim、つまりLinux上かあるいはxyzzyといったやや特殊なエディタ上ということです。一応FreeRideなんかもありますが、確かこれは日本語のコメントが書けなかった記憶があります。それと俺のキッチンのソースでいくつか変数名を変更しようとしたら全然変更できなかったという事がありました。まぁ文字コードがSJIS(Windows上で書いたソースは全部SJISになってしまう)とか1つのメソッドが複雑とか、そもそも8割動けばいいって言ってたし、まあいいか。

で、お次は西本さんのJRuby、つまりJava上でRubyのソースが動いたり逆にRubyでJavaのAPIが呼び出せるというもの。メリットは、そんだけ。デメリットはとにかく遅い。当日行ったデモ(モンテカルロ法によるπの計算)ではRubyなら高々1秒強の内容が、JRubyで呼び出すと20秒ぐらいかかるという・・・。まぁ世の中そんなもんです。

最後はかずひこさんによる初級者向けレッスン。今回のネタは「わかりやすいRubyのコードを書こう」ということで京女の学生さんが書いたRubyのソースを添削するというお話。最初は文字コード(SJISじゃなくてEUC-JPかUTF8を使おう)とか変数名はわかりやすいものに、あるいは適度に空白や改行、コメントを付けるという話だったのに気がついたらいかに速いソースを書くかと計算精度で盛り上がりました。そもそも、今回の元ネタとなったのが数式処理のプログラムだったというのも1つの大きな要因かと。

個人的にはそこまでRubyに精度を求めるのは酷だし、精度や速度を本気で要求するなら他の言語でソースを書くべきだろうと思います。Rubyの売りは「気軽に出来る」であって精度や速度を売りにしている言語ではないですから。

ちなみにRubyのコーディング規約というのでこんなのがあるそうです。
http://shugo.net/ruby-codeconv/codeconv.html

でもこれはあくまで雛型で各自で変えていきましょうとのこと。というかインデント幅はそれだけで宗教戦争ですから。あと、-r profileってのは知らなかったすなぁ。

さて、勉強会が終わったところで次は懇親会。場所はドーンセンター近くの「うまいもの処 くねんぼ」っていうお店。ここの最大の特徴はドリンクは特殊品を除き全種飲み放題、かつ料理が食べ放題・・・。つーか3000円であり得ないぐらいお腹いっぱいになりました。メニューは覚えているだけでも「刺身盛り合わせ」「サラダ」「とんぺい焼き@ジンギスカン鍋山盛り」「エビフライ&カキフライ」「からあげ」「ピザ」「鍋」「たこ焼き」「点心盛り合わせ」「きしめん(鍋用)」「シューアイス」「つけもの」などなど。しかもひっきりなしに出てくる(ここ、重要)。なんかお皿が空いたらすぐに新しいメニューがやってきてまさにわんこそば状態。なんというか記憶に残るお店になりました。で、その後は2次会@スタバ。10人ぐらいでまったりといろいろお話して終了。

久しぶりに参加しましたが、いつも通りのマニアックでした。おしまい。

投稿者 mak : 2006年3月13日 00:25

トラックバック

このエントリーのトラックバックURL:
http://sorakaze.net/cgi-bin/blog/mt-tb.cgi/80

コメント

コメントする