flat7th

+ スクリプト言語について徒然

created 2005-11-16 modified 2005-11-30 

ここで言うスクリプト言語とは:
人間が行うプログラミング行為と機械語との間において、比較的に人間に近い位置に、なんらかのレイヤを置くことを意図して誕生したプログラミング言語のことです。

要は「スクリプト」って、(要点だけを簡潔に)「記述」して済ませたいってことでしょ。
コンパイラかインタプリタかは二の次。

script:LINDAで通信しながらゲームを書くスクリプト言語
script:微妙なもの
script:最近の感想

LINDAで通信しながらゲームを書くスクリプト言語

先日、SNMPか何かの調査をしていたらIPAの未踏プロジェクトページにたどり着き、研究の名前一覧を見ていたら興味深いものを発見。

西森大先生が、平成15年の未踏プロジェクト予算でゲームを記述するスクリプト言語を開発していたとのこと。
情報処理学会の電子図書館ページからダウンロードしたPDFには顔写真も載っているから間違いない。

ググる

おお、こんな面白いことをやっていたのですな。

ゲーム開発という究極に速度を求められるターゲットでLINDAですか。
LINDAって重そう、と理由もなく想像していたのですが、ゲームで使えるくらいなら
今の現場(やや組み込み系)でも使えるのかも。
試してみる必要アリですな。

論文は、新しいプログラミング言語を習得しつつ成果物を残すという行為のフィールドワーク研究のような面もあり、面白い。


西森大先生ほか皆さんには、私が駆け出しだったころ大変ご迷惑をおかけしました。
当時の自分はあらゆる面で稚拙でした。
あの開発現場では相当非難されていたのだろうなぁというのは想像つきます。
ただ、インターネット上で中傷されたことはどうしても忘れられません。

それにしてもIPAの未踏プロジェクトの予算って1プロジェクトあたりで考えたらずいぶん安いなぁ。
中級プログラマを一年間一人確保する程度しかない。

とまれ、怠けてないで自分にできることをコツコツやろうと思った出来事でした。

微妙なもの

見かけがプログラミング言語風だが、微妙なものがある。

たとえば
  • XML でのデータ表現
  • dot(Graphiz)のグラフ出力言語
  • SQLなどのうちDMLでなくDDLの部分

一言でいうと何になるか?
「宣言的な(何かの定義を記述する)もの」とか。

最近の感想

コンパイラ言語とスクリプト言語の蜜月関係


方式メモ
Cでコマンドを作って、シェルスクリプトで利用するsh、bash、csh、tcsh、ksh、...
スクリプト言語のモジュールをCで記述DLLとして組み込む。PHPとかPythonとかRubyとか

スクリプト言語のモジュールライブラリを充実させるというのはPerlが先駆だろうけど、コンパイラ言語との親和性は新しい言語のほうがいいみたい。

逆に、Cのモジュールにスクリプトをかぶせるという考え方もある。

方式メモ
lex/yacc(flex/byson)やreadline(libedit)で小さなインタプリタを実装

私はバイナリデータを作成する言語を作ったことがあるが、そのきっかけはといえば、JISの文字コードの様々な変種とSJIS、EUCJPを変換するCの関数がすでにあり、それをPerlから呼ぶ方法がよくわからなかったからだった。


結局

「バイト単位の通信路」さえあればなんでもできるということなのかなぁ(謎


アプリをスクリプトで操作

アプリスクリプト
EmacsEmacs-LISP
?Tcl
Microsoft OfficeVBA
?Scheme
?Python

私は昔はLinux好きでWindows嫌い派だったが、現在はそんなことはない。
上記例ではEmacs-LISPでプログラミングするよりVBAでプログラミングするほうが何倍も楽しい。