Misplaced Pages

Clipper (programming language)

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
(Redirected from Clipper programming language) Compiler for xBase
Clipper
First appeared1985 (1985)
Stable releaseCA Clipper 5.3b / May 20, 1997; 27 years ago (1997-05-20)
OSMS-DOS
WebsiteWhile the last known Website 'www.grafxsoft.com/clipper.htm' still exists, relevant content has been removed, even for the main webpage. Looking back in time at this URL in the Wayback Machine, it seems real content was last available on June 16, 2018. This archived content is still available at: 'web.archive.org/web/20180616231447/http://www.grafxsoft.com/clipper.htm' but trying to place an order at the bottom of the page is probably not a good idea.

Clipper is an xBase compiler that implements a variant of the xBase computer programming language. It is used to create or extend 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.

One major dBase feature not implemented in Clipper is the dot-prompt (. prompt) interactive command set, which was an important part of the original dBase implementation.

Clipper, from Nantucket Corp and later Computer Associates, started out as a native code compiler for dBase III databases, and later evolved.

History

Clipper was created by Nantucket Corporation, a company that was started in 1984 by Barry ReBell (management) and Brian Russell (technical); Larry Heimendinger was Nantucket's president. 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 CA-Visual Objects compiler.

Market penetration

Nantucket sold well in Western markets. Also, in November 1991, the New York Times reported the company's success in "painstakingly convincing Soviet software developers that buying is preferable to pirating". According to the article, Clipper had sold 2,000 copies in the Soviet Union (compared to 250,000 worldwide).

Decline

In the early 1990s, under new ownership, Clipper failed to transition from MS-DOS to Microsoft Windows. As a result, almost no new commercial applications were written in Clipper after 1995.

By then, the "classically trained programmer" commonly used strong typing, in contrast to the original dBASE language. An evolution of Clipper, named VO, added strong typing but made it optional, in order to remain compatible with existing code. Four of the more important languages that took over from Clipper were Visual Basic, Microsoft Access, Delphi, and Powerbuilder. They all provided strong typing.

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().

Usenet

The Clipper Usenet newsgroups are comp.lang.clipper and comp.lang.clipper.visual-objects.

Compiling and running hello world program in clipper

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

Version history

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

Clipper tools

In addition to the standard clipper library, a library named "Clipper Tools" was developed by CA after purchasing Nantucket. Three versions of this library were released, alongside Clipper versions. This library became a de facto standard amongst Clipper clones, such as xHarbour. It was also cloned by several of Clipper's clones.

References

  1. Warren M. Littlefield (1983). DBASE - From the Dot Prompt: An Introduction to Structured Programming using dBase IV. ISBN 0791417808.
  2. "Clipper". a native code compiler for dBase ..later evolved ..
  3. ^ Glenn Rifkin (3 November 1991). "Selling Software, Soviet-Style". The New York Times.
  4. "CA-Clipper | Viva Clipper !".
  5. GrafX Software licensed CA-Clipper in 2002 from CA for ongoing marketing and distribution.
  6. 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.
  7. "Clipper". thocp.net. The History Of Computing Project. 20 June 2007. Archived from the original on 12 May 2008. Retrieved 24 August 2016.
  8. ^ Rod da Silva (October 1, 1995). "Examining CA-Visual Objects". Dr. Dobb's Journal.
  9. "Converting Clipper applications to windows". January 31, 2006.
  10. "xHarbour.org". www.xharbour.org.

External links

xBase programming language
Implementations
IDE
Categories: