Clipper (programming language)
From Wikipedia, the free encyclopedia
Clipper is a computer programming language that is used to create software programs that originally operated primarily under DOS. Although it is a powerful general-purpose programming language, it was primarily used to create database/business programs.
Clipper was originally created in 1985 as a compiler for dBASE III, a very popular database language at the time. Compiling dBASE code changes it from interpreted code (i.e., human-readable source code), which must be interpreted every time each line of code is executed, to p-code (or pseudo-code), which uses a Virtual Machine to process the compiled p-code. p-code is considerably faster, but still not as fast as the machine code generated by native compilers. Clipper was created by Nantucket Corporation, and later sold to Computer Associates. On April 22, 2002 Computer Associates and GrafX Software announced they had reached a Development, Licensing, and Marketing Agreement for two of their software development languages -- CA-Clipper and CA-Visual Objects.
As the product matured, it remained a DOS tool for many years, but added elements of the C programming language and Pascal programming language, as well as OOP, and the code-block data-type (hybridizing the concepts of dBase macros, or string-evaluation, and function pointers), to become far more powerful than the original. Nantucket's Aspen project later matured into the Windows native-code Visual Objects compiler.
As of 2006, the Clipper language is being actively implemented, and extended, by multiple organizations/vendors, free (GPL-licensed) like CLIP, Harbour, xHarbour, as well as commercial compilers like XBase++, and FlagShip.
Many of the current (2006) implementations are portable (DOS, Windows, Linux (32- and 64-bit), Unix (32- and 64-bit), and OS X), supporting many language extensions [1], and have greatly extended runtime libraries, as well as various Replaceable Database Drivers (RDD) supporting many popular database formats, like DBF, DBTNTX, DBFCDX (FoxPro and Comix), MachSix (Apollo), SQL, and more. These newer implementations all strive for full compatibility with the standard dBase/xBase syntax, while also offering OOP approaches and target-based syntax such as SQLExecute().
As of 2006, the Clipper Usenet newsgroups comp.lang.clipper and comp.lang.clipper.visual-objects are still active.
[edit] Programming in Clipper
A simple hello world - application:
? "Hello World!"
A simple data base input mask:
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
The various versions of Clipper were
From Nantucket Corporation; the "seasonal versions", billed as "dBase compilers"
- Nantucket Clipper Winter'84 - released May 25, 1985
- Nantucket Clipper Summer'85 - released 1985
- Nantucket Clipper Winter'85 - released January 29, 1986
- Nantucket Clipper Autumn'86 - released October 31, 1986
- Nantucket Clipper Summer'87 - released December 21, 1987
From Nantucket Corporation; Clipper 5
- Nantucket Clipper 5.00 - released 1990
- Nantucket Clipper 5.01 - released April 15, 1991
- Nantucket Clipper 5.01 Rev.129 - released March 31, 1992
and from Computer Associates; CA-Clipper 5
- CA Clipper 5.01a -
- CA Clipper 5.20 - released February 15, 1993
- CA-Clipper 5.2a - released March 15, 1993
- CA Clipper 5.2b - released June 25, 1993
- CA-Clipper 5.2c - released August 6, 1993
- CA Clipper 5.2d - released March 25, 1994
- CA-Clipper 5.2e - released February 7, 1995
- CA Clipper 5.30 - released June 26, 1995
- CA Clipper 5.3a - released May 20, 1996
- CA Clipper 5.3b - released May 20, 1997
[edit] External links
- GrafX Software
- mini Clipper FAQ
- The Oasis is the largest file archive for CA-Clipper and xBase on the web
- Clip compiler
- Harbour Project
- xHarbour Project
- Alaska Software Xbase++
- Multisoft's Flagship
- Vulcan.NET, Clipper like language for Microsoft .NET
- NTK Project, WIN32 Gui Framework for (x)Harbour, backward compatible with Clipper and Clip4Win.
- FGLib open source graphic library for CA-Clipper
- DoubleS open source - new programming paradigm for CA-Clipper