家の西側
あなたは白い家の西側の、ひらけた野原に立っている。家の玄関は板張りの扉だ。

そばに小さな郵便受けがある。

>ユウビンウケヲ ヒラク. ビラヲ ヨム
郵便受けを開けると、そこには一枚のビラがあった。

(ビラを手に入れた)
 

(1.0) comp.sys.be.programmer へようこそ!

これは BeOS ソフトウェア開発者たちが議論するニュースグループ comp.sys.be.programmer 向けの、よく聞かれる質問 (FAQ; Frequentry Asked Questions) リストだ。

この FAQ で触れているソフトウェアは、特に断りのない限り BeBits (http://www.bebits.com/) で入手できる。

目次

        (1.0) comp.sys.be.programmer にようこそ!
        (1.1) 手助けを求めるには
        (1.2) 開発環境はどんな感じですか?
        (1.3) おすすめの書籍
        (1.4) Java はどこにあるんですか?
        (1.5) Visual Basic や Delphi のような開発システムはどこにあるんだ?
        (1.6) GeekGadgets
        (1.7) 大量のリンクエラーが出るのを避ける方法
        (1.8) まだ cin や cout などでリンクエラーがでます
        (1.9) 免責事項および著作権/商標の表示

Chris Herborth と Brent Newhall に感謝の意を捧げる。

>SOUTH
まじない師の庵
まじない師ベルバズが瞑想している。

>ベルバズニ アイサツスル
「こんにちは」。 ベルバズはあなたに会ったことを喜んではいないようだ。

>ベルバズニ ヒントヲ キク
ベルバズはあなたに非難するような目を向けた。「ほやほやの見習いぐらいな ものだろうな、きちんとしたネチケットも知らず手助けを求めるとは」
 

(1.1) 手助けを求めるには

もし、あなたの抱えている問題がオペレーティングシステムの利用者としてのものなら、 http://www.be.com/support/ を見ること。 comp.sys.be.programmerに持ち込むべきではない。私たちは 無償技術サポートをしているわけではないのだ。

もし、あなたが開発者として問題を抱えているなら、 (1) Be Book、それと (2) Be Developer Library をもう読んだということを示せるはずだ。 場所は http://www.be.com/developers/developer_library/index.html

ソースコードを投稿するには: あなたのソースコードは脇にどけておいて、 動くと思えるのに動かない最小の場合にまで削って、それを投稿すること。

もし、BeOS のバグを見つけたんだと分かっているなら、http://bebugs.be.com/ に行くこと。

もし、他に開発情報を探しているのなら、Be が開発者向けメーリングリストを幾つか主催している。 http://www.be.com/world/mailinglists.html を良く読むこと。 それと、Tim Vernum が BeDevTalk で一般的な質問について FAQ を書き上げた。それは http://www.acay.com.au/~tpv/be/devtalk/FAQ.html に置いてある。

ベルバズはあなたが何か言うのを待っている。

>コンパイラニ ツイテ ベルバズニ キク
彼は表情を明るくした。「あぁ、新入りだな」
 

(1.2) 開発環境はどんな感じですか?

昔々、Metrowerks(開発システム CodeWarrior のメーカ)が Be に採用されて、 PoerPC 用 BeOS 向けに統合開発環境(今は BeIDE として知られているもの)を書き、 彼らのコンパイラを移植した。当時 BeOS に付属していたコンパイラの機能には制限がかけられていて、 無制限の環境は買わなければならなかった。

最初に Be が Intel 版をリリースしたときは、Metrowerks 環境が引き続き付属していた。 そのころ、Metrowerks のコンパイラは Intel システムで特に優秀なコードを生成するものとは 考えられていなかった。R4 で、Be は EGCS/gcc コンパイラセットに切り替えた。

現在の状況は次のとおり:

  • Be は BeIDE を所有していて、改善を続けている。
  • PowerPC 用に Metrowerks コンパイラがまだ使われている。
  • Interl 上では EGCS/gcc コンパイラセットが使われている。
  • bdb という、ビジュアルソースデバッガがある。これはまだ少し荒削りな状態で、 BeIDE には統合されていない。Be ではさらに改善することを目指している。 gdb が移植されているが、移植は全体に少し荒い。
開発言語には他にいくつかの選択肢があるが、アプリケーションを出荷することをまじめに考えているなら、 お勧めできるものはない。

スクリプトを書いたりしたい人には、BeOS での好ましさの順番は次のような感じになる:

  1. Python (BeBitsで手に入る)
  2. Perl (GeekGadgets で手に入る)
  3. bash (BeOS に付いている)
ベルバズはあなたが何か言うのを待っている。

>マジュツショヲ ベルバズカラ モラウ
「Amazon.com で売ってるだろう?」
 

(1.3) お勧めの書籍

候補になる本のいい一覧が、レビューなしだが、Be のウェブサイトに掲載されている (http://www.be.com/store/bebookstore.html)。 以下にお勧めを何冊か、注釈をすこし追加して書く:

もしあなたが全くのプログラミングの初心者だったら、2種類の本を読む必要がある: 発想を設計に置き換える方法を書いた本、そして設計を C++ コードに置き換える方法を 書いた本だ。

設計についての本: "Design Patterns" (邦訳「デザインパターン」) Gamma, Helm, Vlissides ほか著。

もうなにか他の言語を知っていて C++ を学ぶなら: "The Beginner's Guides to C++" by Y. Yaroshenko, および "C++: How to Learn" by Deitel & Deitel.

良いコードを書くには: "Code Complete" by Steve McConnell, および "Effective C++" (邦訳 「Effective C++ 改訂第2版」) Scott Meyers 著

プログラミングと BeOS の両方ともに初心者なら: "Programming the Be Operating System" by Dan Parks Sydow.

何か他の OS でのプログラミングができて、BeOS を勉強するなら: 本は必要ない。BeBook を読むことだ。HTML 形式のものが OS をインストールしたときに 一緒に入っているし、Be のウェブサイトでも手に入る。

さらにプログラミングを上達させるには: "Structure and Interpretation of Computer Programs" (邦訳「計算機プログラムの構造と解釈 第2版」) Sussman・Abelson 共著、 および Waterlooの並行プログラミング講義から CS342 講義ノート http://www.undergrad.math.uwaterloo.ca/~cs342

>JAVAニツイテ ベルバズニ キク
ベルバズは戸惑ったように視線を泳がせた。
 

(1.4) Java はどこにあるんですか?

Java コンパイラは BeBits で手に入る。それはちゃんと動くし、出力されたバイトコードは どのプラットフォームのどのインタプリタでも動作する。

しかし Java VM がない。ずいぶん昔には、Metrowerks の作ったものがあったんだが、 いろいろなつまらない理由で今はもうない。 今は少なくともひとつ、開発中のものがある。オープンソースの Kaffeプロジェクトの移植だ。 移植された Kaffe はうまく動作するが、AWT システムが未完成だ。 http://bekaffe.sourceforge.net/

BeIA プラットフォームなら PersonalJava の要求を満たしていると Sun が保証している。

>S.W.SW.W.W.
穏やかな海
海辺沿いに進んでゆくと、昔のバイキング船を偲ばせる一艘の古い小船に辿り着いた。 船の舳先に立っているのは年寄りで気難しい水兵だ。 水兵は霞のかかった海をじっと見渡している。

>スイヘイニ アイサツスル
船乗りは目線を上げ、船を岸辺へと操った。彼はどなった:
 

(1.5) Visual Basic や Delphi のような開発システムは どこにあるんだ?

ない。幾人かが取り掛かっているが、完成したものどころかアルファ版に近いものもない。 これら開発中のものの一覧表が BeWare にある。

多くの人は Interface Element で今のところ十分だと感じている。 それが生成したコードを埋めれば動作させることができる。

最近は BeXL というソフトウェアも登場し、人気を集めている。

「これは贈り物だ、受け取ってくれ。きっと役に立つ!」彼は何かを投げ、 それはそばの砂の上に落ちた。彼は生き生きとした、 しかし少し荒っぽい水兵の歌を歌いながら、西の方へと船をやった。 船は霞の中を静かに進んで行き、見えなくなった。

>オクリモノヲ シラベル
 

(1.6) GeekGadgets

GeekGadgets は Fred Fish による壮大な努力の結晶で(この以来彼は Be に雇われている)、 膨大な Unix 互換ツール集を BeOS にもたらすものだ。 これには perl、テキストツール類、nroff、man などなど、とてもたくさんのものが含まれている。

もしあなたの愛用しているツールが Unix/Linux/FreeBSD 世界の生まれで、 まだ BeOS にインストールされていないなら、 ftp://ftp.geekgadgets.org/に 行ってみよう。ビルド済みの実行ファイルやソースをダウンロードできる。

>ホンヲ ヨム
戒律 第12593番
 

(1.7) 大量のリンクエラーが出るのを避ける方法

手短かな答え: プロジェクトをビルドする時には "BeEverythingApp" プロジェクト ステーショナリを使うこと。

長い説明: C や C++ のコードはそれ自身だけでは動作できない。オペレーティングシステムと やりとりしたり、ターミナルへの出力方法を調べたり、その他いろんな ことを知っている必要がある。このためのコードは グルーコード (glue code)や ライブラリの中にあって、あなたのコードにリンクしなくてはいけない。

グルーコードはあなたの書いたプログラムを起動させるのに最低限必要なものだ。 それは基本的な環境を整えて、main() を呼び、プログラムが終了した時に後始末をする。

ライブラリには BeOS の機能が納められている。それらは libなんとか.so という名前で,「なんとか」には説明の言葉が入ることになっている。 libroot.so にはCライブラリのほとんどが入っている。 libbe.so にはApplication Kit の基本部分が入っている。 libmedia.so には Media Kit が入っている。などなど。 ライブラリは BeOS の /boot/develop/lib/ ディレクトリに収められている。

一般に、正しいステーショナリを使ってあなたのプロジェクトを ビルドしなおすほうが、必要なファイルを求めてディスク中を 探し回るより簡単だ。アプリケーションやコマンドラインツールなら BeApp や BeEverythingApp ステーショナリを使うといい。

BeApp ステーショナリにはグルーコードと、libbe.solibroot.so が入っている。 これらはアプリケーションを起動させて、ウィンドウを開くための基本部分だ。 他のキットを使うなら他のライブラリを追加する必要があるだろう。

BeEverythingApp にはすべてのシステムライブラリがあらかじめ入っている。 これを使うとリンク処理は遅くなるかも知れないが、上等のシステムを 使っていれば気づかないだろう。

>ページヲ メクル
戒律 第12594番
 

(1.8) まだ cin や cout などでリンクエラーが出ます。

/boot/develop/lib/x86/libstdc++.r4.so をプロジェクトに追加すること。 PowerPC ユーザは /boot/develop/lib/ppc/libmslcpp_4_0.a を使わなければならない。

そのとき、大きなかばんを持った怪しげな風貌の人物がふらりと部屋を通り過ぎた。 通りがけに彼はあなたの財布から貴重品を何か、そっと抜き取った。 何かぶつぶつとこんなことを言っている:
 

(1.9) 免責事項および著作権/商標の表示

この FAQ の著作権は Stephen Egmond にある(1999年)。 許可なくこの文書を再配布したり、いかなるネット外の編集物にも含めたりしてはいけない。 まず尋ねること。

お願いだから、http://bang.dhs.org/faq/csbp.html にあるページへ リンク だけしてほしい。つまり、あなたのウェブページにコピーしてはいけない。 すぐに時代遅れになってしまうだろうから。

すべての商標はそれぞれ関連する各社のものだ。

大きなかばんを持った人物は何気ない様子で壁に寄りかかっている。 彼は何もしゃべらないが、その様子を見れば彼を死体にしないことには かばんを取り上げられないのは明らかだ。

>ケンデ トウゾクヲ コロス
するどい斬撃だ。しかし盗賊からは1マイルも外れている。盗賊は横から回り込み、 フェイント、そして刃をあなたのあばら骨に埋めた。

最後の一撃はあまりにも痛烈だった。残念だがあなたは死んだ。

**** あなたは死んでしまった ****

続けるには何かキーを押してください。


Stephen van Egmond
Add a comment

訳者コメント


翻訳:鈴木克宗 <suzu-kat (at) fsinet.or.jp>
http://www.fsinet.or.jp/~suzu-kat/beos/csbp-jp.html