Sprache Dylan
 
StartSeite | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern

Beschreibung:

Die Programmiersprache Dylan ist eine objektorientierte dynamische Programmiersprache, bei deren Design nicht nur Wert auf elegante Abstraktionsmöglichkeiten, sondern auch auf die Performance des generierten Codes gelegt wurde.

Entwickelt wurde Dylan Anfang der 90er von Apple in Zusammenarbeit mit der Carnegie-Mellon-Universität und dem kommerziellen Compilerhersteller Harlequin. Ursprünglich gab es den Plan, das Betriebssystem für Apples damaligen PDA Newton in Dylan zu schreiben, ein Prototyp dafür existierte bereits. Der Plan wurde fallengelassen, weil die Laufzeitumgebung mit einem Megabyte die Grenze des damals erträglichen überschritt. Die Apple Dylan IDE wurde für Desktopanwendungen weiterentwickelt, jedoch nach 7 Jahren Entwicklungszeit mit bis zu 30 Entwicklern kurz vor Fertigstellung eingestellt. Grund waren die damaligen finanziellen Schwierigkeiten Apples.

Die Implementierungen von CMU und Harlequin existieren weiter. Das bei der CMU begonnene Projekt Gwydion Dylan schrieb zuerst einen Interpreter in C, und darauf aufbauend einen Dylan-nach-C-Übersetzer. Nach dem Ende der DARPA-Finanzierung lag das Projekt zunächst brach, wurde dann aber dank offener Sourcen als netzbasiertes Projekt weitergeführt. Gwydion Dylan läuft heute auf nahezu allen Plattformen und Prozessoren, seien es UNIX-Varianten wie Linux, FreeBSD, OpenBSD, MacOs X, Solaris, HP-UX, aber auch unter diversen Win32-Varianten und MacOS 9; auf Intel x86, PowerPC?, MIPS, Sparc, S/390, {PA RISC}? und ia64.

Harlequin Dylan wird heute als Functional Developer von der Firma Functional Objects verkauft. Für Win32 ist eine IDE verfügbar, für Linux existiert eine Alpha eines Batchcompilers. Functional Developer generiert im Gegensatz zu Gwydion Dylan direkt Code der Zielarchitektur, und ist daher derzeit nur für x86 verfügbar.

Ein Großteil der Dylan-Entwickler kommen aus der Lisp-Welt, und auch viele Features von Dylan wurden aus verschiedensten Lisp-Dialekten geeerbt. Ein großer Unterschied zu anderen Lisp-Dialekten ist die Syntax: sie ist infix und sieht auf den ersten Blick Pascal-ähnlich aus, und unterscheidet sich somit deutlich von dem bei Lisp üblichen Prefix mit unglaublichen Mengen Klammern.

Dylan ist objektorientiert, Mehrvachvererbung wird unterstützt. Funktionen sind first class objects, können also wie alle anderen Objekte auch zugewiesen und zurückgegeben werden. Closures und Function Composition sind vorhanden.

Ein zentraler Unterschied von Dylan im Vergleich zu anderen objektorientierten Sprachen ist das Vorhandensein von generischen Funktionen, die nicht mehr Klassen zugeordnet sind, sondern eigenständig sind. Die generischen Funktionen implementieren Multiple Dispatch, also eine Form von Polymorphie, bei der zur Laufzeit nicht nur das erste, sondern alle Argumente zur Auswahl der korrekten Methode in Betracht gezogen werden.


Links:
KategorieProgrammierSprache
StartSeite | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern
Text dieser Seite ändern (zuletzt geändert: 20. November 2002 10:04 (diff))
Suchbegriff: gesucht wird
im Titel
im Text