[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[b-free: 1454] Re: Window Manager (Re: B-Free by OO & BTRON programming)



/* In [b-free: 1450] Re: Window Manager (Re: B-Free by OO  & BTRON         programming)
   Hideaki Suzuki <h1suzuki@bridgew.edu> Wrote: */

   |>    |> BTRON C++ クラスライブラリの取っ掛かりとして
   |>    |> TAD クラスライブラリを作成中です。
   :
   |> 私のほうもプログラムがバグっていて
   |> なかなか進んでいません。
   |> 
   |> STL を使ったものだから、コンパイラのバグにも
   |> 遭遇してしまいました。
   :
   |たはは。STL はまだ完全に行き渡っていないというか、実装上の仕様も完全に統
   |一がとれていないと聞きますしね。っていうか、compiler ってちょっとまとも
   |なことをやろうとすると、すぐに、bug にあたりますよね。単に僕の運が悪いの
   |かな(笑)。

GCC は、まだ template や例外処理などの
新しい仕様の実装が完全ではないようです。
昔からある機能は十分信頼できるのですが。

   |> STL を使ったのはもしかしたら失敗だったかな?
   |> (バイナリのサイズも大きくなってしまう)
   |
   |サイズが増えるのは、linker で何とかなりませんかね?
   |borland のでは、たしか、何とかなったと思いますが。

TAD class のソースは今のところ 30KB ほどありますが、
object ファイルは総計1.5MB にもなります。
object ファイルが大きいのはあたりまえと言ってはあたりまえですが、
小さなテストプログラムでも 400KB にもなるのを見ると、
何とかなってないようです。

   |> 動くようになったら(バグが取れたら) Web で
   |> 公開しますし、動かなくても良いのなら
   |> 言ってくれればまた送ります。
   |
   |5月の第2週ぐらいに、また、送ってもらえると嬉しいです。

なんとかバグが取れてきたので、現在製作進行中です。
TAD の読み込みはだいたいできたのですが、
書き込みはまだこれからです。
あと、セグメントは極一部しかできてませんが、
セグメントは必要になったものだけ作ろうかと思っています。

   |というか、その頃、program ML で公開しませんか?
   |documentation を書くのも大変ですし、その辺は、ML で公開すれば手分けでき
   |るのではないかな?

ソースの量が増えましたので、メイリングリストで
流すのは無理っぽいですが、使いかたやセグメントの追加のしかた、
新たなストリームの作成法などなら流せると思います。

   |> 特に BTRON1 のパーツはどうにかしてほしいです。
   |
   |こいつがねぇ、、、。> parts
   |parts と menu だけは、なかなか class にする良い方法が見あたらなく
   |て、、、。

JavaBean のようなコンポーネントに仕立て上げるべく
考えていますが、パーツの処理中は実行が行ったきり
帰ってこない所がどうにも。

パーツのような GUI 部品は、"プログラム→部品"と
呼び出すだけではなく、
"部品→プログラム"という流れも必要になるのですが、
BTRON1のパーツでは cact_par() のブロッキングと戻値で
"部品→プログラム" を表現するという強烈な事をしてます。

なんで素直にイベントやコールバックに
しなかったのでしょう。

パーツのコンポーネント化のためにもスレッドが欲しいです。
パーツごとにスレッドを作って、それぞれで cact_par() ループを
回せばコンポーネント化できそうです。

   |> (大学生は暇がある)
   |
   |ごめん、これだけは、嘘でしょ。(^_^;;;;
   |例えば、今年の夏学期を僕はとるのですが、しんどいです。

私の場合、去年までで卒業に必要な単位は取ってしまったので、
今年は卒業研究以外に何もやらなくても卒業できてしまいます。
とはいえ、そんな授業料のもったいない事はしませんが。

   |って云うか、早い話は「暇な人は暇、忙しい人は忙しい」という事なんですよ。
   |大学生は暇と、一般化されると悲しいっす。

そうですね。私の周りでも教職を取っている人は
かなり忙しいようです。
ただ、日本の学生は暇な人が多いのは事実です。

   |>    |  だれか、B-free の Window Manager を一緒にやる人いませんか?
   |> 
   |> おお、ついにやる気ですね。
   |> 
   |> でも、まだ周辺核ができていなくて
   |> 動かしてみることができないので、
   |> 今作ろうとするのはたいへんそうに思います。
   |> どのように作っていこうとしているのか、
   |> 教えてもらえませんか?
   |
   |とりあえずは、API を決めないと始まらないだろうって。
   |そういう事で、API を pickup しながら ML でこんなんで良いかとか色々話をし
   |て、問題なさそうだったら、stand alone java の上で、色々実験してみようと
   |思います。すなわち、java の描画機能を利用させてもらう訳ね。java は一応、
   |full color / high resolution だから。

何でまた Java なのでしょうか。
BTRON1 のディスプレイプリミティブと Java の graphics は
1対1に対応しているわけではないので、
Java 上にディスプレイプリミティブを実装し、その上に
ウインドウマネージャを作ることになると思うのですが。

それより 1B 上の1つのウインドウを1画面と見たてて、
その中でウインドウマネージャをシミュレートする方が
良いと私は思います。

   |で、とにかく、そうなると、最初の実際の仕事は java 上で event の生成とか
   |を模す物を作らなくちゃいけないわけです。で、それが出来たらその上に
   |window manager の描画処理や window design などを試せるような program を
   |作ると。

これって、Java 上に BTRON を実装するようなものですね。
B-Free のウインドウマネージャの実装の準備としては
いまいちだと思うのですが、
これはこれでけっこう面白いかもしれません。
私が昔言った、Linux 上に BTRON を作る、というのに
近いような気がしないでもないです。

今でも私は UNIX 上に BTRON を実装するのは
現実的な解として有効だと思っています。

   |そう言うわけで、ぜひ、落合さんも一緒にやりません?!
   |きっと、つらい分だけ楽しいですよ!

私としては、目前の TAD class と BTRON1 フレームワークに
気が行っているのですが、
ウインドウマネージャも興味がありますので、
とりあえず、実現法を考えてみたいですね。

   |って云うか、その前に、API の使い方ってどうするんです?
   :
   |ちょっとこの辺の疑問を、これから、kernel ML の方に書きますね。

では、そちらへ。

===
  落合秀俊   名古屋大学工学部情報工学科
  h953046b@ice.nuie.nagoya-u.ac.jp