Liberty BASIC wurde ursprünglich von Carl Gundel geschrieben und wird seit 1992 durch sein Unternehmen Shoptalk Systems herausgegeben und weiterentwickelt. Die letzte Aktualisierung erfolgte 2017. Die aktuelle Version ist v4.5.1.
Allgemeines
Neben einer MS-DOS-ähnlichen Konsole, verwendet Liberty BASIC auch die grafische Benutzeroberfläche (englisch: Graphical User Interface, GUI). Die Software enthält einen visuellen Formdesigner, FreeForm genannt, welcher in Liberty Basic geschrieben ist. Das Programm wurde durch die Liberty Basic Gemeinschaft weiter ausgebaut. Der JIT-Compiler kompiliert (wie bei Java Virtual Machine) nach Bytecode der durch eine Runtime Engine ausgeführt wird. Liberty BASIC ist Shareware und nur registrierte Anwender können eigenständige Programme erzeugen.
Sprite Animation, Klang, Musik, Maus- und Joystick-Steuerung
Erstellen eines Paketes zum Erzeugen eines eigenständigen Programms
Ein Zusatzpaket genannt ASSIST, mit Quellcode-Formatierer, Quellcode-Versionsverwaltung, Leistungsanzeige im Debugger und Quellcode-Vergleich
Mit Version 4.04 ist das Zusatzpaket Assist mit der Grundversion zur Pro Version verschmolzen worden.
Programmiersprache
Es war eine zentrale Idee, die Behandlung der Fenster nach derselben Syntax wie die Dateibehandlung zu modellieren.
Beispiel aus der Liberty BASIC-Hilfe: „Der OPEN Befehl ermöglicht die Kommunikation mit einer Datei, einem Fenster, einer DLL oder einem seriellen Port.“
OPEN device FOR purpose AS #handle {LEN = n}
OPEN Gerät FOR Zweck AS #eindeutiger Name {LEN = n}
Diese universelle Syntax ist eine der Eigenschaften von Liberty BASIC, die es einfacher zu erlernen machen. Sobald ein „Gerät“ geöffnet ist, kann man Daten und auch Steuerbefehle an das Gerät senden. Dieser Befehl „kann mit PRINT angegeben werden“. Für jedes Gerät gibt es eigene Befehlssätze. In den neueren Versionen von Liberty BASIC kann das Wort „Print“ weggelassen werden, wodurch die Syntax noch einfacher wird.
Zum Beispiel
Der Quellcode
NOMAINWINOPEN"Aufschrift des Fensters"FORwindowAS#Fenster#Fenster"trapclose [quit]"'oder PRINT #Fenster, "trapclose [quit]"WAIT[quit]CLOSE#FensterEND
erzeugt
Literatur
Beginning Programming with Liberty BASIC (englisch)