読み書きプログラミング

日常のプログラミングで気づいたことを綴っています

Maximaプログラミング

Smalltalkとは違うMaximaのプログラミングの面白さはなんだろうとつらつら考えたのですが、Maximaのシンボルは本当にシンボルで、シンボルを評価するかどうかは構文が決めるところかと思いました。 Smalltalkだと、シンボルは同一性の強い文字列であって、構文上の変数名、クラス名、メソッド名とはちゃんと壁があり、メタなプログラムをするときには「メタするぞ」というコードになります。ところが、Maximaだとメタかどうかの区別がない。回路解析の例だと、ファイルから読み込んだ部品番号がそのまま、束縛されていない変数になって方程式の中に入っていきます。
Maximaで、手続き型の書き方をしていても、LISPのフレーバが味わえたような気がしました。あと、数学をベースにしているので、私にとってはライブラリが理解しやすく、すぐ使いたくなるところも楽しさの要素として大きいです。(GUIフレームワークを使ったプログラミングをする時は、ドキュメント見ていると、大体気持ち悪くなります。どうしたらよくなるかわからないのですが、なんとかしてほしい。)