____                          ____  ___   _____ __________
   / __ \____ _      _____  _____/ __ )/   | / ___//  _/ ____/
  / /_/ / __ \ | /| / / _ \/ ___/ __  / /| | \__ \ / // /     
 / ____/ /_/ / |/ |/ /  __/ /  / /_/ / ___ |___/ // // /___   
/_/    \____/|__/|__/\___/_/  /_____/_/  |_/____/___/\____/   




   Inhalt

   Vorbemerkungen
Foto der PowerBASIC-Verpackung

Diese Seite soll mithelfen, die extrem leistungsfähige Programmiersprache PowerBASIC bekannter zu machen. Dabei lege ich den Schwerpunkt auf PowerBASIC für DOS. Im letzten Abschnitt wird aber auch PowerBASIC für Windows kurz vorgestellt.
  Die folgenden Personen haben wichtige Beiträge zu diesem Artikel geliefert:
   Was ist PowerBASIC für DOS?

Offizielles Logo für PB/DOS

PowerBASIC für DOS ist ein professioneller BASIC-Compiler, der zu ca. 90% mit 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 QuickBasic, die unten im Abschnitt "Was sind die Vorteile von PowerBASIC QuickBasic?" aufgeführt sind.

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).

Screenshot von PowerBASIC/DOS 3.50

Screenshot von PowerBASIC für DOS V3.50 mit einigen Inline-Assembler-Befehlen

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).

zurück zum Inhalt

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:

Foto von Robert Zahle
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.
    Robert ("Bob") Zale

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 (heute Venice / Florida) 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 (PowerBASIC-DLL und PowerBASIC-Console). An PowerBASIC arbeiten momentan ca. 5 Entwickler (Stand vom 11.2001).

zurück zum Inhalt

.... und hier noch eine Anwendermeinung zu PowerBASIC

Und hier noch eine Meinung von einem PowerBASIC-User namens "webbl", die ich auf den doyoo-Seiten im Internet fand:

PowerBASIC ist gerade für den Programmier-Einsteiger der heutigen Zeit nichts besonderes, nicht so schön bunt, übersichtlich und >>technisch aussehend<< wie die anderen Sprachen Delphi, Visual C++, usw. Dabei wird dieser Basic-Dialekt - wie BASIC allgemein - sehr unterschätzt. Es bietet das, was von anderen Sprachen versprochen, aber nicht eingehalten wird - schnelle Programmentwicklung auch ohne ein routinierter Programmierer zu sein.

Während sich der Einsteiger z.B. bei Pascal-Sprachen mit den Tücken der Typenkonvertierung herumschlagen muss, ist der PowerBASIC-Programmierer schon fertig. Sehr positiv fallen an diesem Dialekt der sehr schnelle Compiler und die üppigen Möglichkeiten der Stringverarbeitung auf. Ich denke, dass diese Sprache heute vielleicht nicht mehr auf dem neuesten Stand der Technik ist, aber in manchen Punkten sehr viel mehr bietet als "modernere" Sprachen. Insgesamt empfehle ich PowerBASIC dem Programmier-Einsteiger und jenen Profis, die gerne mit DOS arbeiten.


zurück zum Inhalt

   Was sind die Vorteile von PowerBASIC gegenüber QuickBasic?

Zusätzliche Befehle gegenüber QB

  • PowerBASIC kennt viele zusätzliche Befehle, z.B. MIN / MAX (Ermittlung der größten / kleinsten von mehreren Variablen), ROUND usw.
  • Besonders für die flexible Bearbeitung von Strings stellt PowerBASIC eine Reihe von leistungsfähigen Befehlen zur Verfügung.
  • Über ARRAY {SORT | SCAN | INSERT | DELETE} lassen sich Feldelemente komfortabel sortieren, suchen, einfügen und löschen.
  • PowerBASIC bietet viel mehr Möglichkeiten für den direkten Speicherzugriff durch folgende zusätzlichen Befehle: PEEKI für Integer-Zugriffe, PEEKL für Long-Integer-Zugriffe und PEEK$ und POKE$ für String-Zugriffe. Mit PEEK$ und POKE$ lassen sich sogar ganze Speicherblöcke bequem verschieben und kopieren. QuickBasic kennt nur die Befehle PEEK und POKE zum Lesen und Schreiben von Bytes.
  • Ab V3.20 gibt es auch Bitbefehle wie SHIFT, ROTATE und SET (Bit auf "1" setzen), RESET (Bit auf "0" setzen), TOGGLE (Bit invertieren) und TEST (Bit abfragen).
  • Mit der Microtimer-Funktion MTIMER lassen sich Zeiten bis hinunter zu 1 µs unbhängig von der CPU-Geschwindigkeit bilden (1 µs = 0,000001 s). QuickBasic kennt lediglich die TIMER - Funktion, die eine Zeitenbildung nur in ganzen Vielfachen von 56 ms zulässt (56 ms = 0,056 s).
  • Über EXIT SELECT kann ein SELECT CASE Block und mit EXIT IF ein IF...THEN Block vorzeitig verlassen werden. Diese Befehle vermisst man schmerzlich bei Q(uick)Basic.

zurück zum Inhalt

Zusätzliche Datentypen gegenüber QB

  • Es gibt wesentlich mehr Datentypen, z.B.
    • Byte
    • vorzeichenlose Ganzzahl (Integer). Ab V3.20 gibt es die vorzeichenlosen Integer-Datentypen Byte (0...255), Word (0...65536) und Double Word (0...4.294.967.295). QuickBasic kennt nur Integer-Typen mit Vorzeichen.
    • Riesen-Integerzahlen mit 64 Bits
    • Riesen-Gleitpunktzahlen mit einer erweiterten Genauigkeit von 80 Bits
    • BCD-Festpunktzahlen mit bis zu 16 Dezimalstellen; hierdurch werden die gefürchteten Rundungsfehler in kaufmännischen Berechnungen sicher vermieden
    • BCD-Gleitpunktzahlen
    • Riesen-Strings bis maximal 32 KB
  • Ab der PowerBASIC-Version V3.20 werden benutzerdefinierte Datentypen ("Strukturen") unterstützt. Damit hat PowerBASIC endlich mit QuickBasic gleichgezogen, das derartige Datentypen mit TYPE...END TYPE schon von Anfang an kannte. Auch Unions werden jetzt unterstützt.
  • Ab V3.20 gibt es "Absolute Arrays", die an einer angegebenen "absoluten" Adresse im Speicher abgelegt werden. Auf diese Weise kann beispielsweise der Bildschirmspeicher als Array definiert und dadurch elegant bearbeitet werden. Oder ein PowerBASIC-Programm könnte mit einem TSR-Programm über solche Arrays Daten austauschen.

zurück zum Inhalt

Pointer

  • Ab der PowerBASIC-Version V3.20 ist eine indirekte Adressierung über Daten- und Codepointer möglich. Das ist ein Riesenvorteil gegenüber QuickBasic und macht PowerBASIC endgültig zu einer professionellen Programmiersprache für DOS-Anwendungen ! Die Datenpointer ermöglichen auch einen bequemen Zugriff auf absolute Speicheradressen mit "normalen" Befehlen und ohne Verwendung von DEF SEG, PEEK und POKE. Dabei können beliebige Datentypen verwendet werden, z.B. INTEGER, LONG INTEGER und sogar Felder anwenderdefinierten Typs (TYPE...END TYPE) - eine große Erleichterung für den Programmierer! Pointer gab es bislang in keinem anderen BASIC-Dialekt. PowerBASIC hat damit sogar die Programmiersprache C weitgehend eingeholt.

zurück zum Inhalt

Inline-Assembler und TSR-Programme

  • Der integrierte "Inline Assembler" gestattet es ab V3.20, Assembleranweisungen direkt in den Quellcode zu schreiben und beliebig mit den PowerBASIC-Befehlen zu mischen. So kann man hardwarenahe und Rechenzeit-optimierte Funktionen realisieren, ohne die gewohnte Entwicklungsumgebung zu verlassen. Du kannst z.B. ganz locker folgende Befehlsfolge hinschreiben:

    c%=10
    ASM mov ax, c%
    ASM add ax, 17
    ASM mov c%, ax
    PRINT c%


    Auf dem Bildschirm wird nach Ablauf dieser Befehlssequenz "27" angezeigt. Schreibfaule können das "ASM" übrigens durch ein Ausrufezeichen "!" ersetzen (siehe den obenstehenden Screenschot von PB 3.50).
  • Ab Version 3.20 lassen sich TSR-Programme bequem erstellen - ohne großen Aufwand und ohne spezielle Kenntnisse dieser komplexen Materie (TSR = Terminate and Stay Resident; speicherresidente Programme). Die TSR-Programme verbleiben beim Beenden im Hauptspeicher und beanspruchen dort dann nur noch ca. 4 kB. Durch ein beliebig wählbars Ereignis lässt sich das TSR-Programm wieder starten, z.B. durch das Betätigen einer Hotkey-Taste, das Ablaufen eines Timers oder den Aufruf durch das "Vordergrundprogramm". TSR-Programme sind die einzige Möglichkeit, unter DOS eine Art Multitasking zu realisieren. Es gibt kaum eine andere Programmiersprache, die ein so bequemes Erstellen von TSR-Programmen innerhalb der Entwicklungsumgebung ermöglicht wie PowerBASIC.

zurück zum Inhalt

Mehr Speicher nutzbar

  • PowerBASIC unterstützt fast beliebig große dynamische Strings. Bei QuickBasic 4.5 ist der String-Speicher auf insgesamt 32 KB und bei QuickBasic 7.1 auf 64 KB je Programm-Modul bzw. SUBroutine beschränkt.
  • Ab V3.20 können numerische Arrays ebenso wie String-Arrays größer als 64 KByte sein ("Huge Arrays"). Durch Nutzung des erweiterten EMS-Speichers sind sogar Feldgrößen bis 16 MB problemlos möglich.
  • PowerBASIC kennt Bitfelder bis zu einer Größe von 512 KB, bei denen ein direkter Zugriff auf jedes Bit über die Bitbefehle möglich ist.

zurück zum Inhalt

Erweiterte Entwicklungsumgebung

  • Ab V3.20 lässt sich vor der Erstellung eines neuen Programms festlegen, ob Variablen und Arrays vor ihrer ersten Verwendung explizit mit ihren Datentypen deklariert werden müssen. Dies verhindert Fehler durch falsch geschriebene Variablennamen und beseitigt einen Nachteil, der QuickBasic von vielen Kritikern angekreidet wurde. Bei anderen Programmiersprachen wie Pascal sind C sind explizite Variablendeklarationen eine Selbstverständlichkeit.
  • In Variablennamen ist ein Unterstrich erlaubt. Dadurch kann die Lesbarkeit der Variablen entscheidend erhöht werden. Beispiel: "_Under_score_".
  • Es sind verschiedene Compiler-Optimierungs-Optionen wählbar (nach Geschwindigkeit oder nach Programmgröße)
  • Die Entwicklungsumgebung nutzt seit V3.20 den erweiterten EMS- und XMS-Speicher. Die Quellspracheprogramme können fast beliebig lang sein und sind nicht auf 64 KB beschränkt.
  • Der PowerBASIC-Compiler unterstützt über die "Compiler-Direktiven" $IF, $ELSE und $ENDIF eine bedingte Compilierung. Damit kann man unterschiedliche Programmvarianten aus ein und demselben Quellcode erzeugen.
  • Die ab V3.20 mitgelieferte Bibliotheksverwaltung "PBLIB" erleichtert den Umgang mit Bibliotheken enorm und sorgt dafür, dass nur diejenigen Objekte hinzugelinkt werden, die das Anwenderprogramm auch tatsächlich benötigt. Diese Vorgehensweise fördert die Erstellung optimal kleiner EXE-Dateien.
  • Der PowerBASIC Debugger unterstützt sogar den Betrieb mit zwei Monitoren. Auf den einen Monitor werden typischerweise die Anzeigen des Anwenderprogramms ausgegeben und auf den zweiten die Debug-Information!

zurück zum Inhalt

Weitere Vorteile

  • Die mit PowerBASIC erstellten EXE-Programme haben eine deutlich höhere Ablaufgeschwindigkeit als mit QuickBasic erzeugte EXE-Programme. Sie sind ca. 2 mal schneller . PowerBASIC setzt echten Maschinencode ab und keinen erst zur Laufzeit interpretierten P-Code wie QuickBasic. Laut Bob Zale ist der PB-Compiler selbst übrigens zu 90% in Assembler geschrieben, und nur 10% - hautsächlich die Bedienungsoberfläche - wurde in C programmiert.
  • PowerBASIC unterstützt die modulare Programmierung durch Bibliotheken, Units und Chain-Module.
  • Es gibt Unterstützung für die seriellen Schnittstellen COM1...COM 4 mit Baudraten bis 115 000 Bits/s . Auch der heute generell auf den PC-Mainboards übliche FIFO-Puffer-Chip 16550 lässt sich nutzen, was bei hohen Baudraten ein Riesenvorteil ist. QBasic unterstützt dagegen nur COM1 und COM2 mit maximal 19200 kBits/s
  • C-Bibliotheken lassen sich einbinden
  • PowerBASIC kennt 3 Methoden der Gleitpunkverarbeitung:
    • Nutzung des hardwaremäßigen numerischen Gleitpunktprozessors, der auf der CPU integriert oder als extra Chip vorhanden ist (xx87)
    • Softwaremäßige Emulation des Gleitpunktprozessors
    • Verwendung eines in PB integrierten IEEE-kompatiblen, extrem schnellen Gleitpunkt-Softwarepakets
  • Es gibt für PowerBASIC Unmengen von Biliotheken und "Toolboxen", die Vieles bieten wie IPX -Netzwerk-Support, SVGA Funktionen, professionelle Soundkarten-Unterstützung (z.B. Thomas Gohels PBSound) und sogar verschiedene Windows-Funktionen z.b. für die Zwischenablage , Fensternamen einer Dos-Box Ändern, Wiedergabe von MOD-Sounddateien und vieles mehr.

zurück zum Inhalt

   Was sind die Nachteile von PowerBASIC gegenüber QuickBasic?

Nachdem ich die Vorteile von PowerBASIC gegenüber QuickBasic in voller Breite geschildert habe, will ich auch die Nachteile nicht verschweigen:
  • Der QBasic-Interpreter ist eine kostenlose Zugabe von MS-DOS ab V5.0 und Win9x, und der QuickBasic-Compiler kann mit stillschweigender Duldung von Microsoft frei im Web heruntergeladen werden. PB kostet dagegen ca. 99 EUR, und die auf www.powerbasic.com downloadbare Freeware-Version FirstBASIC ist ein alter Hut ohne Mausbedienung (siehe den untenstehenden Abschnitt zu FirstBASIC).
  • Leider gibt es die ehemals recht preiswert angebotenen PowerBASIC 2.x - Vollversionen nicht mehr. Beim deutschen Softwareversender Pearl Agency gab es die etwas angestaubte PowerBASIC-Version 2.5 ohne Mausbedienung, aber mit einem sehr guten, ausführlichen 500-seitigem deutschen Handbuch. Diese Version konnte man für ca. 34,- EUR unter www.pearl.de online bestellen. Auch bei der Computer-Handelskette Vobis und beim bhv-Verlag gab es eine Zeitlang eine preiswerte PowerBASIC-Vollversion.
  • Es gibt deutsche Versionen von QBasic und QuickBasic 4.5 - Gerade für junge Einsteiger ein großer Vorteil. Die letzte deutsche PowerBASIC Version ist V3.20 von Kirschbaum Software GmbH. Die neueren PB-Versionen gibt es nur in englisch (die aktuelle Version ist V 3.50).
  • Bei PowerBASIC werden Syntaxfehler erst bei der Programmausführung bzw. beim Compilieren gemeldet. Es fehlt der bei Q(uick)Basic gewohnte (abschaltbare) Online-Syntax-Check, der gerade für Anfänger eine große Hilfe ist.
  • SUBS und FUNCTIONs werden bei Q(uick)Basic in eigenen Fenstern editiert und können bequem durchgeblättert werden. Bei PB gibt es dagegen nur ein unübersichtliches Gesamtfenster.
  • Über die rechte Maustaste oder F1 erhält man bei QuickBasic jederzeit eine kontextsensitive Hilfe zu dem Befehl, in dem der Cursor steht. Bei PowerBASIC ist dies nur bei neueren Versionen möglich und zwar über die umständliche und kaum bekannte Tastenkombination Strg + F1
  • Es gibt im Internet Unmengen von deutschen Foren, Online-Kursen und Tutorials zu Q(uick)Basic, und außerdem sind noch viele deutschsprachige Bücher über QBasic erhältlich. Bei PowerBASIC sieht das Internetangebot dagegen äußerst mager aus. Einige der wenigen guten PB-Seiten findest Du unten im Abschnitt "Links". Es gibt nur wenige gute Bücher zu PowerBASIC. Die 16 besten Bücher stelle ich Ihnen auf antonis.de/qbuecher/pb-buecher.htm mit Titelfoto und kurzer Inhaltsangabe vor.
  • Aus den genannten Gründen kann man aus meiner Sicht sagen, dass PowerBASIC für DOS fast im Aussterben begriffen ist - in dem Sinne, dass es kaum noch PB-Neueinsteiger gibt. Bei QBasic kommen dagegen auch heute noch fast täglich Newcomer hinzu, wie ich aus meiner täglichen Webmaster - Praxis von www.qbasic.de weiß. Die meisten kommen durch den Informatik-Unterricht an den Schulen zu QBasic. Hier wird QBasic aufgrund der kostenlosen Verfügbarkeit noch häufig verwendet.
  • Der deutsche PowerBASIC-Importeur, Kirschbaum Software GmbH hat zwar seit Ende 2002 eine eigene Internetseite, aber es gibt dort keine nennenswerte deutschsprachige PowerBASIC-Community und keine Supportforen - ein großer Nachteil für Neueinsteiger. Für Profis gibt es natürlich englischsprachigen Support auf www.powerbasic.com.
  • Ein weiterer Grund dafür, dass Powerbasic (DOS) nicht so beliebt ist wie QuickBasic, ist, dass es keinen eingebauten VGA Modus hat (SCREEN 13) - das macht QuickBasic für Einsteiger viel attraktiver.
  • Powerbasic (DOS) hat einen deutlich schlechteren Editor und eine schechtere Online-Hilfe als Q(uick)Basic.
  • Die meisten Libraries und Toolboxen für PowerBASIC kosten Geld, während die QuickBasic Libs meist umsonst und keineswegs schlechter sind.
Alle diese Vorteile sind natürlich hauptsächlich für absolute Programmier - Neueinsteiger von Belang. Dabei ist unbestritten, dass PB wesentlich leistungsfähiger und professioneller als QB ist und viel mehr mehr Funktionen hat.

zurück zum Inhalt

   Wie kann man QuickBasic-Programme nach PowerBASIC portieren?
  • In DIM-Felddeklarationen 'TO' durch ':' ersetzen
  • 'DIM' und 'COMMON' vor SHARED-Anweisungen entfernen
  • Nur INTEGER-Konstanten verwendbar. Bei diesen muß 'CONST' durch '%' ersetzt werden, z.B. %anz=37 statt CONST anz%=37. Andere Konstanten-Typen gibt es nicht.
  • Anwenderdefinierte Verbundfelder (Typendeklarationen TYPE ... END TYPE) sind erst ab V3.5 möglich und müssen bei älteren PowerBASIC-Versionen entfernt werden. Statt dessen Einzeldeklarationen oder Flex-Strings verwenden.
  • Bei CASE-Anweisungen eventuell vorhandenes 'IS' entfernen.
  • 'EXIT DO' durch 'EXIT LOOP' ersetzen
  • Subroutinen-Aufrufe grundsätzlich mit CALL und Parameterklammern versehen.
  • DECLARE-Anweisungen für SUBs und FUNCTIONs, die sich in derselben Datei befinden, im Hauptprogramm entfernen oder Parameterliste nur aus Typenbezeichnungen statt Namen zusammensetzen (z.B. SINGLE statt egon!).
  • SLEEP durch DELAY ersetzen bei Versionen PowerBASIC-Versionen < V3.5
  • SCREEN 13 wird nicht direkt, sondern nur mit Spezial-Routinen bzw. Bibliotheken unterstützt.
  • Sprungmarken müssen in einer extra Zeile stehen.
  • Vor Abfrage der Joystick-Feuerknöpfe mit STRIG muß die Ereignisverfolgung durch STRIG ON aktiviert werden.
  • Am Programmanfang mit dem Metabefehl "$ERROR ALL ON" alle Fehlerüberwachungen aktivieren (ist bei QBasic automatisch immer aktiviert. Bei PB gibt es hierzu in der Entwicklungsumgebung die Menüoption < Options | Compiler | Error Tests >).

zurück zum Inhalt

   Wo kann man PowerBASIC downloaden?

Downloaden der PB-Vollversion

Die aktuelle PowerBASIC-Vollversion ist nirgends im Internet legal downloadbar. Alle angebotenen Downloadmöglichkeiten sind illegal und können Dich bei Inanspruchnahme vor den Kadi bringen.

Ich habe eine große Bitte: PowerBASIC für DOS ist auch heute noch ein aktuelles, auf dem Markt befindliches Produkt, mit dem sein genialer Programmierer Bob Zale nach wie vor seine Brötchen verdient und für das er einen vollen Support bietet. Daher bitte ich Dich, PowerBASIC nicht irgendwo im Internet von irgendwelchen Warez-Schmuddelseiten illegal herunterzuladen. Probiere zunächst eine der unten angegebenen Sharewareversionen aus. Wenn Du Gefallen an PowerBASIC findest, dann kannst Du ja das Geld inverstieren und die Vollversion kaufen.

zurück zum Inhalt

Downloaden der Shareware-Versionen

Auf der PowerBASIC Webseite www.powerbasic.com stehen die folgenden PowerBASIC-Versionen zum Download bereit:
  • Der Freeware-Compiler FirstBASIC - das ist quasi eine etwas ältere PowerBASIC-Version ohne Mausbedienung. FirstBASIC ist im nächsten Abschnitt beschrieben.
    Downloadadresse: www.powerbasic.com/files/pub/firstbas.zip
  • Eine stark eingeschränkte Demo-Version der vorletzten PB-Version PowerBASIC V3.20 Trial. Es handelt sich hierbei um eine voll funktionsfähige 30-Tage-Demoversion, bei der jedoch das Abspeichern und Laden von Programmen unterbunden ist.
    Downloadadresse: www.powerbasic.com/files/pub/trypb32.zip

zurück zum Inhalt

   FirstBASIC - Die Freeware-Version von PowerBASIC

FirstBASIC 1.00 ist ein sehr guter, fast uneingeschränkt verwendbarer Shareware-Compiler, der weitgehend auf der PowerBASIC-Version 2.10 basiert.

FistBASIC 1.00 erschien 1996 und steht auf www.powerbasic.com zum Download bereit. Eine neuere Version gibt es nicht.

Mit FirstBASIC verfolgt PowerBASIC, Inc. dieselbe Strategie wie Microsoft, nämlich einen kostenlosen, fast nicht eingeschränkten Compiler für Neueinsteiger zur Verfügung zu stellen. FirstBASIC ist jedoch im Gegensatz zu QBASIC kein Interpeter, sondern ein echter Compiler, der ausführbare EXE-Dateien erzeugt, die unter DOS oder im DOS-Fenster von Windows ablauffähig sind. FirstBASIC hat große Ähnlichkeiten mit QuickBasic und erzeugt rasend schnelle und extrem kompakte und kleine EXE-Programme, die kein Laufzeitmodul benötigen.

Screenshot von FirstBASIC

Screenshot von FirstBASIC

Die Zielgruppe für FirstBASIC sind wohl hauptsächlich QBASIC-Programmierer, die zu einem leistungsfähigeren, preisgünstigen und schnellen BASIC-Compiler aufsteigen wollen. Aufgrund der an die Mitte der 80er Jahre erinnernden Benutzeroberfläche ohne Mausbedienung ist es allerdings fraglich, ob diese Zielgruppe das Angebot wahrnimmt. Somit bleibt FirstBASIC nicht viel mehr als eine Schnupperversion für seinen großen Bruder PowerBASIC und stellt eigentlich kein eigenständiges Produkt dar.

Übrigens ist FirstBASIC, wie auch PowerBASIC, nach Aussage des Herstellers vollkompatibel mit den alten Microsoft-Compilern GW-BASIC und BASICA.

Für nur 25 $ ist auch eine Vollverson von FirstBASIC erhältlich, deren Vorteile weiter unten aufgeführt sind.

zurück zum Inhalt

Welche Einschränkungen hat FirstBASIC gegenüber PowerBASIC?

FirstBASIC hat gegenüber PowerBASIC 3.50 unter Anderem die folgenden Einschränkungen:
  • die Speicherkapazität für Code, Datenstrukturen etc. ist geringer
  • Die indirekte Adressierung über Daten- und Codepointer wird nicht unterstützt
  • kein Inline-Assembler
  • keine Bitbefehle wie SHIFT, ROTATE usw.
  • keine user-defined Datentypen (TYPE...END TYPE)
  • keine erweiterte Stringbearbeitung
  • Der größte Nachteil für die heutigen, von Windows verwöhnten Anwender ist allerdings die fehlende Mausunterstützung. Die Entwicklungsumgebung wird ausschließlich über die Tastatur bedient.
Andere wichtige Eigenschaften hat FirstBASIC von PowerBASIC "geerbt", z.B.
  • Die Riesen-Strings
  • Die eingebauten Funktionen zum Sortieren und Durchsuchen von Feldern
  • Die Datentypen mit erweiterter Genauigkeit, z.B. 80-Bit-Gleitpunkt und 64-Bit Integer-Typen sowie die BCD-Formate für kaufmännische Berechnungen.
  • Die atemberaubende Ablaufgeschwindigkeit der erzeugten EXE-Programme

Welche Vorteile hat die FirstBASIC-Vollversion?

Von Rechts wegen darf man die kostenlose Shareware-Version 30 Tage lang verwenden. Danach muss man die Vollversion von FirstBASIC registrieren, die bei www.powerbasic.com für nur 25,-$ erhältlich ist. Es gibt aber keine Kontrolle, ob man das wirklich tut, und der Compiler bleibt auch nach den 30 Tagen voll funktionsfähig. PowerBASIC, Inc. setzt also voll darauf, dass der Anwender fair ist und nach Ablauf der 30 Tage entweder die Vollversion von FirstBASIC oder gleich die PowerBASIC Vollversion V3.50 erwirbt.

Die FirstBASIC-Vollversion hat folgende Vorteile gegenüber der Shareware-Version:
  • Es entfällt das bei jedem Beenden der Sharewareversion 5 sec lang angezeigte "Nörgelfenster", das im Laufe der Benutzungsdauer doch etwas nervt. Zum Glück verlängert sich die "Nörgelzeit" nach der offiziellen 30-tägigen Nutzungsdauer nicht; es bleibt bei den 5 sec.
  • Die Online-Hilfe enthält eine komplettes elektronisches Anwenderhandbuch (User's Guide) mit vielen Tutorials. Ohne eine derartige Hilfe tut man sich mit dem Kennenlernen der einzelnen Funktionen etwas schwer. Ein gedruckten Handbuch zu FirstBASIC ist übrigens nicht verfügbar.
  • Es gibt einen zusätzlichen Kommandozeilen-Compiler FBC.EXE, der eine Compilation außerhalb der Entwicklungsumgebung ermöglicht.
  • PowerBASIC.com bietet nur für registrierte Anwenderkostenlosen Telefon-/FAX-Support.

zurück zum Inhalt

   Wo kann man PowerBASIC kaufen?

PowerBASIC, Inc. - der Hersteller von PowerBASIC

Banner der offiziellen PB-Webseite


Die neueste und wohl endgültig letzte Version von PowerBASIC für DOS ist V3.50 (Release-Datum 19.12.97 ).

Man kann die Vollversion von PowerBASIC für DOS direkt beim Hersteller PowerBASIC, Inc. für 99 $ online kaufen (zusätzlich 29 $ für ein gedrucktes Handbuch; Webseite: www.powerbasic.com) oder für ca. 99,- EUR beim deutschen Importeur, der sehr kompetenten Firma Kirschbaum Software GmbH (siehe unten).

Alle wichtigen Informationen zu PowerBASIC stehen auf www.powerbasic.com zur Verfügung. Dort kann man auch Fragen loswerden, in den sehr kompetenten Foren in englischer Sprache diskutieren und einen recht lesenswerten PowerBASIC-Newsletter abonnieren, der ca. alle 2 Monate erscheint.

Bei www.powerbasic.com kann man auch für 49,- $ die CD-ROM "PB/Xtra III Reference Collection" mit 1 GB an Beispielprogrammen und Tools für PowerBASIC zu erwerben.

Für Leute mit schmalem Geldbeutel lohnt es sich auch, gelegentlich in einem Online-Auktionshaus nach einer preigünstigen PowerBASIC Vollversion ink. deutschen Handbüchern zu suchen, z.B. bei www.ebay.de . Ich selbst habe meine PB-Vollversion 2.10 dort mit Original-Handbuch für nur 3,50 EUR (!) ersteigert.


Kirschbaum Software - der deutsche PowerBASIC-Importeur

Logo von Kirschbaum Software

Die folgenden Informationen gab mir Josef Kirschbaum persönlich in einem ausführlichen Telefonat, das wir am 28.11.2001 miteinander führten.

Kirschbaum hat die folgende Adresse:

Fa. Kirschbaum Software GMBH
Webseite: www.powerbasic.de
Kronau 15
D-83550 Emmering
Tel.: 08067-9038-0
FAX: 08067-1053

Dort kann man auch Prospektmaterial und die aktuelle Preisliste für die PowerBASIC-Compiler und -Toolboxen per Mail, Post, FAX oder Telefon anfordern.


Bei Kirschbaum lieferbare Versionen von PowerBASIC für DOS:
  • V3.20 mit deutscher Bedienungsoberfläche und 2 deutschen Handbüchern (insgesamt ca. 1000 Seiten) für ca. 99,- EUR (reduzierte Preise für Schüler auf Anfrage)
  • V3.50 mit englischer Bedienungsoberfläche und den deutschen Handbüchern der Version V3.20 für ca. 99.- EUR
  • V3.50 mit englischer Bedienungsoberfläche und englischsprachigen Handbüchern
  • Außerdem gibt es auf Anfrage günstige Updates von älteren PowerBASIC Versionen auf die neueren Versionen 3.20 und 3.50. Dies Angebot gilt auch für Anwender, die ihr PowerBASIC bei der Fa. Pearl oder anderswo gekauft haben.

Was gibt es bei Kirschbaum noch für Zusatztools zu PowerBASIC?
Kirschbaum vertreibt noch Restbestände folgender Zusatzbibliotheken deutscher Autoren für PowerBASIC für DOS:
  • Powertools - Eine Toolbox für den Textbildschirm zur Erzeugung von Menüs, Dialogboxen, Hilfefenstern usw. Mit Handbuch. Preis ca. 13,- Euro
  • Powergraph - Eine Toolbox für den Grafikbildschirm zur Erzeugung von Menüs, Dialogboxen usw. und Unterstützung von Sonder-Schriften (Fonts). Mit 300-seitigem Handbuch. Preis: ca. 13,- Euro.

Wer kauft heute noch PowerBASIC für DOS?
Zur Stammkundschaft von Kirschbaum gehören einige dutzend Schulen, die PowerBASIC im Informatikunterricht einsetzen sowie viele mittelständische Unternehmen, die PowerBASIC teilweise sogar für die Entwicklung wichtiger Software-Anwendungen verwenden, von denen das Wohl und Wehe des ganzen Betriebes abhängt ("Mission-Critical Applications").

Lieferbare Versionen von PowerBASIC für Windows
Kirschbaum ist offizieller deutscher Distributor für die beiden Windows - Compiler "PowerBASIC für Windows" und "PowerBASIC Console". Beide Sprachen gibt es nur in englisch. Man muss ehrlicherweise sagen, dass PowerBASIC für Windows eine hohe Einarbeitungszeit erfordert, die für Aufsteiger von QBasic oder PowerBASIC eine recht hohe Hürde darstellt. Es handelt sich um professionelle Compiler, die einen extrem schnellen und schlanken Code absetzen. Eine Kurzbeschreibung der PowerBASIC Compiler für Windows findest Du im nächsten Abscnitt.

zurück zum Inhalt

   Was ist PowerBASIC für Windows?

PowerBASIC for 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.

zurück zum Inhalt

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 angeblich einen VisualBasic -> PB/Win Converter, der VB4 / VB5 Programmcode nach PB DLL konvertieren soll.

zurück zum Inhalt

   Links zu PowerBASIC

powerbasic.com - die offizielle Webseite von PowerBASIC, Inc.

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

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

Weitere englische PowerBASIC-Seiten


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. Falls Du nicht weißt, was eine Newsgroup ist oder wie Du einen Zugang dazu findest, dann schau bitte unter dem Begriff "Newsgroup" im "Internet-Glossar" meines "Homepage-Kochbuchs" auf www.antonis.de/webdesign.htm nach.

zurück zum Inhalt



       ,-~~-.___.                        
      / |  '     \         You CAN teach 
     (  )         0          an old dog  
      \_/-, ,----'             New Tricks
         ====           //               
        /  \-'~;    /~~~(O)              
       /  __/~|   /       |              
     =(  _____| (_________W<          




[zur Startseite http://www.antonis.de]       [zur framelosen Startseite]