Application Development with Harbour/Introduction

From Wikibooks, open books for an open world
Jump to: navigation, search

What is Harbour?[edit]

Harbour is a modern, high-level, cross-platform computer programming language compiler.

It is a compiler with support for all major platforms. It runs on and creates binaries for DOS, Microsoft Windows, Linux (32 and 64 bit), Unix (32 and 64 bit), BSD, Mac OS X, Windows CE, Pocket PC, Symbian, iOS (iPhone), Android OS, QNX, VxWorks, Ecomstation and Haiku / BeOS using the same source-code and databases.

Harbour is based on Clipper, a compiler for the dBase language, popular in the 1980s and 90s. Although a powerful general-purpose programming language, it was primarily used to create database/business programs. Harbour shares the dBase ancestry with CA-Visual Objects and FoxPro. Harbour is actively maintained. Many features and paradigms have been introduced.

Databases are traditionally stored in dbf-files, Clipper already introduced a plug-in-system for supporting other ways of database-storage and access. Harbour now supports many major relational-database-management-systems.

The Clipper user interface is traditionally text based. Today, Harbour supports gui-frameworks like Qt and or native MS-Windows controls.

Unlike FoxPro or CA-Visual Objects, Harbour is still backward-compatibility with Clipper.

That means, you can take 20 year old code and compile it to make it run on a modern operating system or to develop it into a modern Gui-Application or to add support for RDMS-Systems. Harbour's strength is not only to keep legacy-projects alive. It is also a good choice for new cross-platform applications, because it is an easy to learn, yet very powerful language.

Amateurs and beginners have an easy start because of the Basic-like language. Professionals enjoy a huge set of functions and programming philosophies.

The open source Harbour license[1] is similar to the GNU General Public License, with an exception supporting commercial applications, so commercial applications can be produced with Harbour and distributed.

History[edit]

dBase was a database application released in the early 1980s by Ashton Tate. At the time it was very advanced software. One of the major drawbacks was that it was an interpreted language and therefore rather slow. In winter 1985, former Ashton Tate employees founded Nantucket and released Clipper, a dBase compatible compiler that turned dBase-Code into DOS-binaries (.exe) that were much faster and could be distributed to users that did not own dBase.

Clipper was a DOS application that lost much of its significance, when MS Windows gained popularity in die mid 1990s. Computer Associates bought Nantucket but later abandoned Clipper for CA-Visual Objects. Alaska Software developed XBase++, a Windows 32-bit program and Mulitsoft released FlagShip, a compiler that was capable of compiling Clipper-programms on Windows, Linux and Unix. Those projects extended the Clipper functionality.

The idea of a free open source software Clipper compiler has been floating around for a long time and the subject has often cropped up in discussion on the usenet group comp.lang.clipper. Antonio Linares founded the Harbour project and the implementation was started. Since 1999 harbour is the free implementation of Clipper. In 2001 a fork named xHarbour was created as a commercial distribution.

A Clipper is a type of ship. Sailing the Clipper ship to a Harbour port. Harbour is a synonym to port (where ship docks) Harbour is the port to the Clipper language.

On 2009 Harbour had a huge make over on its design promoted mainly by Viktor Szakáts and Przemyslaw Czerpak.

References[edit]