コンピュータといえばテキストベースで,何をするにもキーボードからコマンドを入力しなければならなかった時代に,アイコンやウィンドウを持ち,テキスト入力以外のほとんどの操作をマウスで行う「グラフィカルユーザインタフェース(GUI)」を搭載したパソコンMacintoshの登場は衝撃的でした。その後,GUIはWindowsなどさまざまなOSにも採用され,今やGUIを持たないOSは考えられない状況になっています。個人で買える価格のパソコンがGUIを採用することで,ここ数年パソコンユーザの数も爆発的に増大しています。
GUIは「誰にも使える簡単な操作」を提供する反面,そのプログラミングは非常に複雑で難しくなります。C言語を学習するときに誰もが目にする「Hello World」のような,たった1行のテキストを表示するだけのプログラムでも,GUIベースの場合はまずウィンドウを用意し,ペンの幅や位置を設定し,それからフォントを決めて……などと,テキストを表示するという本質以外の部分が必要になるため,最初からとても敷居が高く見えます。テキストベースのOSの時代にプログラミングを始め,その後GUIやOSの進化とともに段階的に知識を増やしてきていればそれほど苦労はないのでしょうが,まったく経験のない人がいきなりMacintoshやWindows,あるいはXウィンドウのプログラミングを始めるには,相当の覚悟が必要といえるでしょう。
BeOSはもちろんGUIベースのOSですが,そのプログラミングは他のOSと比較すると「驚くほど」と形容できるほど簡単です。従来のOSに見られるような「OSが進化するほど,プログラミングが複雑になっていく」という常識は,BeOSにはあてはまりません。これは,BeOSが数々の先進的な機能を備え,「オブジェクト指向」というモデルで全体を統一しているからで,互換性を維持しながら,無理な拡張を続けてきた他のOSとは根本的に異なっています。さらに,BeOSはUnix準拠の「コマンド行インタフェース」も備えているので,ちょっとしたプログラムなら,わざわざGUIを使う必要もありません。このインタフェースの二面性により,BeOSはデジタルメディア処理に特化した「Media OS」としてだけではなく,オブジェクト指向プログラミングをその基礎から学習するためのプラットフォームとしても最適であると確信しています。
またBeOSには,理解が深まるにつれ「何か作れそうだ,作りたい」という気にさせる不思議な魅力があり,実際にBeOSでのプログラミングを経験した人からは,「BeOSのプログラミングは楽しい」という声がよく聞かれます。実際,世界中のBeOSユーザがこの魅力にとりつかれ,OS自体の製品版が登場していないにもかかわらず,すでに膨大な量のアプリケーションが開発されており,なかには製品となって販売されているものさえあります。
しかし,いくらBeOSのプログラミングが簡単だといっても,現時点で唯一のプログラミング用ドキュメントで,BeOSに付属している『The Be Book』だけでは,すぐにプログラムを書きはじめることは難しいでしょう。というのは,『The Be Book』が基本的にクラスとメンバ関数をアルファベット順に並べて,それぞれの詳細を解説したリファレンス形式になっているためで,最初はどこから始めればよいのか,何が重要なのかがわかりにくいからです。オブジェクト指向という考え方にあまり馴染みがない場合はなおさらです。
この本は,そのような問題を確実に解決することを目指して執筆しました。最初は非常に簡単なプログラムから始め,徐々に内容を複雑にしていくことで,階段を1歩ずつ上るようにBeOSのプログラミング世界へと導いていきます。最終的に簡単なテキストエディタを完成させるレベルにまで到達したときには,BeOSプログラミングの基礎が身につき,『The Be Book』の内容も自然に理解できるようになって,自分のオリジナルアプリケーションが書けるようになっているはずです。
BeOSについてまったく知らない方もご安心ください。第1部ではMacintoshあるいはWindowsなど,ほかのOSしか使ったことのない方のために,BeOSの基本的な使い方や機能についてプログラマーの視点から解説してあります。BeOSのインストール方法や基本操作を簡潔にカバーするだけでなく,すでにBeOSをお使いの方にも有用な情報を提供するべく,ほかの雑誌や書籍ではまだ紹介されていない,さまざまなテクニックについてもできる限り取り入れました。
C言語(やプログラミング)をまったくご存じでない方は,まず第1部を読んでBeOSの基本操作を身につけてから,BeOSのTeminalアプリケーションを起動して,教科書を片手にC言語の基本を学習することをおすすめします(C++言語はこの方式では利用できませんが,C言語の基本的なプログラムでしたら一般のUnix環境とほとんど同じように作成・実行できます)。制御構造,関数などといった基本的な概念を頭に入れて,コマンド行インタフェースを使ったプログラムが書けるようになったら,この本の第2部に進んでください。いよいよBeOSのGUIを使ったプログラミングの始まりです。BeOSの「インタフェースの二面性」はここでも有効に働いてくれるのです。
この本の執筆にあたっては,編集部長の三輪幸男さんをはじめとするプレンティスホール出版の皆様に大変お世話になりました。このエキサイティングなOSに関する本を書きたいという筆者二人の希望を実現していただき,大変感謝しています(当初,1998年始めの出版を目指していたのですが,細部の詰めに手間取りご迷惑をおかけしてしまいました)。また,この本のためにロゴとアイコンの使用をお許しいただいたBe Inc.にも感謝いたします。
読者の皆さんのオリジナルのアプリケーションが完成したら,ぜひインターネットなどで公開してください。それによって,少しでも多くの人々がBeOSコミュニティを支える力となり,BeOSがますます普及していくことを期待しています。この本がそれを後押しできればできれば,これ以上の喜びはありません。