- FlagShip compiler
-
Dieser Artikel wurde aufgrund von inhaltlichen Mängeln auf der Qualitätssicherungsseite der Redaktion Informatik eingetragen. Dies geschieht, um die Qualität der Artikel aus dem Themengebiet Informatik auf ein akzeptables Niveau zu bringen. Hilf mit, die inhaltlichen Mängel dieses Artikels zu beseitigen und beteilige dich an der Diskussion! (+)
FlagShip ist sowohl eine objektorientierte, als auch prozedurale Programmiersprache, basierend auf dem bekannten xBase Dialekt und deren Konventionen. FlagShip ist verfügbar für unterschiedliche Betriebssysteme wie Linux, Unix und Microsoft Windows. Als echter Compiler übersetzt er den populären 4GL-xBase-Quelltext und erzeugt eine ausführbare Datei (32-Bit- oder 64-Bit-Executable bzw. .EXE), wobei der gleiche Quelltext und die gleichen Datenbanken verwendet werden.
Geschichte
Die erste FlagShip-Version hat multisoft Datentechnik GmbH im Jahre 1992 eingeführt, als Portierung der Clipper, dBASE III+, FoxBase und FoxPro Applikationen zu unterschiedlichen Unix-Betriebssystemen, z,B. SCO Unix, IBM AIX, Sun Solaris, HP-UX, Siemens Sinix u.v.m. Im Jahre 1995 erschien auch eine Linux-Portierung. Im Jahre 2002 wurde Visual FlagShip (abgekürzt als VFS) geboren, zuerst für Linux, und 2004 auch für die 32-Bit-MS-Windows-Betriebssysteme. Die aktuellen (2008) VFS-Versionen sind für nahezu alle 32-Bit- und 64-Bit-Betriebssysteme verfügbar.
Programmierung
FlagShip ist ein Programmier- und Entwicklungswerkzeug. Wie alle anderen Compiler ist er hauptsächlich für die professionelle Softwareentwicklung konzipiert. Dank der einfachen Schnittstelle wird er jedoch oft auch von semiprofessionellen und erfahrenen Anwendern, die ein Datenbankprogramm mit minimalem Aufwand erstellen wollen, genutzt. Durch die volle Clipper-Kompatibilität ist FlagShip auch bestens geeignet, vorhandene DOS Anwendungen nach Unix, Linux oder die neuen MS-Windows Betriebssysteme zu portieren.
Eine Lernkurve ist gar nicht erforderlich, falls man mit den xBase Dialekten wie dBase, FoxBase, FoxPro, Clipper, Visual Objects vertraut ist. Dies ist bei Millionen von ausgebildeten Softwareentwicklern der Fall, die eine dieser 4GL-Sprachen seit Jahren nutzen; alle können direkt auf FlagShip umsteigen. Falls Sie bisher keine xBase-Kenntnisse, jedoch Erfahrung in der Programmierung mit C, C++, Java, Pascal, Delphi, Basic usw. haben, ist die Lernkurve sehr flach – das erste Programm kann bereits mit weniger als 10 Kommandos erstellt werden.
Visual FlagShip erstellt vollautomatisch und aus dem gleichen Quelltext ein GUI-orientiertes und/oder textuelles Programm. Natürlich kann das Aussehen frei modifiziert werden, sowohl mittels der OOP Klassen als auch durch die entsprechenden Funktionen. Der Ausführungsmodus (GUI, textuell oder stream für Web) wird bei einer heterogenen Applikation automatisch durch die Umgebung bestimmt, bzw. kann durch Eingabeparameter bei der Kompilierung oder Programm-Ausführung vorgegeben werden.
Zum Beispiel, mit diesen wenigen Programmzeilen, abgespeichert in der Textdatei address.prgUSE address ALIAS adr SHARED NEW SET COLOR TO "W+/B,GR+/R,W/B,W/B,GR+/BG" SET GUICOLOR OFF cls @ 1, 0 SAY "Id No. " GET adr->IdNum PICT "999999" VALID IdNum > 0 @ 3, 0 SAY "Company" GET adr->Company @ 3,35 SAY "Branch" GET adr->Branch WHEN !empty(adr->Company) @ 4, 0 SAY "Name " GET adr->Name VALID !empty(adr->Name) @ 4,35 SAY "First " GET adr->First @ 6, 0 SAY "Country" GET adr->Country PICTURE "!" + repli("x",24) @ 8, 0 SAY "Zip " GET adr->Zip PICT "@!" VALID !empty(adr->Zip) @ 9, 0 SAY "City " GET adr->City @ 10, 0 SAY "Street " GET adr->Street @ 6,35,11.4,47 GET adr->Type RADIOGROUP {"Male","Female","Company","None"} @ 7,50 GET adr->Interest CHECKBOX CAPTION "Interested party" @ 8,50 GET adr->Customer CHECKBOX CAPTION "Customer" @ 9,50 GET adr->Reseller CHECKBOX CAPTION "Reseller" @ 10,50 GET adr->Distrib CHECKBOX CAPTION "Distributor" READ
... und einem Aufruf von
FlagShip address.prg -o address
... kompiliert, wird ein ausführbares Programm (d.h. Address.exe in der Windows-Umgebung) erstellt, und
... wie jede andere Applikation ausgeführt.
Zusätzliche Beispiele und Screenshots sind über die Weblinks (unten) verfügbar.
Weblinks
Wikimedia Foundation.