民芸的プログラミング 〜ソフトウェア開発日記〜

アクセスカウンタ

zoom RSS Java と Lisp と

<<   作成日時 : 2008/12/22 09:38   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

最近、気になるプログラミング言語がこの二つ。
なぜ気になるようになったかというとこの本を読んだから。

スクリプトエンジン プログラミング
ソフトバンククリエイティブ
坂本 千尋


Amazonアソシエイト by ウェブリブログ



本の内容としては、Basic 風のオリジナル言語や、C 風のオリジナル言語を作ることで、スクリプトエンジンの作り方を学んでいきましょうといったもの。コード例も豊富に掲載されており、電車内で本を読むことの多い私にはこれは助かった。サンプルコードは Web からダウンロードしてくださいと言われても、電車の中ではどうしようもないから。

実際に本書で解説されているのは Basic 風、C 風ともに、中間コードを利用した仮想マシン型のインタプリタ言語。
オリジナルコードを書いた後に一旦中間コードにコンパイルしてから、スクリプトエンジンに実行させる形になる。
コンパイルせずに、そのままインタプリタ形式で実行する方法も解説してくれれば、私ら「ゲーム以外のプログラマ」が自作ソフトにマクロ機能を組み込む際の参考になってよかったのだが。
この本はどうも「ゲームプログラマ」を主な対象と考えているらしい。
ま、純粋なインタプリタも、この本を読んで理解できれば、作り方の感覚は分かるだろう。

それともう一つ、この本は、bison/flex のいい入門書にもなっている。この本を読まなければ、おそらく私は「bison/flex」の名前は知っていても使い方はさっぱり知らないということで終わっていただろう。

そして話は本題に帰り、この本を読んで、なぜ「Java と Lisp」に興味が出てくるのか。

Java については、この本を読むことで、仮想マシンに親しみを感じるようになったから。これまで、中間コード形式を採用しているというだけの理由で Java を好きになれなかっただけで、それ以外に不満は無かった。Java もこの本で解説されているのと同じような仮想マシン上で動いているのだし、Java 仮想マシンの仕様も公開されている。これまでブラックボックスと思っていた Java 実行環境が、少しだけ見えてきた。

Lisp については、プログラミング言語として、一つの形になっていると改めて認識させられたこと。
カッコでブロックを示し、カッコ内の最初のワードが命令を示すというシンプルなルールで構成されているので、スクリプト言語として「実装しやすい」だろうなと思った。
それていて、これまでの Lisp の実績が示すとおり、パワフルな言語でもある。これは言語がパワフルなのか、Lisper がパワフルなのか、私のレベルでは判別が付かないのだが、とにかく、Lisp は色々なことができる万能言語だ。
これが、シンプルな実装で実現できるのだから、元々の考え方がやはり優れているのだろう。そろそろカッコアレルギーを克服しなければ。

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
Java と Lisp と 民芸的プログラミング 〜ソフトウェア開発日記〜/BIGLOBEウェブリブログ
文字サイズ:       閉じる