Harbour (perisian)
Paradigma | Pelbagai paradigma: imperatif, kefungsian, berorientasikan objek, pantulan |
---|---|
Muncul pada | 1999 |
Direka oleh | Antonio Linares |
Pembangun | Viktor Szakáts dan komuniti |
Lepasan stabil | 3.0.0 (17 Julai 2011 | )
Lepasan pratunjuk | 3.1.x tersedia daripada SVN |
Disiplin penjenisan | secara pilihan itik, dinamik, selamat, separuh tegas |
Dialek | Clipper, Xbase++, Flagship, FoxPro, xHarbour |
Dipengaruhi | dBase, Clipper |
Mempengaruhi | xHarbour |
OS | Rentas-pelantar |
Lesen | Sumber terbuka serasi GPL |
Sambugan fail biasa | .prg, .ch, .hbs, .dbf |
Laman web | http://www.harbour-project.org/ |
Harbour ialah sebuah bahasa pengaturcaraan komputer moden. Ia serasi dengan Clipper yang rentas-pelantar, mampu berjalan pada kebanyakan sistem pengendalian (DOS, Microsoft Windows, Linux, varian Unix, beberapa keturunan BSD, Mac OS X, MINIX 3, Windows CE, Pocket PC, Symbian, iPhone, QNX, VxWorks, OS/2/eComStation, BeOS/Haiku, AIX) menggunakan kod sumber dan pangkalan data yang sama.
Walaupun ia sebuah bahasa pengaturcaraan serbaguna yang hebat, namun ia diguna terutamanya untuk mencipta atur cara pangkalan data/perniagaan. Harbour telah diselenggarakan dengan aktif mencari kepelbagaian sambil mengekalkan keserasian kebelakang dengan gaya Clipper. Ia telah melalui pelbagai perubahan dan mendapat kepopularan meluas dalam tahun 1980-an dan 1990-an.
Lesen sumber terbuka Harbour[1] serupa dengan Lesen Awam Am GNU, kecuali ia menyokong aplikasi hak milik, jadi sesebuah aplikasi hak milik boleh dihasilkan dengan Harbour dan diedarkan.
Contoh
[sunting | sunting sumber]Ringkas
[sunting | sunting sumber]Contoh atur cara "hello world" biasa ialah:
? "Hello, world!"
Atau:
QOut( "Hello, world!" )
Atau:
Alert( "Hello, world!" )
Atau, dikurung dalam tatacara nyata:
PROCEDURE Main()
? "Hello, world!"
RETURN
#include "hbclass.ch"
PROCEDURE Main()
LOCAL oPerson := Orang( "Dave" )
oPerson:Eyes := "Invalid"
oPerson:Eyes := "Blue"
Alert( oPerson:Describe() )
RETURN
CLASS Person
DATA Name INIT ""
METHOD New() CONSTRUCTOR
ACCESS Eyes INLINE ::pvtEyes
ASSIGN Eyes( x ) INLINE IIF( ValType( x ) == 'C' .AND. x IN "Blue,Brown,Green", ::pvtEyes := x, Alert( "Invalid value" ) )
// Contoh pentakrifan Method DALAM-BARIS
INLINE METHOD Describe()
LOCAL cDescription
IF Empty( ::Name )
cDescription := "I have no name yet."
ELSE
cDescription := "My name is: " + ::Name + ";"
ENDIF
IF ! Empty( ::Eyes )
cDescription += "my eyes' color is: " + ::Eyes
ENDIF
ENDMETHOD
PRIVATE:
DATA pvtEyes
ENDCLASS
// Contoh pentakrifan Method biasa.
METHOD New( cName ) CLASS Person
::Name := cName
RETURN Self
Rujukan
[sunting | sunting sumber]- Pages using deprecated source tags
- Bahasa pengaturcaraan bertatacara
- Keluarga bahasa pengaturcaraan xBase
- 4GL
- Bahasa pengaturcaraan penjenisan dinamik
- Bahasa pertanyaan
- Bahasa pengaturcaraan pengisytiharan
- Perisian DOS
- Peralatan pengaturcaraan Linux
- Perisian Windows
- Bahasa pengaturcaraan dicipta pada tahun 1999