Object REXX
From Wikipedia, the free encyclopedia
概要
1988年にIBMのエンジニアグループにより開発が開始された。その後 OS/2 Warp にバンドルされた。
なお、IBM による Object REXX の営業活動は2005年1月12日に終了している。現在は Open Object REXX としてオープンソースとなっている。
特徴
- マルチプラットホーム
- Windows(32ビット)、AIX、Solaris、Linux、Mac OS X 上で動作する。
- ooDIalog(Windows のみ)や gtk(4.0.0以降)といった GUI クラスライブラリのサポート
- クリップボードアクセス・レジストリ操作ライブラリのサポート(Windows のみ)
- クラスベースのオブジェクト指向言語である。
- C++、Java と比較してオブジェクト指向プログラミング関連の文法(ディレクティブ)は整理されており、初心者が学ぶにしても混乱が少ない。
- Classic REXX からの移行についても、わずか6個のディレクティブを学ぶだけで済む。
- 通常のサブクラス継承のほかに、メタクラス、ミックスインクラスをサポートしている。
- Classic REXX との高い互換性がある。
- 機種依存性の Classic REXX のプログラムは修正なし、またはわずかな修正だけで移植が行える。
- Object REXX を使用すれば段階的にオブジェクト指向プログラミングへ移行できる。
- バッグ、ステム、ディレクトリ、マップ、ハッシュ、ポインタ、OracleDB、リストなどの強力なコレクションクラス
- Classic REXX では難しかったデータ構造が容易に扱える。
IBM Object REXX と Open Object REXX の差異について
ここでは IBM Object REXX と Open Object REXX の差異について述べる。
- IBM Resource Workshop および Object REXX Workbench が付属していない。
- Version 4.00 以降は Windows 95/98/Me は動作しない(非公式ながら Version 3.2.0.1 以下はインストール時にサービスを導入しないことで動作可能)
- Open Object REXX では大幅なコレクションクラスの大幅な見直しにより機能追加がなされている。
- OS/2 版は存在しない。
サンプルソース
- Hello World(インスタンスを生成する方法)
console = .stream~new(stdout);
console~lineout("Hello, World!");
- Hello World(スタティックメソッドを使用する方法)
.stdout~lineout("Hello, World!");
.stdout~charout("Hello, World!" || "0d0a"x);