•  Weiteres:
  • Hauptseite
  • Index
  • Software
  • Impressum
  • VVS-Titel
  •  
  • Programmieren ...

    ... gehört einfach dazu.

    Die Programmierung ist von Anfang an das gewesen, was mich bei der Computerarbeit am meisten interessiert hat. Nicht als Selbstzweck, aber es gab immer genug Herausforderungen, selbst gesteckte Ziele zu erreichen. Schon bevor Windows mit der Version 3.1 allgemeine Verbreitung fand (die überzeugendsten Argumente für seinen Siegeszug waren eigentlich "TrueColor" und "TrueType"), hatte ich mit dem "Amstrad PCW" (hierzulande auch als "Schneider Joyce" bekannt geworden) erste Gehversuche gemacht. Mit seinem 4 MHz-Prozessor und dem monochromen Bildschirm von 90 Zeichen und 31 Zeilen im Textmodus und 720 x 248 Pixel im Grafikmodus war er ein Arbeitstier, das mit einer für damalige Verhältnisse großartigen Textverarbeitung ("LocoScript") und einem blitzgeschwinden Basic (mit dem Namen "Mallard", benannt nach der gleichnamigen britischen - vermeintlichen - Weltrekordlokomotive) daherkam und den Anforderungen und Wünschen von uns Nutzern zu seiner Zeit vollauf gerecht wurde.
    Mit dem Basic konnte man unglaublich viel machen... und die nötigen Tools zum Schreiben kleinerer Programme in Maschinensprache waren auch dabei.
    Man darf aus heutiger Sicht schon staunen... in 64 kB Arbeitsspeicher passte immerhin ein Textverarbeitungsprogramm von - je nach Ausstattung - etwa 120 bis um die 200 kB... dank Segmentierung/Bankumschaltung und Auslagerung in den erweiterten RAM... tja, das gute alte CP/M 3.0... Fast 10 Jahre hat er mich und viele andere begleitet.

    Genug der nostalgischen Schwärmerei.

    Programmieren ... wie macht man das ?

    Nun, es ist im Grunde ganz einfach: Der Computer kann eigentlich alles... man muss ihm nur sagen, wie er es machen soll. Wenn er das einmal begriffen hat, macht er es immer wieder. ;-)
    Das setzt natürlich voraus. dass man es ihm in seiner Sprache erklärt... denn ganz so weit sind wir noch nicht, dass wir uns einfach mitten ins Zimmer stellen und ihm zurufen: "Schreib doch mal rasch ein Fax an Paul, dass ich am Sonntag keine Lust zum Joggen habe !"

    Seine Sprache ist ziemlich kryptisch... wer schon mal einen Assembler-Quelltext gelesen hat, ahnt es vielleicht, und selbst das ist schon eine Ebene über der Maschinensprache, denn die erzeugt ja der Assembler erst... aber so tief wollen und müssen wir nicht eindringen.
    Denn um diese Klippe zu umschiffen, gibt es zum Glück die sogenannten "Hochsprachen", die es ermöglichen, die zu einem Programm gehörenden Anweisungen in einer für Menschen verständlichen Diktion abzufassen.

    Die Palette der Sprachen und der zu ihrer komfortablen Anwendung geschaffenen sogenannten "Entwicklungsumgebungen" ist reichhaltig. Für jeden Anspruch ist etwas dabei. Um es nicht ausufern zu lassen, werde ich hier nur einige kurze Beschreibungen bzw. Erläuterungen abliefern. Denn der Bereich, der den Profis vorbehalten bleiben muss, wird hier nicht mal gestreift. Ob "C", "C++" oder "C#"... das schafft man nicht ohne es zu studieren. Auch über die nun schon als historisch anzusehenden Sprachen wie Cobol, Fortran, Lisp und andere werde ich hier kein Wort verlieren. Aber auch als "Normalanwender" kann man viel erreichen. Ein paar kurze Hinweise zu den wichtigsten Programmiersprachen für Windows sollen hier also folgen.

    Entwicklungsumgebungen
    1. Turbo Pascal
      Das ist eine schon recht betagte Sprache, viel älter als Windows, die sich in eingeweihten Kreisen bewährt hat, weil sie eine sehr konsequente Syntax aufweist und durch ihre Objektorientiertheit sehr mächtig und vielseitig ist. Ich habe die Versionen 7.0 für DOS und 1.0 für Windows schon benutzt... für DOS habe ich nichts Besseres gefunden und einige kleine Aufgaben damit erledigt, aber richtig lieben gelernt habe ich es nie. Für Windows ist es mir einfach zu kryptisch und es bedarf sehr intensiver Beschäftigung mit den Handbüchern, bevor man als Gelegenheitsanwender ein Programm erfolgreich fertigstellen kann.

    2. Delphi 1.0
      Damit wurde/wird Calmira entwickelt ! Ich habe bei der Übersetzung von Calmira in die deutschen Versionen 3.021d und 3.101d natürlich auf dieses Instrument zurückgegriffen... ging ja auch nicht anders. Dabei funktionierte eigentlich alles ganz flott, weil ich mich - von einigen kleinen Modifikationen abgesehen - im Wesentlichen darauf beschränkt habe, die Textteile des Programms zu übertragen und dabei natürlich auf die Anpassung der verschiedenen Elemente an den gesteigerten Platzbedarf der deutschen Texte zu achten. So durfte ich einen kleinen Eindruck von der Kompliziertheit dieser Sprache erhaschen und für mich entscheiden, dass dies nicht meine Programmierer-Heimat werden würde.

    3. Profan2 2.0 bis 6.5
      Tja, was soll ich sagen ... (ich benutzte das Wort schon an anderer Stelle, aber was soll's :) das NonPlusUltra ! Das sagt schon der Name: Programmiersprache für Anwender.
      Mit dieser Sprache ist es auch unvorgebildeten Anwendern ohne aufwendiges Studium möglich, in kurzer Zeit zu respektablen Ergebnissen zu kommen. Der Beweis: das immer wieder gern bemühte "Hallo Welt !"-Programm. Hier der Quelltext:

      PRINT "Hallo Welt !"
      WAITKEY
      END

      Das war es schon. Und wenn man es ausführt, sieht es so aus:

       das Hallo-Welt-Programm in Profan<sup>2</sup>

      Natürlich kann man mit ein, zwei weiteren Zeilen auch die Titelleiste mit einem eigenen Text versehen, das Erscheinungsbild des Fensters beeinflussen usw.... na, das soll ja hier kein Programmierkurs werden. ;-) Profan2 ist Shareware, aber die Version 5.0 ist schon zur Freeware geworden und es gibt kostenlose Schulversionen der aktuellen Fassung, eine wirklich tolle Sache. Alles das gibt es auf der offiziellen Profan2-Supportseite

      Allerdings ist die Entwicklung der 16Bit-Fassung von Profan2 mit der Version 6.52 eingestellt worden, und erst ab Version 8.0 wurde Profan2 objektorientiert. Damit steht uns für Windows 3.1x "nur" eine prozedurale Sprache zur Verfügung, aber so bleibt das Ganze auch für den "Nicht-Profi" überschaubar. Einen Ausschnitt davon, was man mit dieser Sprache alles zaubern kann, findet sich natürlich in meinem Programm-Angebot.
      Profan2 nimmt übrigens eine Zwitterstellung ein, denn obwohl die Entwicklungsumgebung mit Kompiler und Linker ausgestattet ist und die Ergebnisse in Form selbst lauffähiger exe-Dateien herauskommen, wird von Profan nicht wirklich Maschinencode erzeugt. Sondern es wird eine sog. Laufzeitumgebung in die fertige exe-Datei eingebaut, die eigentlich auch die Funktion eines - allerdings sehr schnellen - Interpreters hat.
      Die mit der 16Bit-Version von Profan2 erstellten Programme laufen auch auf höheren Windows-Versionen.

    4. Visual Basic 1.0 bis 4.0
      Ich habe mir mal spaßeshalber ein Handbuch bzw. Lehrbuch für VB 2.0 besorgt... aber da war ich ja schon einige Zeit mit Profan vertraut und daher voreingenommen ... auch hier war mir von vornherein klar, dass VB als Standbein für mich überhaupt nicht geeignet war und ist. Im Vergleich zu den selbständig lauffähigen exe-Dateien von Profan2 ist für die Bereitstellung der Laufzeitumgebung für die ebenfalls interpretative Sprache "VisualBasic" übrigens stets das Vorhandensein der Module vbrun100.dll, vbrun200.dll, vbrun300.dll bzw. vb40016.dll erforderlich.

    5. Andere Basic-Dialekte
      Es gibt noch einige weitere Basic-Dialekte, die teils als Shareware, teils als kommerzielle Produkte vertrieben wurden bzw. werden, aber nach meinem Kenntnisstand hat sich davon nicht wirklich etwas durchsetzen können. Lassen wir es also dabei.

    Scriptsprachen

    Scriptsprachen sind solche, bei denen der Quelltext nicht durch einen Kompiler läuft, um ihn maschinenlesbar zu machen, sondern die Anweisungen werden von einem Interpreter während der Ausführung des Scripts Schritt für Schritt übersetzt und an den Prozessor weitergegeben.

    1. Tcl/Tk - die Skriptsprache aus der Unix-Welt
      Tcl/Tk ist eigentlich dazu gedacht, plattformunabhängige Software (die meist im ebenso plattformunabhägigen Sprache "C" geschrieben ist, das nur rudimentäre Ausgabefunktionen im Textmodus aufweist) mit einer grafischen Benutzeroberfläche (GUI) zu versehen. Die Portierung auf verschiedene Systeme entfällt somit, sofern ein TCl/Tk-Interpreter und ein entsprechender C-Compiler vorhanden sind. In der Welt der vielen Unixe (da gibt's ja x Sorten) ist das sehr praktisch, zumal die ja auch noch auf verschiedener Hardware laufen. Auch der sonst an Intel-x86-optimierte Schmalspursoftware gewöhnte Windows-Benutzer kann davon profitieren, sofern er irgendeine Form von 32-Bit-System hat (also Windows ab 4.x, NT oder Win32s). Natürlich wird Win32s von den neuesten Versionen nicht mehr unterstützt; die letzte für den Win32s-Benutzer brauchbare Version ist 8.0p2. Wahnsinnsgeschwindigkeit sollte man natürlich von Tcl/Tk nicht erwarten - Skriptsprache ist nun einmal Skriptsprache...

    2. MS-DOS-Stapelverarbeitung
      Die ist dem Windows 3.1x-Anwender zumindest vom Ansehen her geläufig, denn wer hat nicht schon einmal in die autoexec.bat hineingesehen ... und sich entweder mit Schaudern abgewendet oder sich gefragt, was man da wohl ändern und verbessern könnte.
      Man kann mit der Stapelverarbeitung deutlich mehr anstellen, als mancher auf den ersten Blick zu glauben bereit ist. Z.B. kann man mit einer Stapelverarbeitungsdatei (auch Batchdatei genannt) dafür sorgen, dass der DOS-Editor immer im 80x43-Textmodus startet oder Ähnliches. In Verbindung mit einer PIF-Datei lassen sich da unter Windows tolle Dinge anstellen.
      Aber die Hauptanwendung ist es natürlich, die DOS-Umgebung komfortabler zu machen, so dass man Kommandozeilentipparbeit sparen kann.

    3. Q-Basic für MS-DOS
      Auch das alte Q-Basic, das als kostenlose Dreingabe zu MS-DOS gehört, kann eine ganze Menge. Allerdings gehört zu dieser kostenlosen Fassung eben keine Entwicklungsumgebung... das beschränkt sich auf den Basic-Editor, der gleichzeitig Interpreter spielt.

    4. Profan2
      Wie, schon wieder ? Ja, denn Profan ist auch eine Batchsprache für Windows. So wie in dem oben gezeigten Beispiel kann man (und wird man auch, nämlich bei der Fehlersuche) seine Programme ohne sie zu kompilieren direkt vom Interpreter Zeile für Zeile ausführen lassen. Dabei steht der volle Befehlsumfang einer vollwertigen Programmiersprache zur Verfügung.

    5. Profan2-Script
      Profan-Script ist eine abgespeckte Version von Profan2, mit der keine (schreibenden) Dateioperationen möglich sind. Auch kann mit Profan-Script kein anderes Programm zur Ausführung aufgerufen werden, wie das mit anderen Scriptsprachen möglich ist. Näheres hierzu auf der Profan-Script-Seite im VVS-Angebot.

    6. Calmira
      Huch ? Wieso das denn ?
      Ja, Calmira hat eine eingebaute Script-Sprache. Der Befehlsumfang ist zwar klein, weil er sich nur auf die Handhabung der Calmira-Objekte beschränkt, aber durch Calmira-Scripts kann man sehr viele Dinge bequem und für schnellstes Handling aufbereiten.
      Die Calmira-Dokumentation gibt näheren Aufschluss.

    Wichtiges Programmierzubehör

    Um die Entwicklungsumgebung zu ergänzen, gibt es einige spezialisierte Tools, die dem fortgeschrittenen Programmierer aber auch dem fortschreitenden ;-) gute Dienste leisten.

    Einige Beispiele:

    1. Der "Borland Resource Workshop" ermöglicht es, die im Programm verwendeten Ressourcen*), wie Bitmaps, Icons, Menüs, Dialoge, Texte usw. aus der EXE-Datei zu extrahieren und sie in veränderter Form wieder einzubauen. Es ist leider keine Freeware oder Shareware, sondern ein kommerzielles Vollprodukt, aber es war auf der Heft-CD zum "PC Magazin DOS SPEZIAL 1/97" drauf.
    2. Ein guter Hex-Editor hilft auch oft weiter... es gibt verschiedene Fassungen, welche einem am besten gefällt, ist Geschmackssache. Gute Dienste leistet in jedem Fall der "Hex Workshop" von Breakpoint Software. Dort werden die 16Bit-Version und die Win32S-fähige 32Bit-Version 2.x aber nicht mehr bereitgehalten. Aber ich hab noch ein Päckchen in der Shareware-Ecke.
    3. Das eine oder andere mehr oder weniger brauchbare Tool findet man auch im VVS-Angebot auf der Seite mit dem Programmier-Zubehör oder in der Shareware-Ecke Wer sich mit PROFANē beschäftigen will: Einige freie Quelltexte zum Üben finden sich in meiner PROFANē-Buddelkiste.

  • *) Ressourcen ... mal wieder so ein Wort, das für völlig verschiedene Begriffe benutzt wird. Naja, das kennen wir ja schon von den "Verknüpfungen". Also die hier genannten Ressourcen haben nichts mit den User- GDI- und System-Ressourcen zu tun, über die im Kapitel Systemstabilität berichtet wird.

  •   Zum Seitenanfang
      Zurück zur Hauptseite