Aviva Directory » Computers & Internet » Programming » dBase/xBase » Harbour

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

Search for Harbour on Google or Bing