■ 009_日本語について

2002/09/05 Nishimura Hiromi

 mc (matrix calculator) は日本で開発されたプログラム言語なので変数名や関数名に日本語の文字を使う事ができます。ただし実際のデータ処理では日本語の入力が煩雑なのであまり日本語を使う事はないと思います。

 日本語を使えるようにした理由は教育用です。実際つまらないプログラムなのですが下記プログラムを見て下さい。距離 76 Km を車で3時間半かかったとしましょう。速度は距離を時間で割った値なので下記のようなプログラムで速度が計算できます。

距離 = 76;
時間 = 3.5;
速度 = 距離 / 時間;
速度;
21.7143
.OK.

 たぶん、 mc (matrix calculator) を使ったことがない方でも上記プログラムを見るだけで何を計算しているのか判るのではないでしょうか。世にあるプログラミング言語の多くは英語圏で開発されたものです。たぶん英語圏の方はプログラムを上記のように母国語のように読んでいるのではないでしょうか。これは英語を母国語にしていない日本人には大きなハンディです。

 変数名や関数名に日本語が使えるようにしたのは、あまり深い理由があるわけではありません。単にプログラムを母国語のように読める。だたそれだけでプログラミングに興味を持っていただければと思っただけです。

● 使える日本語は?

 変数名には自由に日本語を使う事ができます。ただし関数名はすべて日本語が使える訳ではありません。実は内部処理はすべてアルファベット表記の関数名が使われています。プログラムの構文解析時に日本語関数名をアルファベット表記の関数名に変換しています。

 この変換テーブルは diary/mcPreferences/FuncAlias.rtf に書かれています。このファイルには日本語関数名とそれに対応する英語表記の関数名が書かれています。このファイルはユーザが自由に編集できます。

● 日本語文字列

 これまで日本語文字列はすべて ShiftJIS で統一して利用できたのですが MacOS X では UTF-8 が使われているようです。すべて UTF-8 にすれば問題ないと思ったのですがファイル名は UTF-8 なのにテキストファイルではいまだ ShiftJIS が使われているようです。そのため文字列を save 関数を使って保存すると UTF-8 で保存されるため TextEdit で開くと文字化けしてしまいます。自動的に UTF-8 ⇒ ShiftJIS 変換すれば良い話ですが、まだその方法が判らないため ver 1.0.0 ではできていません。よって文字列を使用する text2Pict 関数で日本語を PICT にすることができません。また文字列の長さを得る strlen 関数は実際の文字数ではなく UTF-8 文字データのバイト数が返ってきます。