fcshWrapperが黙りを決め込むことにしたらしい

Meadow3.0 +make(cygwin) +ant1.7.1 +fcsh +fcshWrapper0.1.2 +flex4(Gumbo) +air1.5 という環境。以前も 度々 fcshWrapper が黙りを決め込むことがあったけど、この度は1/3程度の確率で黙り込みなさる。もう使わないことにした。通信絡みでデッドロックしているような気配である。ソースを見たけど、ちょっと込み入っていて、しかも不得意な Java だから直す気も起きない。fcshWrapper に関して調べたけれども、自分の用途に合う物がなかなかない。

fcsh wrapper の仕組みは、サーバー(デーモン)側で、fcsh を起動しっぱなしにして、標準入出力、エラー出力を介してやりとりを行う。クライアント側では、antからコマンドライン引数としてコンパイラオプションを受け取り、サーバーと通信、コンパイル結果を受け取り、それを標準出力(エラー出力)する、というもの。

クライアント・サーバーの基本的なプログラムなので、flex+air でも書けるのに、どうして、javapythonC++なのだろう? 少なくとも java という選択は相応しそうに思える。でも、わざわざ別の言語を使わなければならないのは辛い物がある。いやいや、flex を使う限り java は必須言語と考えられているのだろうか? でも、僕は java が不得意なのだ。今更、fcsh wrapper の為に他言語増やして多言語化するのはいや。Gumbo だけでもいっぱいいっぱいなのに。

あーっと。flex+air だと、外部コマンドとのやりとりが困難だから、他の言語になるのか・・・。その辺りの事情を少し調べてみよう。

(追記:2009/10/16)One more fcsh wrapperで、php を使った fcsh wrapper を自作してしまった。php はデータベース(DB)と使わなければ意味がないとか、遅くて使えないとか揶揄されている。ゴリゴリ使ってる本人達がそう言っていたりする。防衛機制のようなものかな? 僕は単純に「簡単で慣れてるし、perl は年齢的に辛くなってきたので php という選択」です。やる気があれば、perl で以前みたいにゴリゴリ書いてみたい。あの自由さは青春のそれに通じる(なんだこの文章)。flex 却下の理由は、セキュリティの壁がローカルタスクの実行を困難にしているから、気軽にコマンドを実行できないという事。ただし、方法論は存在するようなことが散見された。しかし、水は低きに流れるという摂理に従い、仕様および私的な要求を労せず満たしている php を選択した。