Mathematica
Mathematica 上でオブジェクト指向プログラミング ObjMath
学生のときに書いた、Mathematica を拡張するプログラムです。
拡張プログラムも Mathematica です。自己拡張ってやつです。
オブジェクト メッセージ メッセージ …
という構文で Mathematica プログラムを組めるようになります。
ダウンロード
objmath.tar.gz
文法説明をここに置いておきます。
ソースはこんな感じです。
私は、オブジェクト指向プログラミング言語の定義は
- オブジェクトの型を定義できること
- オブジェクトの動きを定義できること
- オブジェクトを生成する文を記述できること
- オブジェクトに計算をさせる文を記述できること
であると解釈しています。ObjMath は一応上記をクリアします。
が…こんな言語、実際には誰も使わないでしょう。(汗
私が自分でオブジェクト指向言語をつくってみて、
オブジェクト指向の勉強をしたということで。そういうことでございます。
あと、Mathematica は Lisp 以上に自由度の高いリスト処理言語として使えるということを、
この制作を通して学びました。
Mathematica は、一般には数学を扱うツールとして認識されているとおもいます。
確かにその通りなのですが、数学を記述できるプログラミング言語であるがゆえに、
プログラムを作成する、という行為すら記述できてしまうのです。
(ObjMath は、とてもわずかな Mathematica のコードで書かれています。)
Mathematica という言語は、コンピュータサイエンスの歴史上、とても興味深いものだと思います。
この言語の認知度が低いのは、とても残念です。
値段が災いしているのでしょうか…(あるショップでは「時価」と書かれていました)。
top