[1231] Re:VM間排他制御について
投稿者:山
2009/04/21 10:34:28
説明不足で申し訳ありません。
>だとすると、配列やオブジェクトのような参照型ではどうなるのでしょう。
配列やオブジェクトのような参照渡しはしないです。と言うかその点をまったく説明していませんでした。非同期の単一のデーターのみを対象にしていす。複数のデータを渡したい場合は、string変数に、","区切りでと考えていました。申し訳ありません。もちろん、パラメータを簡単に構築分解する関数を用意します。非同期渡しなので、送るほうが3回変数を書き換えても、受けは1回か2回しか読めない場合もあります。もし間違いなく渡したい場合は、スレッドセーフなキューシステムを、完全な同期をしたい場合は、それ様のシステムがいりますが。私の目的は、最も簡単な方法だけを提供しそれ以上のことは出来ない、知らなくていい、とても初期の段階のプログラミングを想定しています。
C++熟練者にとっては、最小高速なセマフォーがあればほぼ何でも出来ます。しかしプログラム間で正しく通信するための必要知識は膨大なものが必要です。(それを補間するために、いろいろなライブラリーが作られているが、それがまた複雑さを・・・)
まさに「新プログラミング言語「BF-BASIC n」を作ろう」的な構想のアプリケーションです。だから、スレッドセーフな最小限の一方通行情報伝達だけを意識せずに提供できればいいのではないだろうか?との発想で書いています。これで本当に足りるのかは、アプリがある程度出来てこない事には想像がつきません。
決まり事を極力最小にして、複雑さはシステムで吸収できるよう設計したい。そんな目標が有ります。ここで1つ疑問が沸くと思います。それは「Diksam言語仕様自体が複雑ではないのか?」と、実は利用者に説明するのは、関数と計算式とif,thin,elseif,else,while,continue,break。以外は使わないようにと説明します。それ以外は、トラブルがあっても自分で対処回避できる人のみ「Diksam言語仕様」を見てくださいと言う予定です。
当初は独自で言語を作りはじめましたが、「俺が作りたいのは言語じゃない!!!」との思いが強くなり。いろいろなコンパイラーやインタープリタを調査した結果、Diksamに当たりました。特にしっかりとした言語仕様とVM部分がいいです。この上で複雑さをどれだけ吸収出来るものが作れるのか、がんばってみたいです。
まだまだ説明不足な点が多々あると思いますが、懲りずによろしくお願いいたします。
>>もっと簡単にしてグローバルは1VM内でのみ有効であるとして、
>>VM間変数と言う特殊な変数を作って、セマフォー処理をしてもいいと思う。
>山さんの投稿を見て私が最初にイメージしたのはこれだったのですが…
はい、これがあれば一般的なプログラミングが可能です。しかし複雑な制御知識が必要になってしまいます。なのであえて上記のようなシステムを考えています。
>「変数の値取得用の関数」
変数の形をした、まさにこれなんです。説明不足申し訳ありません。ただ、関数にしてしまうと何度も読んでしまうミスを防げないので、あえて1回のみとしてシステム側で制限を加えたわけです。なぜこうしたかは、出来るだけ問題点をシステム側で見つけ出せるか?(目標)です。