Willkommen auf diesen Seiten für AutoLisp-Programmierer! Ich möchte
hier einige Kapitel zum Thema AutoLisp vorstellen, die aus einem
Jahrzehnt der Beschäftigung mit dieser wunderbaren Sprache, die in
AutoCAD eingebaut ist, entstanden sind.
Die ist kein Tutorial für Anfänger! Wer die hier vorgestellten Ideen
nachvollziehen möchte, sollte über halbwegs solide Grundkenntnisse
in der AutoLisp-Programmierung verfügen. Auch eine gewisse Vertrautheit
mit dem kurzen und oft mit sehr tiefen Verschachtelungen einhergehenden
Stil der Sprache ist von Vorteil. Wer sich da nicht sicher ist,
sollte sich vielleicht erst einmal mein
Einsteiger-Tutorial
ansehen, das seit Mitte Mai ebenfalls online ist.
AutoLisp ist alles Andere als eine Makrosprache innerhalb von AutoCAD,
die nur zur Automatisierung kleinerer Aufgaben geeignet ist. Im Gegenteil,
auf der Skala von den in der Mächtigkeit der Funktionen wenig entwickelten
Sprachen wie Assembler und C bis hin zu den High-Level-Sprachen ist sie
weit oben angesiedelt, bleibt aber trotzdem recht universell.
Eigentlich ist AutoLisp eher ein Scheme-Dialekt als eine Teilmenge der
gängigen Lisp-Implementierungen wie Common Lisp. Scheme ist nach meiner
Ansicht die am saubersten strukturierte Sprache, die es bisher gibt. Die
gesamte Syntax lässt sich in wenigen Sätzen zusammenfassen, es gibt keine
Ausnahmen und Abweichungen.
Vielleicht liegt es daran, dass man auch die Syntax von AutoLisp in wenigen
Minuten begriffen hat, dass viele AutoLisp-Programmierer über ein gewisses
Niveau nicht hinauskommen, da sie nie wahrgenommen haben, was diese Sprache
überhaupt leisten kann. Auch wenn nicht alle Sprachmerkmale eines
ausgewachsenen Scheme oder Lisp in AutoCAD eingebaut wurden, braucht man
nur auf weniges zu verzichten.
Manche Dinge lassen sich in AutoLisp ganz einfach realisieren, die in
anderen Sprachen nur mit immensem Aufwand machbar sind. Ich denke da vor
allem an Programme, die in gewissem Sinne lernfähig sind und sich selbst
erweitern. Aber auch als Rapid-Prototyping-Sprache ist AutoLisp ganz
hervorragend geeignet.