Clipper (programming language)

Last updated
Clipper
First appeared1985 (1985)
Stable release
CA Clipper 5.3b / May 20, 1997;26 years ago (1997-05-20)
OS MS-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.

Contents

One major dBase feature not implemented in Clipper is the dot-prompt (. prompt) interactive command set, [1] 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. [2]

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. [3] In 1992, the company was sold to Computer Associates for 190 million dollars and the product was renamed to CA-Clipper. [4] [5]

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 [6] 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. [7]

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. [8]

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 [3] (compared to 250,000 worldwide).

Decline

In the early 1990s, under new ownership, [8] 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. [8] 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 . [9]

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, [10] 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 Clipper Helloworld.png
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"

From Nantucket Corporation; Clipper 5

and from Computer Associates; CA-Clipper 5

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.

Related Research Articles

In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.

Bytecode is a form of instruction set designed for efficient execution by a software interpreter. Unlike human-readable source code, bytecodes are compact numeric codes, constants, and references that encode the result of compiler parsing and performing semantic analysis of things like type, scope, and nesting depths of program objects.

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 forms engine, and a programming language that tied all of these components together.

A cross compiler is a compiler capable of creating executable code for a platform other than the one on which the compiler is running. For example, a compiler that runs on a PC but generates code that runs on an Android smartphone is a cross compiler.

Ashton-Tate Corporation was a US-based software company best known for developing the popular dBASE database application and later acquiring Framework from the Forefront Corporation and MultiMate from Multimate International. It grew from a small garage-based company to become a multinational corporation. Once one of the "Big Three" software companies, which included Microsoft and Lotus, the company stumbled in the late 1980s and was sold to Borland in September 1991.

<span class="mw-page-title-main">Delphi (software)</span> General-purpose programming language and a software product

Delphi is a general-purpose programming language and a software product that uses the Delphi dialect of the Object Pascal programming language and provides an integrated development environment (IDE) for rapid application development of desktop, mobile, web, and console software, currently developed and maintained by Embarcadero Technologies.

xBase is the generic term for all programming languages that derive from the original dBASE (Ashton-Tate) programming language and database formats. These are sometimes informally known as dBASE "clones". While there was a non-commercial predecessor to the Ashton-Tate product, most clones are based on Ashton-Tate's 1986 dBASE III+ release — scripts written in the dBASE III+ dialect are most likely to run on all the clones.

<span class="mw-page-title-main">Free Pascal</span> Free compiler and IDE for Pascal and ObjectPascal

Free Pascal Compiler (FPC) is a compiler for the closely related programming-language dialects Pascal and Object Pascal. It is free software released under the GNU General Public License, with exception clauses that allow static linking against its runtime libraries and packages for any purpose in combination with any other software license.

Visual Objects is an object-oriented computer programming language that is used to create computer programs that operate primarily under Windows. Although it can be used as a general-purpose programming tool, it is almost exclusively used to create database programs.

Paradox is a relational database management system currently published by Corel Corporation.

Harbour is a computer programming language, primarily used to create database/business programs. It is a modernized, open source and cross-platform version of the older Clipper system, which in turn developed from the dBase database market of the 1980s and 1990s.

<span class="mw-page-title-main">C Sharp (programming language)</span> Programming language

C# is a general-purpose high-level programming language supporting multiple paradigms. C# encompasses static typing, strong typing, lexically scoped, imperative, declarative, functional, generic, object-oriented (class-based), and component-oriented programming disciplines.

<span class="mw-page-title-main">VP-Info</span>

VP-Info is a database language and compiler for the personal computer. VP-Info was a competitor to the Clipper and dBase applications in the late 1980s and 1990s. VP-Info was originally intended to run on MS-DOS, DR-DOS and the PC-MOS/386 operating system, but now is run in the vDOS, Windows environment. The last release of VP-Info, a multi-tasking, multi-user version released in 1992 was named SharkBase, or simply "Shark".

<span class="mw-page-title-main">XBase++</span>

Xbase++ is an object oriented programming language which has multiple inheritance and polymorphism. It is based on the XBase language dialect and conventions. It is 100% Clipper compatible language supporting multiple inheritance, polymorphism, object oriented programming. It supports the xBase data types, including Codeblocks. With Xbase++ it is possible to generate applications for Windows NT, 95, 98, Me, 2000, XP, VISTA and Windows 7, 8, 10.

<span class="mw-page-title-main">Visual Basic (classic)</span> Microsofts programming language based on BASIC and COM

Visual Basic (VB) before .NET, sometimes referred to as Classic Visual Basic, is a third-generation programming language, based on BASIC, and an integrated development environment (IDE), from Microsoft for Windows known for supporting rapid application development (RAD) of graphical user interface (GUI) applications, event-driven programming and both consumption and development of components via the Component Object Model (COM) technology.

Basic4ppc is a programming language originally for Pocket PC handheld computers running Windows Mobile operating system, by Anywhere Software. Since 2014, B4x was renamed, and currently, 2023, supports multiple devices and their OS, including desktop and mobile solutions with development adaptions for these environments. The language is based on a BASIC-like syntax, taking advantage of Microsoft's .NET technology, to allow additional libraries, graphical user interface design of windows forms, rapid application development (RAD), and .NET framework compatible compilation. The language implements a unique way of adding objects to a program without being object-oriented. Its advantages are simplicity, development pace and the integration with .NET framework. A special version of the integrated development environment (IDE) allows developing straight onto the Windows Mobile device or. With the demise of Windows Mobile operating system and the devices running it Basic4PPC came to the end of its life in about 2012. For owners of Basic4PPC it remains a useful Windows-desktop BASIC compiler as it runs code directly in the Windows environment and it can compile a project to a Windows 'exe' file for use as a Windows program.

<span class="mw-page-title-main">Visual FoxPro</span> Programming language

Visual FoxPro is a programming language that was developed by Microsoft. It is a data-centric and procedural programming language with object-oriented programming (OOP) features.

ActiveVFP is a server-side scripting framework designed for Web development to produce dynamic Web pages. Similar to PHP, but using the native Visual Foxpro (VFP) language and database, ActiveVFP can also be used in Model-View-Controller (MVC) web applications as well as RESTful API. ActiveVFP is completely free and open source and does not require the purchase of Microsoft Visual FoxPro or any additional software.

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. 1 2 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. 1 2 3 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.