Copyright © 1995 by O'Reilly/International Thomson Verlag

Bitte denken Sie daran: Sie dürfen zwar die Online-Version ausdrucken, aber diesen Druck nicht fotokopieren oder verkaufen.

Wünschen Sie mehr Informationen zu der gedruckten Version des Buches "Linux - Wegweiser zur Installation & Konfiguration", dann klicken Sie hier.


Kapitel 6

Andere Programmiersprachen

Es gibt noch viele andere beliebte (und weniger beliebte) Programmiersprachen für Linux. In den meisten Fällen funktionieren sie unter Linux genau wie auf anderen UNIX-Systemen, so daß es in diesem Punkt wenig Neues zu berichten gibt. Außerdem gibt es so viele Sprachen, daß wir hier nicht genauer darauf eingehen können. Wir wollen Ihnen aber zeigen, was überhaupt vorhanden ist und wollen einige Unterschiede zwischen verschiedenen Sprachen und Compilern aufzeigen.

LISP ist eine interpretierte Sprache, die für viele Anwendungen eingesetzt wird -- das reicht von Künstlicher Intelligenz bis zur Statistik. Die Sprache wird hauptsächlich in der Informatik benutzt, weil sie eine saubere, logische Schnittstelle für das Arbeiten mit Algorithmen bietet. (Außerdem benutzt LISP viele Klammern, was Informatiker immer gerne sehen.) Es ist eine funktionale Sprache für alle Zwecke. Viele Programmschritte werden rekursiv statt mit linearen Schleifen programmiert. Ausdrücke sind hierarchisch, und Daten werden in Form von Listen dargestellt.

Es gibt mehrere LISP-Interpreter für Linux. Emacs enthält einen eigenen LISP-Dialekt namens Elisp, der eine eine ziemlich vollständige Implementierung darstellt. Elisp bietet umfangreiche Fähigkeiten zur direkten Zusammenarbeit mit Emacs -- beispielsweise die Ein- und Ausgabe in Emacs-Puffern -- aber es kann auch für Anwendungen benutzt werden, die nichts mit Emacs zu tun haben.

Außerdem gibt es noch CLISP, eine Common LISP-Implementierung von Bruno Haible von der Universität Karlsruhe und Michael Stoll von der Universität München. Darin sind ein Interpreter, ein Compiler und eine Teilmenge von CLOS enthalten (Common LISP Object System, eine objektorientierte Erweiterung zu LISP). Auch CLX steht zur Verfügung, ein Common LISP-Interface zum X Window System, das unter CLISP läuft. Mit CLX können Sie X-basierte Anwendungen in LISP schreiben. Es gibt eine weitere LISP-Implementierung, das Austin Kyoto Common LISP, das ebenfalls zu CLX kompatibel ist.

Mit SWI-Prolog steht eine komplette Prolog-Implementierung von Jan Wielemaker von der Universität Amsterdam zur Verfügung. Prolog ist eine Logik-orientierte Sprache, in der Sie logische Behauptungen aufstellen und Heuristiken definieren, mit denen Sie diese Behauptungen beweisen und daraus Entscheidungen ableiten. Prolog eignet sich ausgezeichnet für KI-Anwendungen.

Es gibt außerdem mehrere Scheme-Interpreter einschließlich MIT Scheme, einem kompletten Scheme-Interpreter nach dem Standard R 4. Scheme ist ein LISP-Dialekt mit einem klareren, allgemeingültigeren Programmiermodell. Dieser LISP-Dialekt eignet sich für Informatikanwendungen und zum Studium von Algorithmen.

Mindestens zwei Implementierungen von Ada sind bekannt -- AdaEd, ein Ada-Interpreter, und GNAT, der GNU Ada Translator. GNAT ist ein richtiggehender optimierter Ada-Compiler, etwa in einem solchen Verhältnis zu Ada wie gcc zu C und C++.

Auf derselben Linie liegen zwei andere beliebte Sprachübersetzer für Linux -- p2c , ein Pascal-nach-C-Übersetzer, und f2c , ein FORTRAN-nach-C-Übersetzer. Falls Sie befürchten sollten, daß diese beiden \Ubersetzer nicht so gut funktionieren wie echte Compiler, können wir Sie beruhigen. Sowohl p2c als auch f2c haben sich als stabil und nützlich selbst bei intensivem Gebrauch erwiesen.

f2c ist kompatibel zu FORTRAN-77, und es sind auch einige Tools verfügbar. ftnchek ist ein FORTRAN-»Checker« ähnlich wie lint . Sowohl die LAPACK-Mathematik-Library als auch die Library mpfun (multi-precision FORTRAN) sind unter Benutzung von f2c nach Linux portiert worden. toolpack enthält eine Sammlung von Tools wie z.B. ein Programm zur formatierten Ausgabe von Quellcode, ein Programm zur Anpassung der Rechengenauigkeit (precision converter) sowie ein Programm, das die Übertragbarkeit von Code prüft (portability checker).

Zu den diversen anderen Sprachen, die es für Linux gibt, gehören Interpreter für APL, Rexx, Forth und ein Simula-nach-C-Übersetzer. Die GNU-Version der Tools lex und yacc ist ebenfalls nach Linux portiert worden (unter dem Namen flex bzw. bison ). lex und yacc sind unverzichtbar zum Erzeugen von Parsern und Übersetzern, die man in der Regel beim Schreiben von Compilern braucht.


Inhaltsverzeichnis Vorherige Abschnitt Nächste Abschnitt