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

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、Linux、UNIX、macOSなど）で動作し、様々な拡張をサポートし、ランタイムライブラリも豊富で、各種データベース形式（DBF、DBTNTX、DBFCDX、MachSix、SQL など）をサポートする Replaceable Database Drivers (RDD) がある。これらの実装は標準の dBase/xBase 文法に準拠していると同時に、オブジェクト指向的構文や SQLExecute() のようなターゲットデータベース対応の機能も備えている。

2007年12月現在、ネットニュースのニュースグループ comp.lang.clipper と comp.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日

外部リンク 
mini Clipper FAQ
The Oasis CA-Clipper と xBase に関する最大のファイルアーカイブ
Harbour Open Source alternative

プログラミング言語
1985年のソフトウェア