Jasp開発チーム
中野 純司
(統計数理研究所)
山本 由和
(徳島文理大学)
小林 郁典
(徳島文理大学)
藤原 丈史
(東京情報大学)
本多 啓介
(オープンテクノロジーズ)
ご意見・お問い合わせ

| TOP |
Jasp言語
設計方針
命令言語は統計パッケージにとって, 非常に重要です.統計パッケージの中で比較的最近になって成功を納 めたものとして S が上げられますが,そこでは関数を中心とする言語が使われました. このタイプの言語は それまでの多くのパッケージで用いられていた Fortran を基本とするような文からなる言語に較べて,柔軟であることが認められています. その理由は,関数を中心とする言語は数学でなじみの深い関数の考え方を用いているので, 解釈が単純であり,初心者にとってもわかりやすいこと. またそのため,インタプリタとコンパイラが作りやすいことなどが上げら れます.ただ,いくつかの関数を意味によってまとめるのは得意ではな いですし,変更は関数そのもののコードに直接加えるしかありません. ところで,最近のプログラミングの世界ではオブジェクト指向の有効性が明ら かになっています.この考え方は,実社会でなじみの深いオブジェクトの考え方 をプログラムに用いたもので, いくつかの機能や情報をまとめるのは得意であり,プログラムの 変更は,継承を用いることにより一部だけを書き換えればよいなどの利点 があります.ただ,試行錯誤的にプログラムを書く場合には, 不必要に複雑に見えることもあります.

したがって現時点では関数を中心としてオブジェクト指向の考え方を加えることが 望ましいと考えられます.この方針は S でも利用されています.また, 対話的な使用のためにはインタプリタであることが必要で,バッチ 的に処理する場合はコンパイラであることが望ましいことも明らかです.したがって, オブジェクト指向言語である Java で関数を中心としたインタプリタ言語を書くという ことが考えられます.われわれはそのためにすでに提案されているシステム Pnuts を利用することにします.

Pnuts は Java のための Java による関数 型スクリプト言語であす.もっとも重要な特徴は Java の class がその まま Pnuts の中で利用できることでしょう.また,その文法はわかりやす さを中心に考えられており,初心者にも使いやすいものです.言語拡張のた めの機構がそなえられており,簡単なオブジェクト指向の機能を付加する ような例題もあります.さらに,最近では Pnuts で書かれたプログラムを Java のコードに変換する機能も加えられました.したがって,われわれの目 的のためにぴったりの言語であるといえます. Pnuts では Java のクラスをそのまま利用できるので、統計 解析用の部品としての Java class を付け加えることは非常に簡単です. われわれは線形計算のための Jampack, 2D graphics のための ptplot な どを利用させてもらうことにしました.また、分布関数の計算などの基本的な ものも、信頼性があるフリーなものが見つかればできるだけ利用させても らうことにしました.さらに、これまでの Fortran で書かれたプログラムは 最小限の書き直しを行ない、JNI (Java Native Interface) を通して呼び 出すような Java のクラスを作ることにより、システムに統合することに しました.ただ、単に部品を集めただけでは使いやすい統計システムにはなりません. 特に行列計算に関しては統計学においては多用されるので、言語の 基本機能に組み込まなければ不便です.そこで Pnuts のインタプリタ に最小限の手を加えてそれらの機能を実現することにしました.
Copyright c 2000 by Project Jasp All Rights Reserved