Personal tools
You are here: Home ブログ 井上 Rhinoブーム到来?
« July 2010 »
Su Mo Tu We Th Fr Sa
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Recent comments
Re:blogのコメントスパムが多すぎる inoue 2010-07-22
Re:マルチスケジューラv5.1.4をリリース - inspired by salesforceのchatter - inoue 2010-06-09
Re:マルチスケジューラv5.1.4をリリース - inspired by salesforceのchatter - hamabe 2010-06-08
Re:雑誌連載「Emacsのトラノマキ」の原稿(part4)公開 tune 2010-05-27
Re:雑誌連載「Emacsのトラノマキ」の原稿(part4)公開 tune 2010-05-27
Re:Emacs23.2が更に1ビット稼いだ秘密 inoue 2010-05-14
Re:Emacs23.2が更に1ビット稼いだ秘密 ef 2010-05-13
Re:TestLinkのUI考察 ef 2010-04-11
Re:「パーフェクトJava」輪講向け講演資料 kawagoe 2010-04-05
Re:grepに数多くのバグ? matsuyama 2010-03-25
Re:バベル Anonymous User 2010-03-24
Re:「パーフェクトJava」輪講向け講演資料 Asaga 2010-03-18
Categories
カテゴリなし
 
Document Actions

Rhinoブーム到来?

来月からアリエルの育成プログラムが始まります。本当は、スキルはなくてもポテンシャルで採用する、ということで始めましたが、結局、それなりにスキルのある人を採用してしまいました。まあ、いいんですが。

色々とカリキュラムを考えました。なんでもいいので動くモノを作る、という課題は最初から考えています。もうひとつ、なんでもいいので、オープンソースのソースコードを読む課題がいいだろうと思っています。できれば読んで理解するだけではなく、本家にパッチを送るぐらいにまでなって欲しいと考えています。

現実的なプログラマの実務を考えると、ゼロから動くモノを作り上げる力も重要ですが、他人の書いた(できれば巨大な)ソースコードを読んで理解して改造できる力も同じぐらいに重要だからです。

読める規模で、読むに値して、かつ読むのも楽しいオープンソースを考えていました。言語はJavaに決めていました。色々と考えましたが、突然、Rhinoにしようと決めました。なぜなら、Rhinoブーム到来だからです。

あまりにソースが汚いと困るので自分でも目を通してみました。規模的には、ファイル数100弱、約5万行です(サブディレクトリを除く)。最初に読むにはすこし規模が大きいのが難点です。でも、言語処理系とそうでない部分を見分けることができれば、半分ぐらいは読むのを後回しにできます。ざっと見ると、どこから読むべきかだいたい分かるのですが、そこは敢えて指針を示さないつもりです。まずはとにかく読みます。5万行全てを頭の中に展開するぐらいの勢いで読むのです。デバッグでひたすら追います。最初から最後まで追うぐらいの気持ちでステップ実行し続けます。ある日、突然、コードの全体像が見えます。この瞬間が大事なので、敢えて読み方は示しません。もっとも、言語処理系は背景となる理論が(比較的)確立しているので、コード読みと並行して理論の勉強をした方が効率的です。

動くモノを作る課題では、Spring Frameworkを使うつもりです。複数の言語に最初に手を出しても仕方ないので、課題はJavaに統一します。

11月の目標

  • Rhinoのソースコードの構造を理解する
  • Spring Frameworkを使った簡単なWebアプリを作る

12月の目標

  • Rhinoのオープンバグを修正して本家にパッチを送る
  • 作ったWebアプリにRhinoを組み込んで(サーバサイドを)拡張可能にする

1月の目標

  • Rhinoのデバッガを理解する
  • Rhinoのデバッガでなにかする

目標は状況を見て是正します。

The URL to Trackback this entry is:
http://dev.ariel-networks.com/Members/inoue/rhino-boom/tbping
Add comment

You can add a comment by filling out the form below. Plain text formatting.

(Required)
(Required)
(Required)
This helps us prevent automated spamming.
Captcha Image


Copyright(C) 2001 - 2006 Ariel Networks, Inc. All rights reserved.