|
|
|
Hinweis: Dieser Beitrag wurde freundlicherweise von Thomas Antoni zur Verfügung
gestellt. Es wurden lediglich einige kleine Änderungen und Erweiterungen vorgenommen.
|
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:
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 Shareware "FirstBasic" (25$), 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 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
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.
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, entwickelt
und vertreibt nun die verschiedenen Varianten von PowerBASIC in eigener Regie
(in der Zwischenzeit aber aus Venice/Florida).
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
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
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 Shareware-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".
- 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
- 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
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 Shareware-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 1.00 ist ein sehr guter, fast uneingeschränkt verwendbarer
Shareware-Compiler (25$ Registrierungsgebühr), 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
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
PowerBASIC, Inc. - der Hersteller von PowerBASIC
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
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
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
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 / pbhq.de - die größte europäische PowerBASIC-Seite
Thomas Gohels Webseite www.pbhq.de
(früher 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.pbhq.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.pbhq.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.
Wikipedia
Auf den Wikipedia Seiten
findest Du auch einen sehr interessanten Beitrag zu PowerBASIC, der in seiner
Urform ebenfalls von Thomas Antoni zur Verfügung gestellt wurde.
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
|
|
|