Clipper (programming language)
This article needs additional citations for verification. (July 2016) (Learn how and when to remove this template message)
CA Clipper 5.3b / May 20, 1997
Clipper is an xBase compiler, which is a computer programming language, that is used to create software programs that originally operated primarily under MS-DOS. Although it is a powerful general-purpose programming language, it was primarily used to create database/business programs.
Clipper was created by Nantucket Corporation, a company that was started in 1984 by Barry ReBell (management) and Brian Russell (technical). In 1992, the company was sold to Computer Associates for 190 million dollars and the product was renamed to CA-Clipper.
Clipper was created as a replacement programming language for Ashton Tate's dBASE III, a very popular database language at the time. The advantage of Clipper over dBASE was that it could be compiled and executed under MS-DOS as a standalone application. In the years between 1985 and 1992, millions of Clipper applications were built, typically for small businesses dealing with databases concerning many aspects of client management and inventory management. For many smaller businesses, having a Clipper application designed to their specific needs was their first experience with software development. Also a lot of applications for banking and insurance companies were developed, here especially in those cases where the application was considered too small to be developed and run on traditional mainframes. In these environments Clipper also served as a front end for existing mainframe applications.
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.
This section does not cite any sources. (April 2019) (Learn how and when to remove this template message)
Despite these efforts in the early nineties under its new ownership Clipper proved to be unable to make a smooth transition from the MS-DOS to the Microsoft Windows era. As a result, almost no new commercial applications were written in Clipper after 1995. Four of the more important languages that took over from Clipper were Visual Basic, Microsoft Access, Delphi and Powerbuilder. Some existing Clipper applications continued in use for ten or fifteen years, requiring regular maintenance, but around 2015 the number of Clipper applications that were still used commercially on a daily basis was very small.I
A factor in Clipper's decline was also due in part to issues with the Clipper 5.0 product. Some applications developed in Clipper 5.0 crashed frequently and unpredictably. Nantucket didn't address the issue and some developers moved on to different products out of necessity to have stable applications. Nantucket seemed to be reluctant to even acknowledge there was an issue. The problem (memory leak?) was later fixed by Computer Associates. (No data for reference - I was active in the Clipper community and this was what I witnessed at the Clipper conferences.)
Revival by third-parties
The Clipper language is being actively implemented and extended by multiple organizations/vendors, like XBase++ from Alaska Software and FlagShip, as well as free (GPL-licensed) projects like Harbour and xHarbour.
Many of the current implementations are portable (DOS, Windows, Linux (32- and 64-bit), Unix (32- and 64-bit), and macOS), supporting many language extensions, and have greatly extended runtime libraries, as well as various Replaceable Database Drivers (RDD) supporting many popular database formats, like DBF, DBTNTX, DBFCDX (FoxPro, Apollo, Comix, and Advantage Database Server), MachSix (SIx Driver and 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().
Programming in Clipper
A simple hello world - application:
? "Hello World!"
A simple data base input mask:
USE Customer SHARED NEW clear @ 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
- 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
Additional to a standard clipper library, a notable additional library named Clipper Tools were developed by CA after beginning a Clipper production. Three versions of this library were manufactured. All of them associated with a 5st Clippers version. This library became a de facto standard between a Clipper's clones, such as xHarbour, and it was also cloned for a number of Clipper clones manufacturers.
- "CA-Clipper | Viva Clipper !".
- GrafX Software licensed CA-Clipper in 2002 from CA for ongoing marketing and distribution.
- Compiling dBASE code changes it from interpreted code, which must be interpreted every time each line of code is executed, to p-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. As a technical marketing ploy, the p-code was wrapped into object code (linkable .obj files) which gave the impression that it was compiled to native code.
- "Clipper". thocp.net. The History Of Computing Project. 20 June 2007.
- "xHarbour.org". www.xharbour.org.
This article's use of external links may not follow Wikipedia's policies or guidelines. (April 2019) (Learn how and when to remove this template message)
- Alaska Software vendor of XBase++
- Apollo database engine supports CA-Clipper and FoxPro data files
- Free Open Source Graphic,GUI & Form Designer for CA-Clipper
- mini Clipper FAQ
- Print from Clipper to newest Windows printers article
- The Oasis is the largest file archive for CA-Clipper and xBase on the web
- Visual FlagShip Clipper compatible compiler for Linux, Unix and Windows
- Xailer Integrated development environment for Windows
- Harbour Project A 32/64 bit multiplatform Clipper compiler
- From CA-Clipper to Windows in 5 minutes How to install Harbour MiniGUI and compile a windows-exe.
- DBFree - Xbase/Clipper for the web : Open source, active web pages using server-side Xbase scripts, embedded DBF data engine, based on MaxScript, run on Windows from XP to 10.
- MaxScript xBASE interpreter :the xBASE interpreter for web applications (a.k.a. MAXcp, max Command Processor), freeware, win32 application.
- The NTK Project, WIN32 Gui Framework for (x)Harbour, backward compatible with Clipper and Clip4Win.
- CA Clipper Overview, CA Clipper programming language history and overview.