SSブログ

「変数」や「代入」という言葉を使わない [wython]

 現在、連載している「日本語スクリプトの例」では、普通のプログラミング言語で言及される「変数」とか、「代入」とかいう言葉を使用しないようにしている。

 文系の初心者は、「変数」や「代入」という概念が、そもそも理解するのが困難である。もちろん、それが困難な人にプログラムを教える必要はない、という意見もあり得る。しかし、この最初の関門を通過すれば、それなりに簡単な処理をプログラムできるようになるのであるから、決して、この最初の関門がプログラムを学ぶ試金石になるとは言えないのである。

 あるいは、高校で情報基礎などの科目が取り入れられ、Perlなどのスクリプトを学ばせる必要が出てくるとするならば、やはり同様に「変数」や「代入」が躓きの石になり得るだろう。

 プログラムは変数と関数から成り立っている、というのは正しいだろうか。そうではなく、物と物に対する働きかけから成り立っていると考えた方が自然ではないか。それは現実の世界の有り様にも対応している。現実の世界には変数もなければ代入も存在しないだろう。

 物と働きとを、バーチャルなプログラムという世界においてモデル化したら、それはプロクラム世界に存在する様々なオブジェクトと、それに対して働きかける動詞とになるだろう。プロクラム上に存在するオブジェクトには、いくつかの種類がある。最も基本的には、文字列オブジェクトと数値オブジェクトである。

 物には名前がある。従って、文字列オブジェクトにも名前が必要であり、いくつもの文字列オブジェクトは名前で区別される。wythonでは、Pythonへの変換を容易にするために、そして、場合によってはPythonスクリプト自体を混在させることもできるように、名前は英数字にしている。よくよく考えてみたら、変数などという、変な日本語(数?)を使わなくてもすむではないか。

 よく、変数は箱で、その中に値を格納することを代入する、と言う、という説明がなされる。しかし、これも変な話だ。箱と値を区別する必要があるだろうか。たとえば、

  文字列オブジェクトIamを「私は日本人です。」という文字列にする。

という場合、それは「私は日本人です。」という文字列オブジェクトにIamという名前を付けているのである。箱とか値とか代入とか、という話ではない。

 問題は、「オブジェクト」や「文字列」や「数値」という表現を使うというところにあるのではない。それは自然なことである。困るのは、それに対応する動詞ないしは述語の方である。「設定する」とか「保存する」とか「初期化する」とか、あるいは単に「する」とかという表現を考えたが、まだ、完全に決定されているわけではない。今でも、これらの動詞部分は揺れている。これはもう少し時間を必要とするようだ。


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。