2 posts tagged BeOS
The BeBox was a short-lived dual processor personal computer, offered by Be Inc. in 1995. It had dual PowerPC 603 at 66MHz.
The BeBox had a unique I/O board named GeekPort, which had 2-ch 8-bit bidirectional digital port, 4-ch 12-bit A/D converter, 4-ch 8-bit D/A converter, +5V, +12V, -12V, and GND pins.
BeOS, which was an OS originally designed for BeBox and later ported to PowerMac and then Intel boxes, was also quite unique software based on Object Oriented technology like NeXTSTEP. BeOS’s runtime was based on the early version of C++, on the other hand the NeXTSTEP was based on Objective-C.
Note: Be was established by Jean-Louis Gassée, and BeOS was a candidate for replacement of classic Mac OS in Apple Computer. The switch to BeOS was called Plan Be in Apple.
The number of shipped BeBox was under only 2,000 world wide, and I was a man who was lucky enough to own one.
BeBoxは短命に終わったデュアルプロセッサ搭載パソコンで,初期型は66MHzの PowerPC 603 を2個搭載していた.デビューは1995年.
BeBoxはGeekPortと言うユニークなI/Oを備えていた.内容は2chの8ビット双方向デジタルポート,4chの12ビットA/Dコンバータ,4chの8ビットD/Aコンバータ,+5V, +12V, -12V とGNDの電源ラインだ.
BeBoxはまたBeOSという独特なOSと一緒に出荷された.BeOSは後にPowerMacそしてインテルボックス(PC/AT互換機)へと移植される.BeOSもなかなか先進的で,ランタイムはオブジェクト指向方法論ベースのものだった.NeXTSTEPはObjective-Cベースだったが,BeOSは(初期の)C++ベースだった.
ちなみに,Be社を作ったのはジャン・ルイ・ガゼーで,BeOSはアップルが次期OSを探していたときの候補(プランBeと呼ばれた)でもあった.
出荷されたBeBoxは全世界で2,000台以下とされる.僕はそのうちの1台を使っていた.
Objective-Cの [object message: parameter] はC++で言うところの object->message(parameter) では無い.例えるなら object->generic_message_handler(“message”, parameter) に近い.
もしC++でgeneric_message_handlerを書こうとすると,BeOSのライブラリ拡張機能の最終手段のようなことになる.つまり,こんな感じだ.
using namespace std;
void *obj::generic_message_handler(const string *msg, ...)
{
va_list parameters;
va_start(msg, parameters);
std::map<string, member_function_type>::iterator p
= member_function_table.find(*msg);
if (p != member_function_table.end()) {
void *ret = p->member_function(parameters);
va_end(parameters);
return ret;
}
else {
va_end(parameters);
throw i_cannot_respond_to(msg);
return 0;
}
}
Loading posts...