Clipper is an
xBase compiler
In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primaril ...
that implements a variant of the ''xBase'' computer
programming language
A programming language is a system of notation for writing computer programs.
Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
. It is used to create or extend software programs that originally ran usually on
DOS
DOS (, ) is a family of disk-based operating systems for IBM PC compatible computers. The DOS family primarily consists of IBM PC DOS and a rebranded version, Microsoft's MS-DOS, both of which were introduced in 1981. Later compatible syste ...
. Although it is a powerful general-purpose programming language, it was used mainly to create
database
In computing, a database is an organized collection of data or a type of data store based on the use of a database management system (DBMS), the software that interacts with end users, applications, and the database itself to capture and a ...
business programs.
One major
dBase
dBase (also stylized dBASE) was one of the first database management systems for microcomputers and the most successful in its day. The dBase system included the core database engine, a query system, a Form (programming), forms engine, and a pr ...
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
CA Technologies, Inc., formerly Computer Associates International, Inc., and CA, Inc., was an American multinational enterprise software developer and publisher that existed from 1976 to 2018. CA grew to rank as one of the largest independent ...
, 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
CA Technologies, Inc., formerly Computer Associates International, Inc., and CA, Inc., was an American multinational enterprise software developer and publisher that existed from 1976 to 2018. CA grew to rank as one of the largest independent ...
for 190 million dollars and the product was renamed to CA-Clipper.
Clipper was created as a replacement programming language
A programming language is a system of notation for writing computer programs.
Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
for Ashton Tate's ''dBASE
dBase (also stylized dBASE) was one of the first database management systems for microcomputers and the most successful in its day. The dBase system included the core database engine, a query system, a Form (programming), forms engine, and a pr ...
III'', a very popular database language at the time. The advantage of Clipper over dBASE was that it could be compiled and executed
Capital punishment, also known as the death penalty and formerly called judicial homicide, is the state-sanctioned killing of a person as punishment for actual or supposed misconduct. The sentence (law), sentence ordering that an offender b ...
on DOS
DOS (, ) is a family of disk-based operating systems for IBM PC compatible computers. The DOS family primarily consists of IBM PC DOS and a rebranded version, Microsoft's MS-DOS, both of which were introduced in 1981. Later compatible syste ...
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 many applications for banking
A bank is a financial institution that accepts Deposit account, deposits from the public and creates a demand deposit while simultaneously making loans. Lending activities can be directly performed by the bank or indirectly through capital m ...
and insurance companies
Insurance is a means of protection from financial loss in which, in exchange for a fee, a party agrees to compensate another party in the event of a certain loss, damage, or injury. It is a form of risk management, primarily used to protect ...
were developed, here especially in those cases where the application was considered too small to be developed and run on traditional mainframe
A mainframe computer, informally called a mainframe or big iron, is a computer used primarily by large organizations for critical applications like bulk data processing for tasks such as censuses, industry and consumer statistics, enterpris ...
s. In these environments Clipper also served as a front end for existing mainframe applications.
As the product matured, it added elements of the programming languages C and Pascal, and object-oriented programming
Object-oriented programming (OOP) is a programming paradigm based on the concept of '' objects''. Objects can contain data (called fields, attributes or properties) and have actions they can perform (called procedures or methods and impl ...
(OOP), and the code-block data-type (hybridizing the concepts of dBase macros, or string
String or strings may refer to:
*String (structure), a long flexible structure made from threads twisted together, which is used to tie, bind, or hang other objects
Arts, entertainment, and media Films
* ''Strings'' (1991 film), a Canadian anim ...
-evaluation, and function pointer
A function pointer, also called a subroutine pointer or procedure pointer, is a pointer referencing executable code, rather than data. Dereferencing the function pointer yields the referenced function, which can be invoked and passed arguments ...
s), to become far more powerful than the original. Nantucket's Aspen project later matured into the Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
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 ]DOS
DOS (, ) is a family of disk-based operating systems for IBM PC compatible computers. The DOS family primarily consists of IBM PC DOS and a rebranded version, Microsoft's MS-DOS, both of which were introduced in 1981. Later compatible syste ...
to Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
. 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 computer programming, one of the many ways that programming languages are colloquially classified is whether the language's type system makes it strongly typed or weakly typed (loosely typed). However, there is no precise technical definition o ...
, in contrast to the original dBASE language. An evolution of Clipper, named VO, added strong typing but made it optional, to remain compatible with existing code.[ Four of the more important languages that took over from Clipper were ]Visual Basic Visual Basic is a name for a family of programming languages from Microsoft. It may refer to:
* Visual Basic (.NET), the current version of Visual Basic launched in 2002 which runs on .NET
* Visual Basic (classic), the original Visual Basic suppo ...
, Microsoft Access
Microsoft Access is a database management system (DBMS) from Microsoft that combines the relational database, relational Access Database Engine (ACE) with a graphical user interface and software-development tools. It is a member of the Microsof ...
, Delphi
Delphi (; ), in legend previously called Pytho (Πυθώ), was an ancient sacred precinct and the seat of Pythia, the major oracle who was consulted about important decisions throughout the ancient Classical antiquity, classical world. The A ...
, and Powerbuilder
PowerBuilder is an integrated development environment owned by SAP since the acquisition of Sybase in 2010. On July 5, 2016, SAP and Appeon entered into an agreement whereby Appeon, an independent company, would be responsible for developing, s ...
. 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'', and free ( GPL-licensed) projects like ''Harbour
A harbor (American English), or harbour (Commonwealth English; see American and British English spelling differences#-our, -or, spelling differences), is a sheltered body of water where ships, boats, and barges can be Mooring, moored. The t ...
'' and ''xHarbour''.
Many of the current implementations are portable (DOS
DOS (, ) is a family of disk-based operating systems for IBM PC compatible computers. The DOS family primarily consists of IBM PC DOS and a rebranded version, Microsoft's MS-DOS, both of which were introduced in 1981. Later compatible syste ...
, Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
, Linux
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
( 32- and 64-bit
In computer architecture, 64-bit integers, memory addresses, or other data units are those that are 64 bits wide. Also, 64-bit central processing units (CPU) and arithmetic logic units (ALU) are those that are based on processor registers, a ...
), Unix
Unix (, ; trademarked as UNIX) is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
(32- and 64-bit), and macOS
macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
), supporting many language extensions, with much extended runtime libraries, and various Replaceable Database Drivers (RDD) supporting many popular database formats, like DBF, DBTNTX, DBFCDX (FoxPro
FoxPro is a text-based (computing), text-based Procedural programming, procedurally oriented programming language and database management system (DBMS), and it is also an object-oriented programming language, originally published by Fox Softwar ...
, Apollo, Comix, and Advantage Database Server), MachSix (SIx Driver and Apollo), SQL
Structured Query Language (SQL) (pronounced ''S-Q-L''; or alternatively as "sequel")
is a domain-specific language used to manage data, especially in a relational database management system (RDBMS). It is particularly useful in handling s ...
, and more. These newer implementations all strive for full compatibility with the standard dBase
dBase (also stylized dBASE) was one of the first database management systems for microcomputers and the most successful in its day. The dBase system included the core database engine, a query system, a Form (programming), forms engine, and a pr ...
/ xBase syntax, while also offering OOP approaches and target-based syntax such as SQLExecute()
.
Usenet
The Clipper Usenet
Usenet (), a portmanteau of User's Network, is a worldwide distributed discussion system available on computers. It was developed from the general-purpose UUCP, Unix-to-Unix Copy (UUCP) dial-up network architecture. Tom Truscott and Jim Elli ...
newsgroup
A Usenet newsgroup is a repository usually within the Usenet system for messages posted from users in different locations using the Internet. They are not only discussion groups or conversations, but also a repository to publish articles, start ...
s ar
comp.lang.clipper
an
comp.lang.clipper.visual-objects
Programming in Clipper
A simple hello world
Hello World may refer to:
* "Hello, World!" program, a computer program that outputs or displays the message "Hello, World!"
Music
* "Hello World!" (composition), song by the Iamus computer
* "Hello World" (Tremeloes song), 1969
* "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 Clipper versions, and release dates, were:
From Nantucket Corporation; the "seasonal versions", billed as "dBase
dBase (also stylized dBASE) was one of the first database management systems for microcomputers and the most successful in its day. The dBase system included the core database engine, a query system, a Form (programming), forms engine, and a pr ...
compiler
In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primaril ...
s":
* Nantucket Clipper Winter'84 – May 25, 1985
* Nantucket Clipper Summer'85 – 1985
* Nantucket Clipper Winter'85 – January 29, 1986
* Nantucket Clipper Autumn'86 – October 31, 1986
* Nantucket Clipper Summer'87 – December 21, 1987
From Nantucket Corporation; Clipper 5:
* Nantucket Clipper 5.00 – 1990
* Nantucket Clipper 5.01 – April 15, 1991
* Nantucket Clipper 5.01 Rev.129 – March 31, 1992
and from Computer Associates
CA Technologies, Inc., formerly Computer Associates International, Inc., and CA, Inc., was an American multinational enterprise software developer and publisher that existed from 1976 to 2018. CA grew to rank as one of the largest independent ...
; CA-Clipper 5:
* CA Clipper 5.01a –
* CA Clipper 5.20 – February 15, 1993
* CA-Clipper 5.2a – March 15, 1993
* CA Clipper 5.2b – June 25, 1993
* CA-Clipper 5.2c – August 6, 1993
* CA Clipper 5.2d – March 25, 1994
* CA-Clipper 5.2e – February 7, 1995
* CA Clipper 5.30 – June 26, 1995
* CA Clipper 5.3a – May 20, 1996
* CA Clipper 5.3b – May 20, 1997
Clipper Tools
After buying Nantucket, along with the standard Clipper library
A library is a collection of Book, books, and possibly other Document, materials and Media (communication), media, that is accessible for use by its members and members of allied institutions. Libraries provide physical (hard copies) or electron ...
, CA developed another, named ''Clipper Tools''. Three versions of this library were released, alongside Clipper versions. This library became a de facto standard among Clipper clones, such as xHarbour. It was also cloned by several of Clipper's clones.
References
External links
Free Open Source Graphic, GUI & Form Designer for CA-Clipper
mini Clipper FAQ
article
The Oasis
is the largest file archive for CA-Clipper and xBase on the web
Harbour Project
A 32/64 bit multiplatform Clipper compiler
CA-Clipper Website
{{Authority control
1985 software
Fourth-generation programming languages
DOS software
Dynamic programming languages
Dynamically typed programming languages
High-level programming languages
Programming languages
Programming languages created in 1985
XBase programming language family
Table-oriented programming
Articles with example code