河野真治 @ 琉球大学情報工学です。

In article <060224222917.M0183283@sma.gssm.otsuka.tsukuba.ac.jp>, kuno@gssm.otsuka.tsukuba.ac.jp writes
>   抽象化できなかったら言語の敗北だからさ。
>                           言語屋の                          久野
> P.S. 問題を複雑にしない抽象化の手段は存在すると思う。思わないの
>      ならなぜ並列言語やってるのか不思議だな。

このあたり、並列処理と逐次処理に絶対的な差があると僕は思います。
逐次処理なら、抽象化が入っても、

    入力を決めれば、出力が決まる

から、それを容認できる。あるいは、抽象化した部分のソースを読
めば良い。

でも、並列処理だと「並列実行のメカニズム」を特定できない限り、
抽象化した部分を十分に定義することが出来ない。つまり「どの
ように抽象化したのか」ってのを定義することに失敗していると
いうことだと思います。

抽象化そのものはプログラマが自分でやるわけだよね。階層的に。
lockとか conditional variable とかが、階層的な抽象化に合わな
いことが問題であって、しかも、それが全体のパフォーマンスに大
きく影響してしまう。

例えば、transaction の粒度とかを複数、階層的に定義できるよう
に、言語を自体を設計したい。けれども、それを実現するための
test & set とか critical region とか arbitor とかは、プログ
ラムソースに散在してしまう。その散在した「個別の操作」をいく
ら抽象化しても、transaction の粒度みたいな概念を全体的に調整
することはできない。

ってな感じですね。わかってもらえるかな?

---
Shinji KONO @ Information Engineering, University of the Ryukyus
河野真治 @ 琉球大学工学部情報工学科