Description #
Harbour is a modern open-source implementation of the xBase programming language, designed to be a Clipper-compatible compiler. It compiles to native machine code and is used primarily for developing business applications, database tools, and legacy system replacements.
History #
Harbour was launched in 1999 as a community-driven effort to continue the development of Clipper, a once-popular compiler for dBASE-like languages in DOS environments. It was created by Antonio Linares and others to provide a free, modern Clipper-compatible language that runs on modern operating systems like Windows, Linux, and macOS.
Hello World Code #
PROCEDURE Main()
? "Hello, World!"
RETURN
How to Run #
Option 1: Online
No official online compiler, but TryHarbour may provide community demos.
Option 2: Local
- Download from https://harbour.github.io
- Compile and run:
hbmk2 hello.prg
./hello
Key Concepts #
- Syntax style: dBASE/Clipper-style procedural syntax
- Typing discipline: Dynamically typed, runtime-typed variables
- Execution model: Compiled to C, then to native binary
- Common use cases: Business applications, reporting tools, database UIs
- Toolchain or ecosystem:
hbmk2
, Harbour compiler, GT/GUI libraries - Paradigms supported: Procedural, modular, event-driven
- Compilation details: Harbour → C → Native machine code
- Strengths or quirks: xBase syntax, direct DBF file access, multiplatform targeting
- Libraries/frameworks: HBQt, HMG, FiveWin compatibility
- Community/adoption: Used in niche sectors where Clipper and xBase are still prevalent
Try It Online #
No full-featured online IDE available; best experience is local compilation using hbmk2
.
Fun Facts #
Harbour can be compiled to C and then further compiled using GCC, Clang, or MSVC — allowing it to run on virtually any system. It supports DBF file manipulation natively, making it valuable in maintaining legacy business systems.