Das Sprachgenie: Alle Programmiersprachen

Wäre das Leben nicht einfacher, wenn wir alle die gleiche Sprache sprechen würden? Man könnte sogar davon träumen, daß dann alle Spannungen zwischen den Menschen verschwinden und Kriegsgefahren oder ähnliche nicht natürliche Katastrophen verbannt würden. Leider ist das nur ein Traum. Viele haben ihn geträumt. Das Esperanto sollte ein besseres Verständnis auf der Basis einer gemeinsamen Sprache schaffen. Kurz, nachdem der polnische Arzt L. Zamenhof diese universelle Sprache entwickelt hatte, wurden kulturelle Brücken zu einer Mode. Keine dieser Kunstsprachen hat sich indes durchgesetzt; die Menschheit bleibt durch verschiedene Sprachen getrennt.

Vielleicht, weil Computer ein Produkt des Menschen sind, spiegeln sich auch hier menschliche Verhaltensweisen. Die Existenz verschiedener Computer-Sprachen beruht jedoch nicht nur auf der Tatsache, daß diese von verschiedenen Menschen geschaffen werden. Sicher hat sie mehr zu tun mit der Vielfältigkeit der Probleme, die der Mensch dem Computer gestellt hat.

Für jede Aufgabe, die in der Geschichte des Menschen gelöst werden mußte, wurden die notwendigen Werkzeuge geschaffen. So ist die Entwicklung der Wissenschaft eng mit den zu lösenden Problemen verbunden.

Bei der Entwicklung der Computer ist das nicht anders gewesen. Die ersten Aufgaben für den Computer waren Steuerungen von Maschinen, bei denen die Geschwindigkeit der Ausführung eine große Rolle spielte. So war es notwendig, eine Kommunikationsform zu entwickeln, die so nah wie möglich an die kodierten Impulse, die die Maschine versteht, herankommt. Am Anfang wurde der Rechner mechanisch eingestellt, um eine bestimmte Funktion zu realisieren. Durch die Veränderung von Reglern oder Schaltern wurde diese analytische Maschine veranlaßt, etwas zu realisieren. Mit verschiedenen Schaltereinstellungen wurden dem Rechner verschiedene Befehle übermittelt.

John von Neuman machte eine revolutionäre Entwicklung in der Geschichte der Computer-Mensch-Kommunikation. Er gab dem Rechner keine mechanischen Instruktionen mehr, sondern symbolische: Eine schier endlose Folge von Nullen und Einsern, die die Maschine als Befehl interpretierte. Doch damit waren noch keine längeren und fehlerlosen Programme zu entwickeln.

Erst mit dem nächsten Schritt wurde ein für den Menschen bequemes und verständliches Bindeglied zur Maschine geschaffen. Die Assemblersprache befreit den Programmierer von dem verwirrenden Dualkode und stellt eine Sprache dar, die richtige Worte enthält. Das Prog ramm wird auf dein Bildschirm eingetippt und später assembliert. Der Anwender kann den fortlaufenden Text prüfen und leicht nach Fehlern suchen. Die Assemblersprache wurde mit der Zeit optimiert: ihre Handhabung ist mittlerweile recht unkompliziert.

So eine Sprache hat zwar viele Vorteile, doch einen großen Nachteil: Jeder Prozessor versteht nur eine bestimmte Assemblersprache, nämlich diejenige, die für ihn geschaffen wurde. So bleibt ein Programm, das für einen bestimmten Prozessor geschrieben wurde, für einen anderen völlig unverständlich!

Problemorientierte Sprachen

In den 50er Jahren lernte man aus den oben beschriebenen Erfahrungen und forschte nach einer besseren Kommunikationsmöglichkeit mit dem Rechner. Man wollte eine Sprache schaffen, die so weit wie möglich die Technik der menschlichen Kommunikation widerspiegelt. Die Struktur der Probleme, die an den Computer gestellt wurde, sollte dem angepaßt werden. In jedem Fall sollte es eine Sprache sein, die auf verschiedenen Computern laufen könnte.

Mit der Zeit wurde der Computer ein Polyglott. Zahlreiche Sprachen wurden für die unterschiedlichen Problemegeschaffen, so daß heute die Landschaft der Computersprachen unübersichtlich geworden ist.

Im Bereich der Personal-Computer ist die Vermehrung der Sprachen ebenso schnell vor sich gegangen wie in der Welt der größeren Anlagen. Nur wenige, völlig unbedeutsame Sprachen wurden nicht an die verschiedenen PC angepaßt. Von einem Standard kann also nicht die Rede sein. Vor allem bringt jede Programmiersprache verschiedener Versionen hervor, die zueinander nicht vollständig kompatibel sind. Auch für den ATARI ST ist eine große Anzahl dieser Sprächen bereits vorhanden. Wir wollen hier einen kurzen Überblick aller Programmiersprachen, die für den ATARI ST in Frage kommen, geben. Wir können dem Anwender die entscheidung jedoch nicht abnehmen, welche Programmiersprache die richtige für ihn ist. Das hängt mit der Art der Aufgab be, die zu lösen ist, und mit der persönlichen Erfahrung zusammen. Für eine Leistungsbeurteilung der verschiedenen Versionen einer Sprache würde dieser Artikel nicht ausreichen. Wir machen unsere Leser deshalb darauf aufmerksam, daß viele der hier genannten Programmiersprachen in früheren Ausgaben unserer Zeitung getestet und beurteilt wurden. Natürlich beschäftigen wir uns nur mit den Programmiersprachen, die für den ST zur Verfügung stehen.

Fortran: Der Großvater

Am Anfang der 50er Jahre, als der massive Einsatz der Computer im kommerziellen Bereich begann, waren die Kosten der Software-Entwicklung enorm gestiegen. Die meiste Zeit wurde für die Korrektur von Fehlern aufgewandt, die sich im Programm eingeschlichen hatten. 1954 gelang es IBM, die erste höhere Programmiersprache zu schaffen. FORTRAN (Formula Translator) ist eine Programmiersprache, die von Anfang an zur Lösung von naturwissenschaftlichen Problemen gedacht war. Da zu diesem Zeitpunkt die meisten Aufgaben der Datenverarbeitung Probleme aus dem mathematischen Bereich waren, hatte man mit FORTRAN eine Sprache gefunden, die die Entwicklung und Lösung komplizierter arithmetischer und algebraischer Operationen beherrschte. Der komplizierte Umgang mit der Ein- und Ausgabe von Daten war damals kein Hindernis, diese Programmiersprache in großem Umfang einzusetzen. Da die Sprache von einem großen Konzern entwickelt wurde, wurde sie zu einem Standard in der Welt der Datenverarbeitung. Mit der Zeit wurden Verbesserungen vorgenommen, so daß die neuste Version FORTRAN 77 um einiges leistungsstärker geworden ist. FORTRAN ist trotz der Verbreitung von Personal-Comutern und trotz des Angebots dieser Sprache für PC von mehreren Softwarehäusern eine Sprache der großen Rechenanlagen geblieben.

Für den ATARI ST wird unter dem Namen ProFortran eine Version des FORTRAN 77 angeboten, die von der englischen Firma Prospero Software erstellt wurde. Der Sprachumfang von ProFortran entspricht dem Standard ANSIN-Norm Fortran 77.

Pascal

Ein Nachteil der vorhandenen BASIC- und Fortran-Versionen war es den Ablauf eines Programms nachzuvollziehen. Die häufigen Sprünge in Unterroutinen machten ein Programm sehr unlesbar. Heute gibt es BASIC-Versionen, die Prozeduren erlauben, und auch Fortran 77 kann besser strukturiert werden. Nach dieser Erkenntnis wurde Mitte der 60er Jahre die Sprache Algol geschaffen, der ein völlig neues Konzept zugrunde lag, das jedoch schnell Strukturen, Prozeduren, usw. implementierte. Man erkannte, daß auch diese Sprache an gewissen Stellen Schwächen hatte. Niklaus Wirth, der selbst an einer Algol-Version mitgearbeitet hatte, schuf 1970 an der Technischen Hochschule in Zürich PASCAL. Diese Sprache, benannt nach dem bekannten Philosophen und Mathematiker Blaise Pascal, wurde als Sprache für Informatiker, Mathematiker und Naturwissenschaftler konzipiert, ist aber beispielsweise ebenso für die Datenverwaltung geeignet. Ihr Hauptmerkmal liegt im übersichtlichen Aufbau, der durch spezielle Befehle ermöglicht wird. Dazu gehören verschiedene Anweisungen zur Schleifensteuerung sowie komfortable Verzweigungsmöglichkeiten. Dies bildet die Grundlage für eine strukturierte Programmierweise, der Pascal seine große Popularität verdankt. Ein anderer wesentlicher Pluspunkt von Pascal ist die Menge an Datentypen sowie die Struktur. Man kann Records definieren, die verschiedene Datentypen umfassen. Daraus ergibt sich eine Zusammensetzung von verschiedenen Datentypen sowie die Struktur. Man kann Records definieren, die verschiedene Datentypen umfassen. Daraus ergibt sich eine Zusammensetzung von verschiedenen Datentypen, die als selbst erfunden (je nach Zweck) betrachtet werden könnten.

Pascal erfreut sich einer großen Beliebtheit bei ST-Anwendern und ist mehrmals vertreten.

Der erste Pascal-Compiler für den ST war GEMDOS-PASCAL von CCD. Damals gab es zu diesen Produkten keine Konkurrenz; insofern blieb dem Pascalprogrammierer keine Alternative als diese Version. Der Mangel, den diese Sprache damals hatte, wurde von der Softwarefirma CCD selbst nach und nach beseitigt. In der Anfangsphase leistete die Benutzeroberfläche EASY PAS, die von Jürgen Leonhard geschrieben wurde, große Hilfe. Dadurch ersparte man sich die mühselige Arbeit einer Batchprozedur. Die alte Pascal-Version wurde von einer völlig neuen und ausgereiften ersetzt. Diese Konkurrenzlosigkeit wurde später von METACOMCO erkannt. Das Softwarehaus brachte eine sehr umfangreiche Version dieser Sprache auf den Markt. Bei der CeBit 86 wurde von der in England ansässigen Firma PROSPERO eine andere Version, das in der IBM-Welt längst bekannte PROPASCAL angekündigt. Erst im September gelangte dieses Produkt auf den deutschen Markt. Das System war für Entwickler gedacht und ist schwieriger als die anderen Pascal-Versionen zu bedienen.

'C' ist nicht nur ein Buchstabe

Die Sprache 'C' wurde in den 70er Jahren von Dennis Ritchie bei Bell Laboratories, einer Tochtergesellschaft von AT&T, entwickelt. Man wollte das bis zu diesem Zeitpunkt in Assembler PDP11 geschriebene Betriebssystem UNIX umschreiben, um es auch für andere Maschinen lauffähig zu machen.

Bei der Entwicklung von 'C' wurde besonders darauf geachtet, eine Sprache zu schaffen, die so unabhängig wie möglich von jeder Hardware-Architektur bleibt. 'C' hat in fast allen Bereichen Anwendung gefunden. Von maschinennaher Programmierung, wo die schnelle Ausführung sehr wichtig ist, bis zu dem Einsatz in der Herstellung von CAD und Textverarbeitungsprogrammen findet man Programme, die in 'C' geschrieben wurden. Beim ATARI ST ist diese Sprache sehr häufig vertreten. Da die bequeme Bedienungsoberfläche des ST in 'C' geschrieben ist, eignet sich diese Sprache am besten für diesen Rechner. Eine ältere Version davon für die STSerie ist der Compiler von Digital Research. Er war Bestandteil des sogenannten Entwicklungspakets, das von ATARI selbst vertrieben wird. Einer der Nachteile dieses Compilers war seine konventionelle Umgebung: Wenn man einen Rechner besitzt, der eine sehr bedienungsfreundliche Oberfläche hat, sollte auch die Software darauf abgestimmt werden. Aus England kam später der GST C-Compiler, der das GEM vollständig nutzt, der aber keine Fließkomma-Arithmetik kannte. Die angepaßte Version der Lattice C fand auch bei den ATARI-Anwendern große Resonanz. Einer der beliebtesten 'C'-Compiler ist der sogenannte MEGAMAX C, der wegen seines ausführlichen Bibliotheksumfangs ein echtes Entwicklungssystem darstellt. Nicht nur die Bedienung ist bei dieser Version besser gestaltet, sondern auch die Compilier- und Linkzeiten sind viel kürzer als bei anderen Versionen. Ein Neuling für alle ST-verfügbaren CCompiler ist das sogenannte Mark Williams C. Diese Version benutzt ein UNIXähnliches Shell, so daß jeder UNIX-Benutzer sehr schnell mit dieser Compiler-Version zurechtkommen wird. Die Programme, die mit Mark Williams C geschrieben werden, benötigen 2 bis 4 mal längere Zeit für die Vorgänge des Compilierens und Linkens. Möchte man Programme entwickeln, die einfach an MS-DOS-Betriebssysteme angepaßt werden müssen, so hat man mit Mark Williams ein umfangreiches und brauchbares Entwicklungssystem.

center

BASIC

BASIC wurde am Ende der 60er Jahre entwickelt. Der direkte Vorfahre ist eindeutig FORTRAN, obwohl die Sprache auch Elemente von ALGO besitzt. Kemeny und Kurtz, die BASIC am Dartmouth College in New Hampshire entwickelten, wußten damals wohl nicht, daß sie eine Sprache geschaffen hatte, die heute ein Standard für alle Home-Computer und die am meisten verbreitete Sprache im PC-Bereich ist. Die große Stärke liegt in erster Linie darin, daß es eine Interpreter-Sprache ist. Obwohl ihr Sprachumfang relativ groß ist, bleibt BASIC sehr einfach zu erlernen. Des Vorteil eines Interpreters ist, daß ein Dialog Mensch-Rechner sofort statt findet. Nach der Anweisung folgt eine sofortige Ausführung - ohne Zwischenphasen. Das alles hat diese Sprache vor allem bei Schülern und für Unterrichtszwecke sehr beliebt gemacht.

Ein großer Nachteil von BASIC war in der Anfangszeit, daß sehr viel Freiheit bei der Programmierung zugelassen wurde. Die Möglichkeit, in Unterroutinen und zurück zu springen, machte die Programme fast unlesbar. Solche Mankos wurden von den Entwicklern erkannt, so daß die neuen Generationen wesentlich erweitert wurden. Zur Zeit gibt es BASIC-Dialekte, die eher an Pascal erinnern.

Zum Lieferumfang des ST gehört ein BASIC-Interpreter, der von Digital Research für diesen Rechner-Typ erstellt wurde. Trotz seiner Bedienungsfreundlichkeit ist dieser Interpreter nicht brauchbar. Selbst ATARI hat die Probleme dieser BASIC-Version erkannt und hat angekündigt, daß in näherer Zukunft ein besserer und fehlerfreier Interpreter geliefert wird. Ein BASIC-Compiler wird von PHILON Inc., einer amerikanischen Softwarefirma, geliefert. Er ist recht umständlich zu bedienen und besitzt nur einen Vorteil: Der Sprachumfang dieser Version entspricht dem des bekannten MBASIC von Microsoft.

Für den ST-Besitzer hat der GfABASIC-Interpreter wegen seiner Leistungsmerkmale eine Sonderstellung errreicht. Diese BASIC-Version benutzt keine Zeilennummern mehr, so daß bei Sprüngen auf Labels verwiesen werden muß. Es wird nur ein Befehl pro Zeile akzeptiert, was der besseren Lesbarkeit eines Programms dient. Man kann in GfA-BASIC mit echten Prozeduren programmieren, die Parameter akzeptieren und einen oder mehrere Rückwerte zurück geben. Mit dem neuen Compiler für diesen Interpret er hat sich für BASIC eine völlig neue Perspektive eröffnet. Zur Zeit ist auch dieser Compiler leider nicht absolut fehlerfrei.

Die jüngste deutsche Entwicklung ist OMIKRON-BASIC. Dieser Interpreter wird als ROM-Modul geliefert, so daß er beim Einschalten des Rechners immer sofort zur Verfügung steht. Das Omikron-BASIC sticht vor allem durch seine hervorragenden mathematischen Fähigkeiten hervor. Eine umfangreiche Bibliothek ist im Lieferumfang dabei. Dazu gehört ein Modul zur Erstellung von index-sequentiellen Datei (ISAM).

Modula-2

Modula ist eine Weiterentwicklung von Pascal. Wie bei den eben genannten Sprachen ist auch hier N. Wirth der geistige Vater. 1978 wurde Modula der Offentlichkeit in Form einer Maschine gezeigt, die nur diese Sprache beherrschte. Modula ist stark nach Pascal aufgebaut, aber in der Leistung wesentlich verbessert. Die Programme werden in kleine Einheiten zerlegt, die man Modula nennt. Jedes Modul ist völlig unabhängig und kann getrennt übersetzt werden. Die Module entsprechen etwa Bibliotheksstücken, die jederzeit in ein anderes Programm implementiert werden können. Die Prozeduren können bei Modula als Datentypen deklariert werden, so daß eine sehr große Flexibilität angeboten wird. Durch die implementierten Coroutinen können in Modula nebenläufige Prozesse (Multitasking) realisiert werden.

TDI bietet für alle ST-Rechner ein Modula-2 System und zusätzliches Toolkit an. Damit steht dem ST-Anwender eine der modernsten Sprachen zur Verfügung. Die GEM-Oberfläche wird bei Modula-2 von TDI vollständig unterstützt.

FORTH, die vierte Dimension

Charles Moore schuf diese Sprache in den 60er Jahren als Konkurrenz zu den damals vorhanden Sprachen, die für Steuerungszwecke ineffektiv waren. Der erste Einsatz dieser "vierten Generation" (daher der Name) war die Ansteuerung eines Teleskops in einem Observatorium. Wie die anderen höheren Programmiersprachen besitzt FORTH Sprachelemente bzw. feste Vereinbarungen, die der Anwender beachten muß. Ein wesentlicher Punkt, in dem die Sprache sich von anderen unterscheidet, ist, daß sich aus den definierten Sprachelementen neue Funktionen ableiten lassen. Dadurch hat der Programmierer eine unbegrenzte Möglichkeit, verschiedene Funktionen selbst zu definieren. Ein anderer Vorzug von FORTH liegt in der Maschinennähe, die es erlaubt, die jeweilige Prozessorarchitektur effektiv auszunutzen, und in der daraus resultierenden hohen Verarbeitungsgeschwindigkeit.

Für den ST werden über ein halbes Dutzend verschiedener FORTH-Versionen angeboten. 4 * FORTH von der Dragon-Group gehört zu den ersten Sprachen, die für den ST erhältlich waren. Diese Version von FORTH stellt sich als kompaktes Programmentwicklungssystem dar, das die Möglichkeiten des ST effektiv nutzt. Von Data Becker wird FORTH ST angeboten, eine sehr leistungsfähige Version, die unter GEM läuft.

Aus unserem Public-Domain Service ist ebenfalls eine Version von FORTH-83 zu erhalten.

APL: Eine Einführung in die Hieroglyphen

APL steht für "A Programming Language", was sich natürlich von sämtlichen Interpretern und Compilern behaupten läßt. APL wurde ursprünglich als universelle Notation zur Vermittlung von logischen (mathematischen) Zusammenhängen entwickelt und erstmals am legendären IBM 360 implementiert. Seither hat sich die Sprache auf Computern dieser Größenordnung rapide verbreitet. Dennoch blieb APL großen Anwenderkreisen unbekannt. Das Erscheinen sogenannter "Supermicros" Ende der 70er Jahre bescherte APL eine Verbreitung in der dezentralen Datenverarbeitung.

Die Interpreter-Sprache APL ist ständig verbessert worden. Bei APL-Befehlen handelt es sich nicht um pseudoenglische Sprachschöpfungen wie-) "ON... GOSUB", sondern um Symbole: Eine Bildersprache also, wie sie im alten Agypten verwendet wurde. Die Programme in APL werden modular aufgebaut. Die einzelnen Routinen werden als Funktionen berechnet - und es sind welche, da sie im Programm mit exakt derselben Syntax verwendet werden wie die im Sprachumfang enthaltenen Funktionen. Dieser Umstand deutet schon an, daß (ähnlich wie in FORTH) APL vom Anwender erweitert und ausgebaut wird.

APL-Programme sind meist sehr kurz; üblicherweise nimmt ein vergleichbares Programm in BASIC oder Pascal etwa zehnmal soviele Zeilen in Anspruch.

Für den ST wird von GDAT (Gesellschaft für dezentrale Daten/Technik) eine Version dieser Sprache angeboten. APL/68000 beruht auf dem IBM-Standard des APL.SV. Er ist vollständig implementiert. Diese Version besitzt ein eigenes Dateisystem. Das APL/68000-Dateisystem arbeitet indexsequentiell und bietet sämtliche denkbaren Kontrollfunktionen, die für große Datenbanken vonnöten sein könnten.

LOGO: Nicht nur für Kinder

LOGO wurde Ende der 60er Jahre von Seymour Papert, Professor im Institut of Technology, Massachusetts, entwickelt, einem Labor, das sich mit künstlicher Intelligenz beschäftigt. LOGO gehört zu den InterpreterSprachen und ist daher sehr schnell zu beherrschen. Papert, Mathematikprofessor und ehemaliger Student des schweizerischen Psychologen Jean Plaget (bekannt als Vater der modernen Psychologie), strebte nicht nach einer neuen Sprache, die das Optimum eines Computers bilden sollte, sondern eher nach einem pädagogischen Werkzeug, das die intellektuellen Fähigkeiten der Studierenden entwickeln sollte - genauso, wie der tatsächliche Lernprozeß komplizierte Vorgänge erleichtert. So entstand eine Programmiersprache, die im Dialog-Betrieb mit dem Anwender arbeitet und in der Lage ist, schwierige Prozesse anschaulich zu lösen. Dazu dienen kurze Befehle in Form von einfachen und bekannten Begriffen. Beim damaligen Stand der Technik war es unmöglich, solche Lösungen auf einem Sichtgerät darzustellen. Papert schuf eine mechanische _Schildkröte", an deren Unterseite ein Stift befestigt war. Beim Fahren auf einer Papierunterlage hinterließ sie Linien. Heute hat sich diese motorisierte _Schildkröte" in ein stilisiertes Dreieck verwandelt, das auf dem Bildschirm Figuren zeichnen kann. Zusätzlich zu den Befehlselementen, die zur Verfügung stehen, kann man die Sprache durch selbst definierte Funktionen erweitern, die in jedes Programm eingebaut werden können. LOGO hat heute im Bereich der künstlichen Intelligenz seinen Platz als Untermenge der Sprache Prolog.

ATARI selbst vertrieb für seine ST-Computer-Reihe eine LOGO-Version, die von der Software-Firma Digital Research entwickelt wurde. Dr. LOGO ist GEM-implementiert und einfach zu erlernen. Pull-Down-Menüs sowie die Bedienung durch die Maus vereinfachen, vor allem für den Neuling, den ersten Einstieg. Ein großer Nachteil dieser Version ist die geringe Ausführungsgeschwindigkeit.

LISP und PROLOG: Sprachen der Künstlichen Intelligenz

LISP und PROLOG sind ohne Zweifel die Muttersprachen der künstlichen Intelligenz. Am Anfang hatten sie nicht dieselbe Verbreitung gefunden wie andere Sprachen. Seit einigen Jahren hat sich der Computer-Fachmann immer mehr mit dem Thema Computer-Intelligenz beschäftigt und die Sprachen wurden neu entdeckt. Sie gehören zu sogenannten applikativen bzw. deklarativen Sprachen. Bei den imperativen Sprachen (FORTRAN, BASIC, PASCAL, FORTH, C, ...) wird ein Problem nach einem bestimmten, vom Programmierer festgelegten Ablauf gelöst. Es hängt von der Fähigkeit des Programmierers ab, die verschiedenen Ausnahmesituationen, an die ein Programm während seines Ablaufs stoßen könnte, zu berücksichtigen. Hat der Programmierer darin wenig Erfahrung, wird sich das Programm entsprechend. wenig zuverlässig verhalten.

Ein Programm, das in einer aplikativen Programmiersprache geschrieben wurde, besitzt keinen festen Algorithmus, sondern eher eine Softwarewelt aus Regeln und Schlußfolgerungen. Die eigentliche Lösung von Fragestellungen besorgt dann ein (in den Compiler oder Interpreter bereits integrierter) backtracking Algorithmus.

LISP ist die älteste KI-Sprache (und nach FORTRAN die zweitälteste Computersprache überhaupt) und existiert in vielen Versionen, in denen meist auch reichlich imperative Sprachelemente vorhanden sind. LISP entstand zunächst aus einer Kombination von FORTRAN und IPL. John McCarthy, der Vater von LISt Processor (LISP), vereinigte eine der wichtigsten Eigenschaften von IPL, die 'Listen', als Datenstrukturen mit den Grundfunktionen von FORTRAN. 1960 war ein komplettes LISP-System fertig, das aus einem Interpreter und Compiler bestand.

Auch in diesem Bereich werden für den ST verschiedene Versionen angeboten. Eine der älteren, die für diesen Rechner existieren, ist zum Nulltarif zu erhalten. Es handelt sich um XLISP, die sich auf Diskette Nr. 7 unserer Public-Domain befindet. XLISP wurde in C geschrieben und ist leicht an andere Rechner anzupassen. Die Dokumentation wird auf der Diskette in Form eines Files mitgeliefert und umfaßt circa 43 Seiten.

Die Softwarefirma Metacomco bietet unter dem Namen Cambridge LISP eine Version, die ursprünglich für Großrechneranlagen entwickelt wurde. Es handelt sich im wesentlichen um eine Erweiterung von Standard-Lisp. Cambridge LISP ist vollständig menügesteuert und wird mit einem in Englisch geschriebenen Handbuch geliefert.

Ein weiteres Angebot kommt aus Deutschland: LISPAS II. Tommy-Software, ein in der Mainmetropole ansässiges Softwarehaus, bietet für den ST eine LISP-Version an, die durch ihre Implementation von GEM einen einfachen Einstieg in das Neuland der künstlichen Intelligenz ermöglicht.

PROLOG steht für 'Programming in Logic' und bezieht sich auf eine Idee, die Anfang der 70er Jahre in den Kreisen der Programmierer ziemlich neu war: Das Programmieren nach einer 'logischen' Denkweise. PROLOG wurde jedoch wiederentdeckt, als die Japaner diese Sprache als Sprache der 'fünften Generation' und als Bestandteil ihrer neuen Technologie gewählt hatten. PROLOG befreit den Programmierer vom imperativen Ballast seines Problems bzw. seines Problem-Lösungswegs. Man könnte sogar sagen, daß mit PROLOG der Traum erreicht worden ist, einen Computer programmieren zu können, ohne eine bestimmte Programmiersprache lernen zu müssen: Ein völlig neues Konzept. Auch eine PROLOG-Version ist von unserem PD-Service zu erhalten. TOYProlog ist eine Implementation des bekannten DEC-10 Dialekts. Diese Version ist nicht sehr schnell, doch trotzdem für den PROLOG-Neuling ein gutes Werkzeug zum Einsteigen in die Welt der fünften Generation.

Mit der PROLOG-Implementierung "MProlog Logic-Lab" steht auf dem ATARI ST ein Labor für künstliche Intelligenz zur Entwicklung von Expertensystemen zur Verfügung. MPROLOG ist syntaktisch kompatibel zum Prologstandard, der im Handbuch "Programming in Prolog" von Cloksin und Mellisch beschrieben wurde. Mit einer Ausführungsgeschwindigkeit von ca. 800 LIPS (Logical Infereces per Second) kann die Interpreterversion mit mancher Prolog-Implementierung auf Minicomputern Schritt halten.

Ein Rückblick in die Vergangenheit

Wie schon oben erwähnt wurde, war Assembler der erste Schritt zu einer vernünftigen Kommunikation mit dem Rechner. Assembler hat den Programmierer von der Codierung der Befehle befreit, und die Programme um einiges deutlicher und verständlicher gemacht. Die Programme waren besonders schnell in ihrer Ausführung, und an die Maschine sehr gut angepaßt. Der zuerst genannte Punkt ist zweifellos von Vorteil, aber der maschinenabhängige Code macht diese Programme nicht übertragbar. Da jeder Prozessortyp seine eigenen Befehle und Adressierungsarten hat, wurde somit vom Hersteller eine eigene Assemblersprache entwickelt. Der Assemblerprogrammierer muß deshalb, wenn er auf verschiedenen Systemen mit unterschiedlichen Prozessoren arbeitet, mehrere Assemblersprachen lernen. Trotz aller Nachteile bleibt Assembler die effektivste Art einen Rechner zu programmieren. Da der Assembler direkt Maschinencode erzeugt, sind Assemblerprogramme die schnellsten und kürzesten. Assembler wird in vielen Anwendungen eingesetzt, die zeitkritisch oder von einer Hochsprache aus nicht erreichbar oder lösbar sind.

Im sogenannten Entwicklungssystem, das von ATARI vertrieben wird, ist ein Assembler (CP/M 68K Assembler) der Software Firma Digital Research enthalten. Zum Lieferumfang des Assemblers gehört ein Editor und Linker. Der Assembler beherrscht den Motorola Standard-Sprachumfang und stellt damit ein sehr brauchbares Werkzeug zur Herstellung von Programmen in Assembler dar.

Von der Firma OMIKRON wird unter dem Namen IDEAL ein Assembler-Paket angeboten. Es handelt sich um einen integrierten Debugger, Editor, Assembler und Linker. Dem im IDEAL integrierten Debugger kann man als einen der besten auf dem Markt bezeichnen. Der Editor ist, wie das ganze IDEAL-Paket, im schlichten TOS-Design gehalten, was aber nicht heißt, daß es ihm an Leistung mangelt. GST, ein Softwarehaus, das in England ansässig ist, und eine Fülle von Produkten für den ATARI anbietet, hat für den Assembler Programmierer ein Makro-Assembler-System, das äußerst professionell ist. Auf der Programmdiskette befinden sich der Assembler, der Editor, der Linker, eine Makrobibliothek und das Shell-Programm. Der Editor scheint ein Vorläufer von 1st Word zu sein und ist genau so leicht zu bedienen. Beim GST-Assembler sind die Möglichkeiten gegeben, mit Makros, vielen Pseudo-Opcodes und Funktionen, ähnlich wie bei einem Compiler, zu programmieren. Der Linker bietet eine Vielzahl von Funktionen, um Programme zu verbinden, Bibliotheken anzulegen und Programmteile aus Bibliotheken einzubinden.

Der Metacomco Macro Assembler bietet dem Assembler-Programmierer hervorragende Möglichkeiten. Der Assembler unterstützt zahlreiche PseudoOpcodes und lokale Labels. Dadurch wird die bedingte Assemblierung erst ermöglicht. Als Linker findet man den gleichen, der im GST-Assembler-Paket enthalten ist, wieder. Dieser besticht durch die Vielzahl seiner Optionen.


Marcelo Merino
Aus: ST-Computer 03 / 1987, Seite 9

Links

Copyright-Bestimmungen: siehe Über diese Seite