Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Matzにっき(2006-01-11)
[go: Go Back, main page]

«前の日記(2006-01-10) 最新 次の日記(2006-01-12)» 編集

Matzにっき

<< 2006/01/ 1 1. 元旦
2 1. 出産
2. 帰省
3. 到着
3 1. デジタル体重計のユーザインタフェース
4 1. Classbox
2. Classboxの実装
5 1. 帰宅
2. PCレスライフ
6 1. PC修理
7 1. 雪かき
2. プログラミング言語SRU
8 1. 断食安息日
2. あーめん
3. 筋肉痛・体調不良
9 1. 米子
10 1. オープンソースマガジン3月号
11 1. 日経Linux 3月号
12 1. Charming Ruby Compiler
2. The Open Nature Of Ruby
13 1. ニート娘に悩む親
2. Python Status Update
3. 泥縄
14 1. 宣教師のお手伝い
2. Simplified/Traditional
3. ボーリング
15 1. 代打不発
2. セミナリー補習
16 1. 不達
2. 誕生日
17 1. 萌え指向プログラミング言語「萌香」
2. Classbox/R
18 1. CommonLispのpackage
19 1. これは便利! と思える elisp プログラムを教えてください
20 1. 「オブジェクト指向神話」神話
21 1. 片付けの日
2. 食べ放題は危険
22 1. 松江
2. お客さま
23 24 1. ruby_block撲滅運動
2. 『よくわかる現代魔法
25 1. 遅延Enumerable
26 1. Thinkpad復活
2. Rastに挑戦?
3. オープンソースの全文検索エンジンの速度性能比較」のご紹介
27 1. 「Javaの生みの親」に聞く「AJAX、LAMP、Ruby on Rails」
2. 「オブジェクト指向」改め「抽象データ指向」
28 1. LINQ
2. シガーソングライター(もどき)
29 1. 慈愛
2. 天国
30 31 1. サブジェクト指向
>>
Dr.Web 予測するアンチウイルス  Hiki も使った新サイト、10/18 リニューアルオープン!

2006-01-11 [長年日記]

_ [原稿] 日経Linux 3月号

Code Generation in Action (In Action Series)(Jack Herrington)

ネタは「コードジェネレーション」。参考文献は 『Code Generation in Action』 by Jack Herrington。

しかし、コードジェネレーションっていうテクニックは 対象言語がRubyのような動的言語であればそれほど必要になることはない。 メタプログラミング機能を使った方が便利だし手軽だからだ。

Railsの用にコードジェネレーションとメタプログラミングの両方を活用するケースもあるけど。

で、今回はJavaのためのコードジェネレーションをRubyで行うという 話の流れにしようと思っているのだが、 いかんせん私のJavaの経験がほとんどないので 悩ましい。対象言語をCとかにしたいところではあるのだが、 Cにはマクロがあるのでけっこうカバーできちゃうしね。

苦手なテーマを選ぶと書くのに苦労する。 先週末は具合が悪かったから、なかなか進まなかったし。

本日のツッコミ(全2件) [ツッコミを入れる]
_ kwatch (2006-01-16 16:33)

私はJavaのテストプログラムを書くのにRubyを使っています。YAMLでテストデータを書き、eRubyのテンプレートを通すとJUnitのテストプログラムができる寸法です。Javaはヒアドキュメントがないので、こうでもしないとやってられません。あとは、1.5より前のJavaにはenumがなかったので、enumに相当するコードを生成するスクリプトをRubyで作ってました。

_ まつもと (2006-01-16 16:48)

kwatchさんのような人が増えるのが、今回の記事の目的です。
役に立つとよいのですが。

実物が出まわるのは1ヶ月後です。

お名前:
E-mail:
コメント:
本日のリンク元
検索

RSS feed meter for http://www.rubyist.net/~matz/ Creative Commons License This work is licensed under a Creative Commons License.