Clipper
By Nantucket / Computer Associates
Clipper is a compiler and programming language for building xBase-family database applications, originally created to compile dBase-style command syntax into fast standalone executables rather than requiring an interactive interpreter.…
Definition
Clipper is a compiler and programming language for building xBase-family database applications, originally created to compile dBase-style command syntax into fast standalone executables rather than requiring an interactive interpreter. It preserved compatibility with dBase's `.dbf` file format and command vocabulary while adding stronger procedural programming features, static typing options, and performance that made it practical for larger, distributable commercial software.
Overview
Clipper began as a response to a specific limitation of dBase: dBase programs ran through an interpreter, which was convenient for interactive use but slow and required distributing the interpreter alongside every application. Clipper instead compiled dBase-compatible source code directly into a native executable, so a finished application could be shipped as a single file without licensing or bundling a separate runtime interpreter, and it typically ran markedly faster because commands no longer had to be re-parsed on every execution. Mechanically, Clipper extended the xBase command language with real procedural constructs: user-defined functions with local and static variables, array types, and a preprocessor that supported macro-like text substitution for generating repetitive code. It kept full compatibility with the `.dbf` table format and indexing conventions established by dBase, so existing data files and much existing application logic could carry over with limited modification, while the compiled output handled screen I/O, file access, and reporting through its own runtime library linked into the executable. Among xBase tools, Clipper occupied the developer-focused end of the spectrum: where dBase emphasized interactive, ad hoc querying and FoxPro later added a more integrated development environment and stronger built-in indexing engine, Clipper prioritized compiled performance and language power for professional developers building sizeable, shippable applications. It was not a relational database server, and it depended on the same flat-file, client-managed-relationships model as the rest of the xBase family, so it inherited that model's ceiling on multi-user concurrency and data integrity guarantees. In practice, Clipper became a workhorse for commercial software houses and independent developers through the late 1980s and early 1990s, used to build accounting packages, inventory systems, and vertical-market business software that needed to run without royalties per deployed copy. Its combination of dBase-familiar syntax and native-code performance made it a common upgrade path for teams whose applications had outgrown interpreted dBase but who did not want to rewrite everything in a general-purpose language like C. Clipper's limitations mirrored those of the xBase model generally: no built-in multi-user locking beyond basic file-level record locks, no query optimizer, and increasingly dated tooling as Windows-based development environments and true relational database servers matured through the 1990s. As Microsoft FoxPro added a full IDE and object-oriented extensions, and as SQL-based client-server databases became the default choice for growing applications, Clipper's user base shrank; it is now a niche and largely historical tool, with descendants like Harbour continuing open-source, Clipper-compatible compilation for legacy codebases.
Key Features
- Compiles dBase-compatible source directly into standalone native executables
- Full backward compatibility with the `.dbf` table format and xBase commands
- User-defined functions with local, static, and array variable types
- Macro-capable preprocessor for generating repetitive application code
- No separate runtime interpreter required for distributing finished applications
- Faster execution than interpreted dBase for CPU-bound business logic
- Ecosystem of third-party libraries for screen forms and reporting