3. Programmiersprache JForth als Freeware veröffentlicht
»Presse-Veröffentlichung, 21.00 Uhr, Montag, 10. August 1998
May the Forth be with you...Always !!!
(Unübersetzbares Wortspiel mit dem Zitat aus "Krieg der Sterne":
May the force be with you...Always !!!
Möge die Macht mit dir sein...Immer!
Forth = Programmiersprache, force = Stärke, Macht)
Anpassung an OS3.1
Mit besonderem Dank an die ursprünglichen Autoren, Mike Haas und Phil Burk,
die großherzig entschieden haben, dieses Produkt (früherer Preis $179) als
Freeware herauszugeben, hat der Amiga nun einen weiteren Pfeil in seinem
Köcher.
***** HINWEIS - Drucken Sie das ausgezeichnete Handbuch aus. Es bietet
Ihnen nicht nur unschätzbare Informationen über die mitgelieferten
Hilfsprogramme, sondern es enthält auch ein sehr gutes 3-stufiges
Lernprogramm *****
***** Kommen Sie zur JForth Mailinglist!!! Um sich anzumelden, senden Sie
eine E-Mail an "MDaemon@ChaosSolutions.com" mit "subscribe JForth-list" als
einzige Zeile im Textbereich (ohne Anführungszeichen) *****
Um was handelt es sich denn?
JForth ist eine Programmiersprache, die es Ihnen erlaubt, mit Ihrem Amiga
zusammenzuarbeiten. Wenn Sie in JForth programmieren, sind Sie "innerhalb"
der Sprache. Sie haben von der Tastatur aus Zugriff zu jeder Datenstruktur,
können jede Routine testen oder irgendein Entwicklungshilfsmittel
verwenden. Diese direkte Verbindung zum Computer erhöht Ihre Produktivität
und gibt Ihnen dadurch zusätzliche Zeit, die Qualität Ihrer Software zu
verbessern. JForth beruht auf dem Standard für die Sprache Forth aus dem
Jahre 1983. Forth war zunächst von Charles Moore konzipiert worden, als er
erwas Neues brauchte, um Fernrohre zu kontrollieren. Er entwickelte eine
Sprache, die auf einer Zusammenfassung von Worten, einem Wörterbuch,
beruhte. Dieses Wörterbuch kann durch Schreiben neuer Worte, die auf
vorhandenen aufbauen, erweitert werden. Seit der Originalversion von Mr.
Moore wurde Forth für nahezu jeden Computertyp übersetzt, vom größten Gerät
bis zum kleinsten Mikrocomputer. Da ein Minimalsystem von Forth in nur ein
paar Kilobytes Speicher eingerichtet werden kann, wird es oft in
Einbaucomputern von Prozesssteuerungen und Arbeitsmaschinen verwendet.
Forth ist jedoch genauso gut für größere, fortschrittliche Computer, wie
den Amiga, geeignet. Forth ist eine sehr flexible Sprache und kann an
größere Rechner angepasst werden, ohne dass man den "Geschmack" der
Originalsprache verliert. JForth ist eine Anpassung von Forth, die
besonders für den Commodore Amiga entworfen wurde. JForth verwendet einen
32-Bit-Stack und kompiliert direkt in Maschinensprache des 68000. Dadurch
wird JForth schneller als die meisten Forth-Dialekte. JForth bietet auch
einen breiten Satz von Werkzeugen, um auf die besonderen Eigenschaften des
Amiga zugreifen zu können. Sie können jede Library-Routine mit Namen
aufrufen und sich auf jede Amiga-Struktur beziehen, indem Sie
Datenstrukturen ähnlich wie in 'C' verwenden. JForth besitzt auch einige
besondere Hilfsmittel, die einfache Grafiken, Intuition-Menüs, IFF-Dateien
und andere Amiga-Eigenschaften unterstützen. Diese Hilfsmittel können
direkt zur Vereinfachung Ihrer Amiga-Programmierung eingesetzt werden. Die
Quellcodes aller dieser Hilfsmittel stehen zur Verfügung, so dass Sie sie
an Ihre Bedürfnisse anpassen oder sie als Lernbeispiele für die
Amiga-Programmierung verwenden können. JForth bietet auch mehr als ein
Dutzend kleiner Beispielprogramme für jene, die so wie ich am besten aus
Beispielen lernen. JForth erlaubt auch Dinge zu tun, die einmalig in der
Forth-Geschichte sind, wovon das Eindruckvollste wohl CLONE ist. Mit diesem
außergewöhnlichen Hilfprogramm können Sie eine eigenständige Version Ihres
Programm von minimaler Größe erzeugen.
Aufrufe der Amiga-Libraries - JForth bietet ein System, um beliebige
Routinen jeder Amiga-Library mit Namen aufrufen zu können. Es ermittelt, in
welche Register des 68000 die Parameter geschrieben werden und erstellt den
passenden Code. So können Sie leicht die Parameter an den Stack in der
Reihenfolge übergeben, wie sie in der Amiga-Dokumentation beschrieben sind.
Eine Anzahl von Hilfen wurden zur Unterstützung spezieller Teile von
Amiga-Libraries geschrieben, darunter sind EZMENUS, Graphics, das Serial
Device, ANSI-Codes und viele weitere.
Unterstützung der Amiga-Strukturen - JForth bietet Gleichwertiges für alle
".h"-Include-Dateien von "C". Diese ".j"-Dateien definieren alle
notwendigen Strukturen und Konstanten, um Informationen an die Routinen der
Amiga-Libraries übergeben zu können. Strukturen können interaktiv für das
Debugging durch Verwendung von DST ausgegeben werden, wobei alle Elemente
mit Namen und Wert dargestellt sind. Angepasst an OS3.1!
ARexx-Unterstützung - ARexx ist eine Sprache, die unterschiedlichen
Anwendungen die Kommunikation miteinander ermöglicht. Zum Beispiel könnte
ein Rechenblatt-Programm (spread sheet) mit einer Datenbank
zusammenarbeiten. Diese Arbeitsmittel helfen Ihnen, ARexx-kompatible
Programme zu schreiben.
Assembler - JForth unterstützt zwei verschiedene Assembler, einen mit
umgekehrter polnischer Notation (Reverse Polish Notation = RPN) und einen
mit einer Syntax ähnlich Motorola. Der RPN-Assembler kann zur Erzeugung von
Macros verwendet werden, aber der Motorola-Assembler ist leichter zu lesen.
Dazu gibt es auch einen Disassembler.
Block-Unterstützung und SCRED - Für alle, die die "altmodische" BLOCK- oder
SCREEN-Arbeitsumgebung vorziehen, bieten wir LIST, LOAD und den üblichen
Zeileneditor. Wir haben aber auch einen WYSIWYG SCREEN Editor, den wir
SCRED nennen. (Wir empfehlen die Verwendung normaler Textdateien mit
JForth.)
CLONE - CLONE können Sie zur Erzeugung kleiner, ausführbarer Abbilder
(images) Ihres JForth-Programmes verwenden. CLONE übernimmt das kompilierte
JForth-Programm, entnimmt alle Befehle und Daten, die zum Ablaufen des
Programms benötigt werden und reassembliert eine kleinere Version davon.
Alle JForth-Entwicklungshilfen, die Namensfelder und Verbindungsfelder
(link fields) und alle anderen unbenutzten Worte werden zurückgelassen. Die
endgültige Abbild-Größe ist vergleichbar mit solchen, die mit einem
C-Kompiler und -Linker erzeugt werden. Abbilder können mit einer
Symbol-Tabelle gespeichert werden, um (falls nötig) WHACK oder einen
anderen Debugger anwenden zu können. Der JForth Source Level Debugger
(Debugger auf Quell-Ebene) kann ebenfalls mit geCLONEten Programmen benützt
werden. Die meisten Programme CLONEn ohne Änderungen, wenn ein paar
einfache Regeln bezüglich der Runtime-Initialisierung von Variablen oder
Arrays, die Forth-Adressen enthalten, befolgt werden.
Debugger - JForth bietet einen Quellcode-Debugger, mit dem Sie in
Einzelschritten Ihren Code durchlaufen können. Bei jedem Schritt sehen Sie
den Inhalt des Stacks. Sie können auch den Rückgabe-(return-)Stack prüfen,
den Speicherinhalt ausgeben, Breakpunkte setzen, die Ausführung
kontrollieren und sogar Forth-Befehle eingeben.
Gleitpunkt-Rechnung (Floating point) - JForth unterstützt sowohl Fast
Floating Point mit einfacher Genauigkeit als auch den IEEE-Standard mit
doppelter Genauigkeit. Diese Worte sind konform mit dem Forth Vendors Group
Standard (Standard der Forth Verkäufer-Gruppe).
IFF-Unterstützung - JForth bietet Allzweck-Hilfsmittel zum Lesen und
Schreiben von IFF-Dateien. Es enthält auch eine Werkzeugsammlung
besonders zur Bearbeitung von ILBM-Grafikdateien. Damit können Sie Bilder,
Bildausschnitte (brushes), Animationen und Ausschnitte von Animationen
(anim brushes) in Ihr Programm einbauen. JForth bietet Ihnen auch
Hilfsmittel für die Darstellung von Animationen und Präsentationen, wie
Blitten, Wischblenden, Ein- und Ausblenden, usw. Mächtige grafische und
Animationsprogramme können mit diesen Hilfen geschrieben werden.
Lokale Variablen - Lokale Variablen können die Definitionen komplexer Worte
durch den Wegfall vieler Stack-Bearbeitungen vereinfachen. Lokale Variablen
sind schnelle direktübernehmende (self fetching) Variablen, mit denen man
rückgekoppelte sich wiederholende (reentrant recursive) Befehlsabläufe
schreiben kann. Durch die Verwendung von regulären VARIABLEn kann man ein
Wort nicht-reentrant machen.
Module - Die vorkompilierten Module von JForth bieten eine Methode, um
schnell auf Codes zugreifen zu können, die während der Kompilation benötigt
werden. Das schließt die Assembler, den Disassembler und die Amiga-Include-
Dateien mit ein. Diese Module werden dynamisch mit dem Wörterbuch
verknüpft, wenn sie gebraucht werden. Dadurch nehmen sie keinen Platz im
normalen Wörterbuch weg, stehen aber sofort zur Verfügung.
Mehrfach-Standards - Dieses System erlaubt Ihnen, zwischen JForth und den
wichtigen Standards - FIG, '79 und '83 - hin- und herzuschalten. Das ist
angenehm zum Kompilieren von Codes, die mit einem anderen Forth geschrieben
wurden. An einem ANSI-kompatiblen Modul wird gearbeitet.
ODE - ODE (Object Oriented Development Environment) ist eine
objektorientierte Arbeitsumgebung für Entwicklung mit ähnlicher Grundidee
wie SmallTalk. Sie können Klassen intelligenter Datenstrukturen entwickeln
und so viele Kopien dieser Strukturen anfertigen, wie gebraucht werden.
Diese Technik kann die Programmierung außerordentlich vereinfachen, weil es
leichter wird, wiederverwendbaren Code zu schreiben.
Profiler - Dieses Werkzeug überwacht den Ablauf eines Programms um
herauszufinden, wo es seine Zeit verbringt. Die meisten Programme
verbrauchen die meiste Zeit in einem kleinen Bereich ihres Codes. Durch das
Erkennen dieser Stellen kann man den Aufwand bei der Optimierung darauf
bündeln, wo es am Notwendigsten ist.
Textra - ist ein mächtiger, aber leicht benutzbarer Texteditor mit mehreren
Fenstern, der für Programmierer entworfen wurde. Er benützt die Maus, um
den Text auszuwählen, und erlaubt Ausschneiden (Cut), Kopieren (Copy) und
Einsetzen (Paste) von Fenster zu Fenster. Er hat auch ARexx-Anschluss, mit
dem Sie vorbereitete (oder selbst verfasste) Makros (.textra-Dateien) zur
Textbearbeitung heranziehen können. Textra arbeitet mit JForth zusammen,
so dass Sie direkt aus dem Editor heraus kompilieren können. Wenn während
der Kompilierung ein Fehler erkannt wird, macht ihn Textra kenntlich,
so dass er schnell korrigiert werden kann.
Tutorials (Lehrprogramme) - Führungen für Anfänger, Geübte und
Fortgeschrittene leiten Sie durch die grundlegenden Dinge des Systems.
Verschiedene Hilfsmittel zur Fehlersuche - Anzeigeteile (Showhunks) zur
Analyse von Amiga-Binärdateien, grafische Hilfen für Animationen und
Ausschnitte davon.
... und noch viel mehr!!!
Vergessen Sie nicht, sich das hervorragende Handbuch auszudrucken, Es
bietet Ihnen sowohl unbezahlbare Informationen über die vielen vorhandenen
Hilfsmittel als auch ein ausgezeichnetes 3-stufiges Lehrprogramm.