In this part of our computer programming guide, we will focus on Harbour, an open-source and cross-platform version of the older Clipper system, which was itself developed from the dBase database market of the 1980s and 1990s.
Like dBase and Clipper, the language is primarily used for creating database and business applications. The Harbour project was intended as a fresh take on the Clipper legacy while maintaining compatibility with xBase languages.
Harbour was designed by Antonio Linares and developed by Viktor Szakáts and the Harbour development community. It first appeared in 1999, and, as of this writing (2024), the last stable release was in July 2011, although its GitHub repository remains active, with new content posted as recently as yesterday.
Harbour code using the same database using the same databases can be compiled under a broad variety of platforms, old and new, including Windows, Linux and other Unix variants, several BSD descendants, macOS, MINIX 3, Pocket PC, Symbian, iOS, Android, QNX, VxWorks, OS2, EcomStation, ArcaOS, BeOS, and even MS-DOS.
It is available under various licenses, largely its own Harbour Project licenses.
Harbour supports imperative, functional, object-oriented, and reflective programming paradigms, and its roots in the dBase era influence its strong database integration.
Harbour provides standard data types such as integers, floating-point numbers, characters, and logical values. Additionally, it supports user-defined data types. Variables in Harbour are declared using the LOCAL keyword, and can be of various data types and are case-insensitive. Harbour supports FOR, DO WHILE, and DO UNTIL loops, and conditional branching is achieved using IF, ELSE, and ENDIF. SWITCH statements are used for multi-way decisions, and BEGIN SEQUENCE statements are used for grouping multiple statements. Harbour allows for defining reusable code blocks through PROCEDURE and FUNCTION, which may have parameters and return values.
Harbour is widely used for creating custom business applications, including inventory management, accounting, and point-of-sale systems. Organizations often migrate legacy Clipper applications to Harbour for modernization. Its cross-platform nature makes it suitable for embedded systems development, and some scientific and engineering applications are leveraging Harbour for data processing and analysis.
Harbour bridges the past and present, offering a robust platform for developers to build efficient, database-centric applications across multiple environments.
 
 
Recommended Resources
Alexander Kresin is a software developer known for his contributions to the Harbour programming language, including HbEDit (a console text editor for Harbour), HwGUI (a GUI interface library for Harbour), HwBuilder (another tool related to Harbour), and Harbour for Beginners, which includes manuals and guides for people interested in learning Harbour, covering installation, program compilation, and other features of the language. Website contents may be viewed in English or in Russian.
https://kresin.ru/en/
Serving software development teams, GitHub hosts software project development, including programming languages, allowing teams to collaborate. The official GitHub repository for the Harbour programming language includes repositories for the core portable, xBase-compatible programming language and environment known as Harbour, as well as its website, archives, reference guides, and other documentation. Profiles of people involved in the Harbour development community may be viewed.
https://github.com/harbour
Google Groups: Harbour Developers
Google Groups is a service of Google providing discussion groups for people who share common interests, particularly in tech fields. This group brings Harbour programmers, with various expertise levels, together, where they can network, exchange ideas, ask questions, and answer questions. In order to participate in discussions, a Google account is required, as is joining the group. Only messages pertaining to bug reports, feature requests, suggestions, and similar topics are allowed.
https://groups.google.com/g/harbour-devel
Hosted on Google Groups, this is a user discussion group for people using the Harbour programming language. Anyone can view forum conversations or join the group, although only registered members can post. Posts from new members will be held for moderation. Offering user-to-user support, members may ask or answer questions posted to the group, and links to official support sites, reference guides, documentation, and other resources are included. A contact form is available.
https://groups.google.com/g/harbour-users
First released in 1999, and substantially redesigned in 2009, Harbour is a modern, cross-platform version of the Clipper programming language. Available as open-source, the language is backward compatible with xBase languages, and 100% compatible with Clipper compilers, but portable across multiple operating systems with the same code base. The project status and development notes are given, along with its features, full documentation, and a download page.
https://harbour.github.io/
Hosted on a blogging platform, the site provides information about Harbour, an open-source programming language available through the GNU License. It supports both commercial applications and exceptions. Included is a mix of Harbour introductory content, tutorials, code snippets, suggestions, references to third-party online resources, information on migrating from Clipper to Harbour, and using the programming language to create programs for various operating system platforms.
https://harbourlanguage.blogspot.com/
The Harbour Project is a free and open-source software effort to build a multi-platform Clipper language compiler. Consisting of the xBase language compiler and the runtime libraries with different terminal plugins and different databases, Harbour is a cross-platform compiler known to compile and run on MS-DOS, Windows (32 and 54), Windows CE, Pocket PC, OS/2, GNU/Linux, and Mac OSX. The project status and development news is published, and sample applications are included.
http://harbour-project.org/
Harbour is a fourth-generation computer language based on the C language and open-source implementation of an xBase computer language. Utilizing a Wiki platform and hosted by EL Software, this site serves as a resource to the Harbour community. The Harbour Language Compilation Process Diagram illustrates the way in which Harbour works, and authors and experts in various aspects of the language contribute articles on Harbour topics. Links to additional online resources are also included.
https://harbour.wiki/
Started by Ron Pinkas in 2001, xHarbour was a fork from the Harbour Project, creating the open-source, extended Clipper compiler, offering multiple graphic terminals, including console drivers, GUIs, and hybrid console/GUIs, and is backward-compatible with Clipper. It is also available as a scripting language. A history of the project is put forth here, the developers are acknowledged, and the programming language, source code, and required tools are included.
http://www.xharbour.org/
xHarbour Builder is a set of commercial tools built around the open-source xHarbour compiler, a superset of the well-known xBase language, often referred to as Clipper. While xHarbour is 100% backward compatible with the Clipper language, xHarbour Builder adds several modern features and tools found in most modern compilers. Personal, Professional, and Enterprise editions are available, along with a free demo. Other resources include screenshots, documentation, and support groups.
https://www.xharbour.com/