BASIC unter Windows/Linux
Verwendete Abkürzungen
IDE= Integrierte Entwicklungsumgebung ("Integrated Development Environment"). D.h., vom Editor aus werden auch Compiler, Linker und Debugger bedient und deren Ergebnisse angezeigt.
RAD= "Rapid Application Development". Komponenten werden nicht durch Einfügen entsprechenden Codes angesteuert, sondern durch Einfügen grafischer Komponenten mit der Maus. Ein Code-Generator erzeugt dann den entsprechenden Code. Sehr zeitsparend, wenn man aufwändigere GUI's baut.
Die Entwicklung von BASIC
Diesen Absatz muss ich voranschieben. Wie schon weiter vorne bemerkt, ist es nicht meine Absicht, in diesem Teil schon auf andere Programmiersprachen zu sprechen zu kommen. Allerdings steht BASIC nicht in dem Ruf, eine moderne Programmiersprache für Linux/Windows zu sein. Daher hier ein paar kurze Bemerkungen zur Entwicklung von BASIC seit QBASIC:
Wir haben im zweiten Teil am Schluss gesehen, dass QBASIC neben der Tatsache, dass es nur unter DOS funktioniert, auch sprachlich einige Defizite aufweist. Da in den 90er-Jahren fast jeder unter QBASIC angefangen hatte zu programmieren, wurde QBASIC zum Sinnbild für BASIC schlechthin: Langsam, spracharm und für DOS. Und führte damit zu einem schlechten Ruf von BASIC als Programmiersprache.
Inzwischen hat sich BASIC aber stark weiterentwickelt. Und zwar entlang dreier Schienen:
- Eine starke treibende Kraft (bis vor kurzem) war die Firma Microsoft. Die Firmengeschichte ist mit BASIC untrennbar verbunden, kein Wunder, dass die Firma BASIC weiterhin als wichtige Sprache einsetzte.
- Zum einen wurde mit "Visual Basic" das RAD-Prinzip in die Programmierwelt eingeführt. Im Laufe der Visual- Basic-Geschichte wurde auch die Sprache laufend verbessert und erweitert bis Visual Basic 6. Man kann nun
vollwertig prozedural programmieren und auch Anfänge der objektorientieren Programmierung sind vorhanden.
- Die office-Produkte wurden mit "Visual Basic für Application" ausgestattet. Dies ist ein sprachlich vollwertiges Visual Basic, IDE und einfaches RAD-Tool inklusive, mit dem man die Office-Programme leicht von BASIC aus ansteuern kann, z.B. eine bestimmte Excel-Zelle manipulieren oder einen Datensatz in Access. Damit war die Schiene der "Applikationssprache" geboren.
- Seit Windows 98/Windows NT 4.0 gibt es einen Ersatz für die sehr rudimentäre DOS-Batchsprache: "Visual Basic Script" VBS). Dieser Ansatz hat sich allerdings nicht durchsetzen können. Obwohl auch VBS den vollen Sprachumfang von Visual Basic beherrscht, erwies sich die Ansteuerung des Betriebssystems über Komponenten als zu umständlich. Zudem galt VBS als Sicherheitsrisiko.
- Schliesslich wurde Visual Basic Script auch als Alternative zu Javascript vorgesehen, Hier spielte VBS allerdings eine noch unglücklichere Rolle, da VBS für's Web und VBS für die Betriebssystemsteuerung nicht richtig abgeschottet werden konnten, mit dem Effekt, dass oft schon das Anschauen einer HTML-Mail in Outlook dazu führte, dass der darin enthaltene VBS-Code ausgeführt wurden und unerlaubte Fremdprogramme auf den Rechner abliefen.
- Heute ist auch der grosse Konkurrent zu MS-Office, Star-/open-Office mit einem vollwertigen, sprachlich zu VBA kompatiblen BASIC ausgerüstet. Man kann sagen: Als Sprache für Applikationsprogrammentwicklung hat sich BASIC durchgesetzt.
- Immer noch viele steigen mit BASIC ins Programmieren ein. Klar, schliesslich wurde die Sprache auch genau für diesen Zweck entwickelt. Das hat aber zur Folge, dass an allen Ecken und Enden inzwischen freie oder niedrigpreisige BASIC-Entwicklungssysteme aus dem Internet-Boden spriessen, deren sprachlicher Entwicklungsstand auf sehr unterschiedlichen Levels ist, allesamt zwar nicht annähernd den Stand moderner OO-Sprachen wie Smalltalk oder Python erreichen, aber teilweise durchaus keinen so grossen Abstand zu Java oder Delphi aufweisen (z.B. Gambas).
Das Urteil "BASIC ist ja viel zu primitiv" kann also pauschal so schon lange nicht mehr richtig sein. Es kommt auf die Kenntnisse und den Zweck an. Sowohl für den Anfänger bis mittelerfahrenen Hobby-Programmierer ist ein gutes modernes BASIC-System, das man beherrscht, wesentlich sinnvoller als ein Java, dessen Konzepte man nicht richtig einsetzen kann. Umgekehrt würde ich jedoch keiner Firma empfehlen, ihr 100.000-Zeilen multithreaded, oracle-basiertes Warenwirtschaftssystem unter Visual Basic oder Konsorten zu entwickeln. Bei erfahrenen Profiprogrammierern kann BASIC nur selten einen Vorteil bringen - z.B. bei kleinen Office-Backend-Projekten.
Eigenständige BASIC-Entwicklungssysteme unter Linux/Windows
Wir wollen uns nun der dritten Schiene zuwenden. Einige der heute angebotenen BASIC-Entwicklungssysteme seien hier aufgezählt:
- Realbasic
- Realbasic ist eine Visual-Basic-Adaption, die sich vor allem an diejenigen wendet, die einen Nachfolger für Visual Basic Version 6 mit der alten Sprache suchen. Microsoft hat in der neuesten Version (Visual Basic .NET) Visual Basic sprachlich so stark verändert, dass man kräftig umlernen muss und das Level der Sprache eigentlich kein anderes mehr ist als das moderner Hochsprachen wie Java oder C#. Damit ging der eigentliche Vorteil der leichten Erlernbarkeit von VB verloren. Denjenigen, die diesen Prozess nicht mitmachen wollen, bietet sich mit Realbasic eine Alternative. Eine wesentliche Erweiterung stellt die Tatsache dar, dass es sich um ein Cross-Plattform-Tool handelt: Es kann sowohl für Win32 wie auch für Linux kompiliert werden.
- Power Basic
-
Power Basic hat eine lange Tradition. Es wurde einstmals von der Firma Borland unter dem Namen "Turbo Basic" als Konkurrenz zu QuickBasic aus der Traufe gehoben. Im Gegensatz zu QuickBasic generierte der TB-Compiler echten Maschinencode, keinen Pseudocode; die Binaries waren um ein Mehrfaches schneller. Turbo Basic fand eine gewisse Verbreitung, aber ein Renner wie Turbo Pascal wurde es nie, daher verkaufte Borland das Produkt. Der jetzige Besitzer entwickelte es kräftig weiter, weiterhin mit der Betonung auf möglichst schnellen Code. In der Version 8 hat es eine komfortable Windows-IDE, man kann DLL's bauen, multithreaded programmieren usw. Wie umfangreich die mitgelieferten und im Internet verfügbaren Ressourcen sind und wie gut man GUI's damit erstellen kann, weiss ich nicht.
- Pure Basic
-
Eine der ersten BASIC-Versionen für MS-Windows. Sprachlich ziemlich abweichend von MS-BASIC, da es sich sozusagen parallel zu QBASIC/Visual Basic entwickelte. Für Windows, Linux und sogar für AmigaOS verfügbar. Bindungen an die Windows-API und einige Bibliotheken, z.B. GTK. Allerdings liegt die Betonung auf "autonom", was bedeutet, dass schon sehr viele Befehle in den eigenen Toollibs vorliegen.
- Liberty Basic
-
Kleines, kompaktes Windows-Basic, das sich vor allem an Anfänger richtet. (Interessant, dass auf der Webseite ähnlich wie in diesem Tutorial die Schwierigkeit gesehen wird, heute noch Programmieren zu lernen.) Keine Bindungen an externe Bibliotheken, nur für Windows, ziemlich QBASIC-kompatibel.
- Gambas
-
Freies "Visual Basic" für Linux. Allerdings weicht das verwendete BASIC z.T. recht stark und ganz absichtlich von Visual Basic ab, indem die Sprache objektorientiert und konsistenter gemacht wurde. Umfangreiche Bibliotheken, sehr fortgeschrittenes Entwicklerwerkzeug.
- Freebasic
-
Here we are... Ein paar Worte dazu später.
Damit sind allerdings wirklich nur ein paar der heute existierenden BASIC-Entwicklungssystem angesprochen. Wer mehr kennenlernen will,
kann mal unter
schauen.
Freebasic
Freebasic ist ein noch sehr junges Kind der Programmiersprachenwelt. Die Entwicklung wurde im Sommer 2004 begonnen, eine erste Beta (lauffähige Vorabversion) gibt es seit Dezember 2004 und die Entwicklung stürmt voran.
Die Gründe, warum ich hier Freebasic als nächste "Treppenstufe" gewählt habe, ist nicht meine Überzeugung, dass dies
die beste Entwicklungsumgebung der Welt ist oder wird usw. , sondern weil
- Sie damit als erstes ohne grossen Aufwand Ihre bisherigen QBASIC-Programme unter Windows/Linux zum Laufen bekommen.
- Sie damit ein "klassisches" Programmiersystem kennenlernen, mit Compiler, Debugger, Editor, Linker und vor allem vielen Bindungen und wir so daran die Arbeit mit Bibliotheken lernen können,
- das System auf Windows und Linux läuft und Sie somit nicht auf eine Plattform gezwungen werden,
- Freebasic gegenüber QBASIC Spracherweiterungen besitzt, die schon sehr viel mehr strukturierte Programmierung zulassen als bei vielen anderen BASIC-Systemen,
- Freebasic vom Budget her im Rahmen dessen ist, was Schüler/Studenten und Rentner sich leisten können: Es ist kostenlos. ;-)