主語問題について
言霊はJavaを日本語化する形で文法を決定して実装していました。ところがクラスを文法に導入する際に、「主語問題」というものが生じます。
例えばJavaにおいて以下のようなプログラムがあったとします。
array.clear(); array.add(data); array.remove(data);
これをそのまま日本語にすると、こんな感じになりますよね。
配列をクリアする。 配列にデータを追加する。 配列からデータを削除する。
日本語をJavaに変換する際には、必ずメッセージの送信先オブジェクトを特定する必要があります。
このオブジェクトを特定する手段が無いのが問題なのです。
そりゃあ読めば「配列」がオブジェクトらしいことは想像できるのですが、何故それを特定できるのか。その根拠は何か。
「配列」に付属する助詞は3例とも異なりますので、助詞から特定することは出来ません。
また言霊は日本語を模した言語なので、「名詞+助詞」の組の順序は自由に記述できます。「配列にデータを追加する」と「データを配列に追加する」は全く同じ意味です。ですから順序を根拠にオブジェクトを特定することも出来ません。
一時はこのオブジェクトを「主語」と呼んでいました。Javaの場合はメソッドを実行する際には必ず主語がありますからね。むしろ「主体」の方が的確かも。
だからこれを「主語問題」と呼んでいます。これを明快に解決するには…Javaの日本語化という道を捨て、「日本語でプログラムを記述するとはどういうことなのか」を追求する必要が出てくるわけですね。