Clipper (プログラミング言語)

提供: miniwiki
移動先:案内検索

Clipper は、xBaseプログラミング言語のひとつで、コンパイラの形で提供された。汎用プログラミング言語だが、xBase言語として主にデータベースやビジネス用プログラムの作成に使われた。

歴史

Clipper は1985年、xBase言語として(dBASE III向け)コンパイラとして登場した。それまでの dBASE のpコードマシンベースのインタプリタに対し、コンパイルによる高速化などが意図され期待されたものであった。Clipper は Nantucket Corporation が開発し、後にコンピュータ・アソシエイツ(後のCA)に売却された。2002年4月22日、CAと GrafX Software は CA-Clipper と類似の言語である Visual Objects(CA-Visual Objects)の開発・ライセンス・販売に関する提携に合意したと発表した(Visual Objects は Nantucket が Clipper を Windows 対応させようとして生み出した言語)。

Clipper は長年にわたってDOS用ツールとして生き残りつつ、C言語Pascalの要素を取り入れ、オブジェクト指向プログラミングの要素やコードブロックデータ型の概念(dBASEマクロ言語や文字列評価と関数ポインタの概念を融合させたもの)を導入し、当初よりもずっと強力な言語となってきた。

2006年現在、Clipper 言語の実装や拡張が複数の組織やベンダーで活発に行われている。フリーソフトウェアGPLライセンス)では、Clip、Harbour、xHarbour などがある。商用製品としては、XBase++、FlagShip などがある。最近の実装の多くは各種プラットフォーム(DOS、Windows、LinuxUNIXmacOSなど)で動作し、様々な拡張をサポートし[1]ランタイムライブラリも豊富で、各種データベース形式(DBF、DBTNTX、DBFCDX、MachSix、SQL など)をサポートする Replaceable Database Drivers (RDD) がある。これらの実装は標準の dBase/xBase 文法に準拠していると同時に、オブジェクト指向的構文や SQLExecute() のようなターゲットデータベース対応の機能も備えている。

2007年12月現在、ネットニュースニュースグループ comp.lang.clippercomp.lang.clipper.visual-objects が今でも活動している。

コーディング例

単純な Hello world のコード例。

? "Hello World!"

簡単なデータベース入力のコード例。

USE Customer SHARED NEW
cls
@  1, 0 SAY "CustNum" GET Customer->CustNum PICT "999999" VALID Customer->CustNum > 0
@  3, 0 SAY "Contact" GET Customer->Contact VALID !empty(Customer->Contact)
@  4, 0 SAY "Address" GET Customer->Address
READ

バージョン履歴

Clipper にはいくつかのバージョンがある。

Nantucket Corporation による "seasonal versions"。"dBase コンパイラ"として使われた。

  • Nantucket Clipper Winter'84 - 1985年5月25日
  • Nantucket Clipper Summer'85 - 1985年
  • Nantucket Clipper Winter'85 - 1986年1月29日
  • Nantucket Clipper Autumn'86 - 1986年10月31日
  • Nantucket Clipper Summer'87 - 1987年12月21日
  • Namtucket Clipper 4.5 1990年 日本語バージョン

Nantucket Corporation による Clipper 5

  • Nantucket Clipper 5.00 - 1990年
  • Nantucket Clipper 5.01 - 1991年4月15日
  • Nantucket Clipper 5.01 Rev.129 - 1992年3月31日

CAによる CA-Clipper-5

  • CA Clipper 5.01a -
  • CA Clipper 5.20 - 1993年2月15日
  • CA-Clipper 5.2a - 1993年3月15日
  • CA Clipper 5.2b - 1993年6月25日
  • CA-Clipper 5.2c - 1993年8月6日
  • CA Clipper 5.2d - 1994年3月25日
  • CA-Clipper 5.2e - 1995年2月7日
  • CA Clipper 5.30 - 1995年6月26日
  • CA Clipper 5.3a - 1996年5月20日
  • CA Clipper 5.3b - 1997年5月20日

外部リンク