OpenEdge ABL
Az OpenEdge Advanced Business Language, vagy röviden OpenEdge ABL (korábban Progress 4GL) egy üzleti alkalmazásfejlesztő nyelv, melyet a  Progress Software Corporation (PSC) hozott létre és tart karban. A nyelv osztálya tipikusan egy negyedik generációs programozási nyelv, amely angolhoz hasonló v. angol-szerű szintaxist használ a szoftver fejlesztés leegyszerűsítésére. A nyelvet PROGRESS-nek vagy Progress 4GL-nek hívták a 10.0-s verzió kiadása előtt, de a PSC 2006-ban a OpenEdge Advanced Business Language-re (OpenEdge ABL) változtatta, azért, hogy leküzdjék azt az ipari feltételezést, mi szerint a 4GL-es nyelvek rosszabb képességekkel rendelkeznek, mint más nyelvek. A nyelv egy részhalmazát SpeedScript-nek hívják és web alkalmazás fejlesztésre használják.

Az OpenEdge ABL segít a fejlesztőknek az alkalmazás fejlesztésben, opcionálisan használva a saját integrált relációs adatbázisát és programozási eszközeit. Ezek az alkalmazások hordozhatók a számítógépes rendszerek között és lehetővé teszik számos népszerű adatforrás elérését az adatelérés módjának ismerete nélkül. Ez azt jelenti, hogy ezen termékek végfelhasználójának nem kell tudatában lennie a mögöttes architektúrának.

A negyedik generációs nyelv és a relációs adatbázis kombinációjával az OpenEdge ABL lehetővé teszi a gyors alkalmazásfejlesztés modell használatát a szoftverfejlesztésben. A fejlesztő, de még a végfelhasználó is tud készíteni egy gyors prototípust az integrált fejlesztő környezet és GUI eszközök használatával.

Verziótörténet

Szintaxis és szemantika
A Progress ABL egy erősen típusos, késői kötésű angol-szerű programozási nyelv. Habár eredetileg procedurális nyelvnek tervezték, a 10.1-es verzióval kezdődően kiegészítették objektumorientált nyelvtani elemekkel is, amely keverhető az eredeti procedurális stílussal. A kód egy blokkja lehet tranzakciós scope-ú is, ebben az esetben az adatbázis-változások akkor lesznek jóváhagyva, amikor a blokk befejeződik. Amennyiben hiba dobódik egy ilyen blokkba, akkor a változások visszavonásra kerülnek. Ezt a beépített funkcionalitást a fejlesztő felüldefiniálhatja.

Az egyszerű programok GUI nélkül futnak, de lehetőség van GUI-s alkalmazás létrehozására is a mellékelt eszközök segítségével.

Példák

Hello világ

A következő ABL-kód egy ablakot készít „Hello, világ!” felirattal, és azon egy „OK”-gombot.
DEFINE VARIABLE ablak AS HANDLE NO-UNDO.

CREATE WINDOW ablak ASSIGN 
    WIDTH = 50
    HEIGHT = 5
    MESSAGE-AREA = FALSE
    STATUS-AREA = FALSE.

CURRENT-WINDOW = ablak.

DEFINE BUTTON gomb LABEL "OK" SIZE 12 BY 1.2.
FORM 
    "Hello világ!" VIEW-AS TEXT AT COL 20 ROW 2
    gomb AT COL 20 ROW 4
    WITH FRAME keret SIZE 50 BY 5 NO-BOX THREE-D.

VIEW FRAME keret.
ENABLE gomb WITH FRAME keret.
WAIT-FOR "CHOOSE" OF gomb.
DELETE OBJECT ablak.

Ugyanezt eredményezi egy „message-box” kirakása is:
MESSAGE "Hello világ!"
    VIEW-AS ALERT-BOX INFO BUTTONS OK.

Az ERROR vagy a WARNING használata az INFO helyett megváltoztatja a üzenethez tartozó ikont.

A legegyszerűbb  „Hello, világ” program, a következő:
DISPLAY "Hello világ!".

Az SQL-es SELECT ekvivalense

Az SQL-utasítás:
SELECT * FROM vevo;

Ugyanez Progress/ABL-kifejezéssel:
FOR EACH vevo NO-LOCK:
    DISPLAY vevo.
END.

Az SQL-es UPDATE ekvivalense

Az SQL-utasítás:
UPDATE vevo 
    SET uzletkoto = 'Kovács István'
    WHERE vevokod = 14;

Ugyanez Progress/ABL-kifejezéssel:
FOR vevo WHERE vevo.vevokod = 14 EXCLUSIVE-LOCK:
    ASSIGN vevo.uzletkoto = 'Kovács István'.
END.

Jegyzetek

További információk

 Sadd, J. OpenEdge Development: Progress 4GL Handbook, Progress Software Corporation, , 
 Kassabgi, G. Special Edition : Using Progress, Que Publishing,

Fordítás

Objektumorientált programozási nyelvek
Az OpenEdge Advanced Business Language , vagy röviden OpenEdge ABL ( korábban ProgressL ) egy üzleti alkalmazásfejlesztő nyelv , melyet a Progress Software Corporation ( PSC ) hozott létre és tart karban . A nyelv osztálya tipikusan egy negyedik generációs programozási nyelv , amely angolhoz hasonló v. angol-szerű szintaxist használ a szoftver fejlesztés leegyszerűsítésére . A nyelvet PROGRESS-nek vagy ProgressL-nek hívták a0-s verzió kiadása előtt , de a PSCban a OpenEdge Advanced Business Language-re ( OpenEdge ABL ) változtatta , azért , hogy leküzdjék azt az ipari feltételezést , mi szerint aL-es nyelvek rosszabb képességekkel rendelkeznek , mint más nyelvek . A nyelv egy részhalmazát SpeedScript-nek hívják és web alkalmazás fejlesztésre használják . Az OpenEdge ABL segít a fejlesztőknek az alkalmazás fejlesztésben , opcionálisan használva a saját integrált relációs adatbázisát és programozási eszközeit . Ezek az alkalmazások hordozhatók a számítógépes rendszerek között és lehetővé teszik számos népszerű adatforrás elérését az adatelérés módjának ismerete nélkül . Ez azt jelenti , hogy ezen termékek végfelhasználójának nem kell tudatában lennie a mögöttes architektúrának . A negyedik generációs nyelv és a relációs adatbázis kombinációjával az OpenEdge ABL lehetővé teszi a gyors alkalmazásfejlesztés modell használatát a szoftverfejlesztésben . A fejlesztő , de még a végfelhasználó is tud készíteni egy gyors prototípust az integrált fejlesztő környezet és GUI eszközök használatával . Verziótörténet Szintaxis és szemantika A Progress ABL egy erősen típusos , késői kötésű angol-szerű programozási nyelv . Habár eredetileg procedurális nyelvnek tervezték , a1-es verzióval kezdődően kiegészítették objektumorientált nyelvtani elemekkel is , amely keverhető az eredeti procedurális stílussal . A kód egy blokkja lehet tranzakciós scope-ú is , ebben az esetben az adatbázis-változások akkor lesznek jóváhagyva , amikor a blokk befejeződik . Amennyiben hiba dobódik egy ilyen blokkba , akkor a változások visszavonásra kerülnek . Ezt a beépített funkcionalitást a fejlesztő felüldefiniálhatja . Az egyszerű programok GUI nélkül futnak , de lehetőség van GUI-s alkalmazás létrehozására is a mellékelt eszközök segítségével . Példák Hello világ A következő ABL-kód egy ablakot készít „ Hello , világ ! ” felirattal , és azon egy „ OK”-gombot . DEFINE VARIABLE ablak AS HANDLE NO-UNDO. CREATE WINDOW ablak ASSIGN WIDTH = HEIGHT = 5 MESSAGE-AREA = FALSE STATUS-AREA = FALSE. CURRENT-WINDOW = ablak . DEFINE BUTTON gomb LABEL " OK " SIZEBY2. FORM " Hello világ ! " VIEW-AS TEXT AT COLROW 2 gomb AT COLROW 4 WITH FRAME keret SIZEBYNO-BOX THREE-D . VIEW FRAME keret . ENABLE gomb WITH FRAME keret . WAIT-FOR " CHOOSE " OF gomb . DELETE OBJECT ablak . Ugyanezt eredményezi egy „ message-box” kirakása is : MESSAGE " Hello világ ! " VIEW-AS ALERT-BOX INFO BUTTONS OK. Az ERROR vagy a WARNING használata az INFO helyett megváltoztatja a üzenethez tartozó ikont . A legegyszerűbb „ Hello , világ” program , a következő : DISPLAY " Hello világ ! " . Az SQL-es SELECT ekvivalense Az SQL-utasítás : SELECT * FROM vevo ; Ugyanez Progress /ABL-kifejezéssel : FOR EACH vevo NO-LOCK : DISPLAY vevo . END . Az SQL-es UPDATE ekvivalense Az SQL-utasítás : UPDATE vevo SET uzletkoto = 'Kovács István' WHERE vevokod = Ugyanez Progress /ABL-kifejezéssel : FOR vevo WHERE vevo.vevokod =EXCLUSIVE-LOCK : ASSIGN vevo.uzletkoto = 'Kovács István' . END . Jegyzetek További információk Sadd , J. OpenEdge Development : ProgressL Handbook , Progress Software Corporation , , Kassabgi , G. Special Edition \ : Using Progress , Que Publishing , Fordítás Objektumorientált programozási nyelvek