PowerBASIC
PowerBASIC ist ein BASIC-Compiler, der in varianten für DOS und Windows von der Firma PowerBASIC, Inc. hergestellt wird.
Was ist PowerBASIC für DOS?
PowerBASIC für DOS ist ein professioneller BASIC-Compiler, der zu ca. 90% mit Microsoft Q(uick)Basic kompatibel ist und einen rasend schnellen Code erzeugt - im Schnitt ca. 2...4 mal so schnell wie bei QuickBasic. Das liegt daran, dass PowerBASIC echte Maschinensprache absetzt, während QuickBasic nur sogenannten P-Code erzeugt, der letztendlich zur Laufzeit doch nur interpretativ - Statement für Statement - abgearbeitet wird. Der PowerBASIC-Compiler selbst arbeitet ebenfalls extrem schnell. Normalerweise ist das Programm in Sekundenbruchteilen fertig kompiliert. Die erzeugten EXE-Programme sind selbstständig ablauffähig und benötigen keinerlei Runtime-Module.
PowerBASIC hat viele Vorteile gegenüber Q(uick)Basic. Die Nachteile liegen im Preis und in dem etwas schwierigeren Einstieg für Anfänger. PowerBASIC kostet ca. 99,- EUR und zum kostenlosen Download gibt es nur eine stark eigeschränkte Testversion V3.20 bei www.powerbasic.com . Hierbei handelt es sich um eine voll funktionsfähige 30-Tage-Demoversion, bei der jedoch das Abspeichern und Laden von Programmen unterbunden ist. Es gibt dort auch die Freeware "FirstBasic", eine etwas angestaubte PowerBASIC-Version ohne Mausbedienung.
QBasic-Programmierer beklagen gelegentlich, dass bei PowerBASIC die Subroutinen und Funktionen nicht in eigenen Fenstern durchblätterbar sind und die Online- Syntax-Kontrolle fehlt. QBasic-Programme müssen in der Regel leicht angepaßt werden, bevor sie unter PowerBASIC lauffähig sind; mehr Informationen darüber gibt es weiter unten im Abschnitt "Wie kann ich Q(uick)Basic-Programme nach PowerBASIC portieren?" .
Die neueste PowerBASIC-Version V3.50 ist nur mit einer englischen Bedienoberfläche verfügbar. Beim deutschen Importeur Kirschbaum gibt es aber die kaum weniger leistungsfähige Version V3.20 mit einer deutschen Online-Hilfe und 2 deutschen Handbüchern (insgesamt ca. 1000 Seiten) für 99,- Euro (reduzierte Preise für Schüler auf Anfrage).
Alle Versionen mit einer "3" vor dem Dezimalpunkt lassen sich im Gegensatz zu den Vorgängerversionen mit der Maus bedienen. Die Entwicklungsumgebung enthält einen Editor, den eigentlichen Compiler und einen Debugger (Testhilfeprogramm).
Was gibt es über die Geschichte von PowerBASIC zu berichten?
Parallel zu Microsofts QuickBASIC entwickelte eine zweite Firma einen BASIC- Compiler für den professionellen Markt, nämlich die für ihre "Turbo"- Programmierumgebungen bekannte Firma Borland. "TurboBASIC" sollte zusätzlich zu "TurboPascal" und "Turbo C" die Serie ergänzen; die Version 1.0 des TurboBASIC- Compilers erschien 1986. Diese Programmiersprache war vor allem von der Programmierumgebung her stark an das Schwesterprodukt "TurboPascal" angelehnt. Auffällig war vor allem die Unterstützung der strukturierten Programmierung.
Der Sprachumfang erweiterte prinzipiell den von GW-BASIC und lag damit in der Nähe von QuickBasic; auch hier existierten also neue Konstrukte zur Unterstützung der strukturierten Programmierung. Da TurboBASIC eine Parallelentwicklung zu QuickBasic war und nicht auf diesem, sondern auf GW-Basic aufsetzt, sind einige Dinge prinzipiell anders gelöst als bei QuickBasic.
PowerBASIC ist die Weiterentwicklung von TurboBASIC, und im Laufe der Jahre ist die Kompatibilität zu QuickBasic stetig verbessert worden, so dass QuickBasic Programme mit geringem Aufwand zu PowerBASIC übertragen ("portiert") werden können - siehe den untenstehenden Abschnitt "Wie kann ich Q(uick)Basic-Programme nach PowerBASIC portieren?" .
Josef Kirschbaum, der deutsche PowerBASIC-Importeur, kann aus erster Hand über den weiteren Verlauf der PowerBASIC Story berichten, denn Robert ("Bob") Zale, der PowerBASIC-Entwickler, ist ein alter Bekannter von ihm. Im Folgenden gebe ich einige Informationen weiter, die Josef Kirschbaum mir am Telefon gab:
Robert ("Bob") Zale war der Entwickler des ehemaligen, von Borland vermarkteten TurboBASIC, dem Vorgänger von PowerBASIC und besaß von Anfang an (also ab 1987) alle Rechte an dem Programm. Durch einen Exklusiv-Vertrag hatte Bob Zale alle Vermarktungsrechte für TurboBASIC an die Firma Borland übertragen.
Mit dem Erscheinen von Microsoft QuickBasic sah Borland wohl keine Marktchancen mehr für das - sehr gute - TurboBASIC gegenüber Microsofts Q(uick)Basic und wollte statt dessen lieber sein populäres TurboPascal weiterentwickeln. Microsofts Marketing-Geniestreich bestand darin, QBasic umsonst anzubieten und sich damit eine Riesen-Kundenschar für das kostenpflichtige QuickBasic heranzuzüchten. Dagegen war Borland machtlos, womit sich wieder einmal bewahrheitete, daß sich nicht immer das technisch beste Produkt, sondern häufig dasjenige mit dem besten Marketing durchsetzt.
Bob Zale löste 1989 den mit Borland bestehenden Distributionsvertrag auf und ließ sich die Vermarktungsrechte für TurboBASIC von Borland wiedergeben, durfte aber laut Vertrag den Namen TurboBASIC nicht weiterverwenden, weil "Turbo..." ja Borlands Markenzeichen war. Es gab ja schließlich von Borland TurboPascal, Turbo C, Turbo C++ usw.
Bob fand dann in der Firma Spectra Publishing einen neuen Partner für den weltweiten Vertrieb des Compilers, der nun den Namen "PowerBASIC" bekam.
Im Gegensatz zu QuickBasic, das ab 1989 nicht mehr weiterentwickelt wurde, hat Bob Zale den Sprachumfang von PowerBASIC ständig erweitert und sogar die von der Programmiersprache C her bekannten Konstrukte "Pointer" (Zeigertypen) und "Unions" integriert.
Als Spectra Publishing dann ca. 1993 Konkurs ging, gründete Bob Zale seine eigene Firma "PowerBASIC, Inc." mit Sitz in Carmel/ Californien und entwickelt und vertreibt nun die verschiedenen Varianten von PowerBASIC in eigener Regie.
Der Erfolg von TurboBASIC und PowerBASIC hielt und hält sich jedoch in Grenzen, obwohl die Produkte viel beworben wurden. Dies dürfte an der starken Marktdominanz von Microsofts QuickBASIC in den Jahren 1986 bis 1990 liegen, dessen Erfolg mit Hilfe des Freeware-Interpreters QBASIC bis ca. 1995 anhielt.
Bis in die frühen 90er Jahre und bis zur Version 2.1 hatte PowerBASIC einen weiteren erheblichen Nachteil gegenüber QuickBasic. Es gab zwar eine IDE ("Integrated Development Environment", zu deutsch "Integrierte Entwicklungsumgebung") mit Pull-Down-Menüs, jedoch keine Maus-Unterstützung. Diese gab es erst ab 1992 mit der PowerBASIC Version 3.0. Microsoft war hier PowerBASIC in Bezug auf Benutzerkomfort um Jahre voraus.
Heute setzt PowerBASIC für DOS auf einen Sektor der Programmentwicklung, der in der Zwischenzeit (seit Mitte bis Ende der 90er Jahre) kaum mehr gefragt ist: Die Entwicklung für MS-DOS. Damit hat es sich zu einer Programmiersprache für einen spezialisierten Sektor abseits des Massenmarktes entwickelt, in dem es aber (vor allem seit dem in der Zwischenzeit eingestellten Vertrieb von QuickBASIC 4.5) kaum Konkurrenz zu fürchten braucht.
Seit einigen Jahren liegt der Schwerpunkt von Bob Zales Entwicklungsmannschaft auf der Weiterentwicklung der PowerBASIC-Versionen für 32 Bit Windows.
Was ist PowerBASIC für Windows?
Übersicht
Es gibt zwei PowerBASIC-Varianten für Windows:
- PowerBASIC für Windows
(abgekürzt "PB/Win"; früherer Name: PowerBASIC DLL, abgekürzt "PB/DLL"). Mit diesem Compiler lassen sich Anwendungen mit einer Windows-üblichen Bedienungsoberfläche erstellen.
- PowerBASIC Console
(abgekürzt "PB/CC" = PowerBASIC Console Compiler). Mit PowerBASIC Console lassen sich rein textbasierte Windows-Anwendungen erstellen.
Der Einstieg in diese Programmiersprachen ist nicht "von ohne". Beide Compiler
sind etwas komplex und nicht gerade billig (199,- $ und 169,- $). Leider gibt es für
diese Compiler meines Wissens noch nicht einmal eine Demo-Version zum
Ausprobieren und auch keine verbilligte Schüler-/Studentenversion. Daher werden
sie im Hobbybereich kaum verwendet.
PowerBASIC für Windows (PB/Win)
PB/Win hieß bis Mitte 2002 "PB/"DLL" und ist eine moderne, relativ leicht erlernbare Programmiersprache, mit der man Anwendungen programmieren kann, die eine Windows-gemäße Benutzeroberfläche mit Menüs, Dialogboxen usw. haben. Man spricht in diesem Zusammmenhang auch von einem GUI (Graphic User Interface = grafische Bedienoberfläche). PB/Win kann extrem schnelle und kleine EXE-Programme erzeugen, die bei Bedarf auch ohne zusätzliche DLL- oder OCX-Laufzeitbibliotheken auskommen und ohne besondere Installation sofort lauffähig sind. Ein compiliertes "Hello World"-Programm hat eine Größe von nur 4 KB - gegenüber 1,5 MB (!!) bei VisualBasic 6. Mit der neuesten Version V7.0 unterstützt PB/Win sogar Macros (wiederholbare Quellsprache- Programmteile). Über die Include-Datei WINAPI.INC lässt sich auf alle Windows-Funktionen direkt zugreifen. Laufzeitbibliotheken werden dazu nicht benötigt. PB/Win glänzt darüber hinaus durch einen eingebauten 32-Bit-Inline-Assembler. Mit dem neuen "PowerBASIC Forms" für PB/Win steht ein Tool zur Verfügung, das einen schnellen visuellen Entwurf von Anwenderoberflächen ermöglicht. Damit versucht PowerBASIC, endlich bezüglich der blitzschnellen Entwicklung grafischer Anwenderoberflächen mit VisualBasic gleichzuziehen. Leider muss PowerBASIC Forms zusätzlich zum PB/Win-Compiler für 99,-$ erworben werden. Außerdem ist PB/Win prädestiniert zum Erstellen sehr schlanker und schneller Laufzeitbibliotheken (DLLs), auf die man dann auch von beliebigen anderen Programmiersprachen aus zugreifen kann - daher der alte Name "PB/DLL". PB/DLL erschien übrigens erstmalig 1996 zunächst als 16-Bit-Version für Windows 3.1x auf dem Markt. PB/Win hat eine komfortable Entwicklungsumgebung (IDE), die außer dem Compiler einen Editor mit einer farblichen Hervorhebung der Sprachelemente ("Syntax-Coloring"), einen leistungsfähigen Debugger sowie eine vorbildliche Hilfefunktion enthält. Der Debugger bietet eine komfortable Trace-Funktion, die das Aufzeichnen aller wichtigen Dateninhalte und Codeadressen während des Programmablaufs ermöglicht.
PowerBASIC Console (PB/CC)
Mit PB Console kann man von Haus aus nur textbasierte Anwendungen entwickeln, die quasi wie DOS-Programme aussehen. Grafikbefehle wie SCREEN, PSET, LINE und CIRCLE werden nicht unterstützt. Es gibt jedoch für PB Console etliche Bibliotheken und Add-Ons, mit deren Hilfe die Programmierung grafisch ansprechender Spiele und Zugriffe auf das Windows- API (Application Programm Interface mit Dialogboxen usw.) möglich wird. Obwohl die von PB/CC erstellten Programme wie DOS-Programme aussehen, haben sie einen vollen Zugriff auf alle Systemfunktionen von Windows: Es ist ein Hauptspeicherbereich von bis zu 2 GB adressierbar, lange Dateinamen sind möglich und alle von Windows über Treiber unterstützten Geräte wie Drucker, Modems und Netzwerke (inklusive dem Internet) lassen sich ansprechen. PB/CC ist extrem schnell und ideal für alle Anwendungen, die keine grafische Bedienoberfläche benötigen, z.B. Mathematik- und Datenbank-Programme. Für Q(uick)Basic-Programmierer ist PB Console mit Sicherheit als Aufsteigersprache besser geeignet als PB/Win, weil es "DOS-ähnlicher" ist und man sich nicht gleich von Anfang an mit der ganzen komplexen Windows Programmiertechnik auseinandersetzen muss.
Zusammenfassung
PB/Win und Console sind mehr für die Erstellung betriebswirtschaftlicher Anwendungen und von Tools gedacht. Zur Programmierung von Spielen und Multimedia-Anwendungen sind sie weniger geeignet. Soweit mir bekannt ist, gibt es kaum Spiele, die in PB für Windows programmiert sind. Für die Spieleprogrammierung unter Windows sind Blitz Basic (mit seiner integrierten DirectX-Schnittstelle) und DarkBasic offensichtlich besser geeignet. Es gibt übrigens sogar einen VisualBasic -> PB/Win Converter, der VB4 / VB5 Programmcode nach PB DLL konvertieren soll.
Links zu PowerBASIC
powerbasic.com - die offizielle Webseite von PowerBASIC, Inc.: [1]
Bei www.powerbasic.com gibt es Unmengen von Foren, FAQs und Download-Dateien, und man kann PowerBASIC online erwerben.
gohel.de - die größte europäische PowerBASIC-Seite: [2]
Thomas Gohels Webseite www.gohel.de ist mit Sicherheit die wichtigste deutschsprachige PowerBASIC-Seite. Dort findest Du die offizielle deutsche PowerBASIC FAQ, in der fast keine Frage zu PowerBASIC unbeantwortet bleibt. Thomas hat in dieser FAQ einen enormen Schatz an Informationen zu PB zusammengetragen: Über 120 Fragen und die dazugehörigen Antworten als HTML- Version sowie alternativ in einer 160 KB großen TXT-Datei. Die PowerBASIC-FAQ ist auch in einer englischsprachigen Version verfügbar. www.gohel.de ist die weltweit älteste PowerBASIC Seite und darüber hinaus die größte in Europa. Hier findet man in der "Filebase" Tonnen von PowerBASIC - Programmen zu Downloaden - insgesamt ungefähr 760 Dateien mit ca 60 MB, das weltweit größte Download-Angebot für PB Fans. !!! Fast alle diese Dateien sind übrigens auf meiner QBasic CD-ROM enthalten, die Du für nur 5,- EUR auf www.qbasic.de erwerben kannst. Auf www.gohel.de findet man auch eine umfangreiche offizielle deutsche Assembler FAQ. Thomas Gohel ist in der deutschen und internationalen PowerBASIC Szene bekannt wie ein bunter Hund und gehört als eine der wichtigsten Personen in der weltweiten PowerBASIC Community der bekannten Gruppe der "BasicGurus" an. Wer mehr über Thomas Gohel wissen will, der kann auf www.antonis.de/gohel.htm ein hochinteressantes Interview lesen, das ich Anfang 2002 mit Thomas geführt habe.
Weitere deutsche PowerBASIC-Seiten
Leider sind die ernstzunehmenden deutschsprachigen Webseiten zu PowerBASIC fast an einer Hand abzuzählen. Zu den besseren Seiten gehören
- Die offizielle deutsche PowerBASIC-Seite des Importeurs Kirschbaum Software [3]
- Martin Häuptlers Homepage: [4]
- Jan Philipp Hakenbergs Homepage: [www.hakenberg.de]
- Robert Seidels Homepage : [5]
- Jochen Bergmanns Homepage: [6]
- power-basic.de: Kleine PowerBASIC-Seite mit Forum und einem sehr interessanten Vergleich zwischen TurboPascal und PowerBASIC. [7]
- Vobis Download-Archiv zu PowerBASIC: [8]
Weitere englische PowerBASIC-Seiten
- Mark van den Dikkenberg's Homepage: [9]
Newsgroups
Untenstehend findest Du auch einige gute und stark frequentierte englischsprachige Newsgroups zu PowerBASIC, die Du abonnieren solltest, wenn Du auf hohem Niveau über PowerBASIC diskutieren willst. Traditionell finden die meisten Online - Diskussionen über PowerBASIC in den Usenet-Newsgroups statt und nicht in WWW-basierten Foren.
- alt.lang.powerbasic
- lt.lang.basic
- comp.lang.basic.powerbasic
- comp.lang.basic.misc
- comp.lang.basic.visual.3rdparty - Diskussionsplattform u.A. für PB/DLL
--217.250.170.232 18:27, 13. Sep 2005 (CEST)