# AutoLISP

AutoLISP is een programmeertaal, een dialect van Lisp dat hoort bij het CAD-programma AutoCAD. Hiermee is het mogelijk om extra functionaliteit toe te voegen aan het programma. Het werd pas opgenomen in het pakket AutoCad LT vanaf versie 2024.

## Introductie

Nadat de menu-macro's waren toegevoegd aan Autocad, bleef de behoefte bestaan om de database toegankelijk te maken door middel van een programmeertaal. Deze taal moest in een geheugensegment van 64K passen van een 640K IBM PC. Dit was een grote opgave, aangezien het hele programma ook al geladen moest zijn. Daardoor viel 90% van de beschikbare programmeertalen af. Uiteindelijk werd besloten geen eigen taal te ontwikkelen, maar toch een bestaande taal te gebruiken. David Betz - een werknemer van Digital Equipment Corporation uit Massachusetts - had destijds een kleine LISP-interpreter genaamd XLISP in de 'public domain' geplaatst. XLISP was een dialect van Lisp, dat meer leek op het MACLISP-dialect dan Common Lisp. Er ontbraken echter veel belangrijke onderdelen, zoals 'floating point'-getallen, maar door de open architectuur kon deze functionaliteit eenvoudig toegevoegd worden. Rond die tijd was Richard Stallman ook bezig met de ontwikkeling van een programmeertaal voor de meest verbreide editor Emacs en hij koos eveneens voor Lisp. Mede daardoor groeide Lisp in de tachtiger jaren uit tot de meest populaire ontwikkelomgeving. De waardering van AutoLISP voor CAD werd later zelfs zo groot, dat andere CAD-pakketten als FelixCAD, IntelliCAD, BricsCAD, enz. nu ook AutoLISP ondersteunen in hun omgeving.

## Geschiedenis

AutoLISP werd geïntroduceerd in AutoCAD 2.18 in januari 1986. Al snel volgde een uitbreiding met commando's voor het bewerken van de (grafische) data. De eigenschappen van deze data wordt door AutoLISP bewerkt als lijsten van DXF-data waarbij gegevens van punten, stralen, hoeken, kleuren, lagen, lijnsoorten, enz. gekoppeld zijn aan een waarde. De taal werd steeds verder uitgebreid en verbeterd tot en met Release 12 (juni 1992).
Een paar jaar later werd Visual LISP (een opgewaardeerde versie van AutoLISP met een geïntegreerde ontwikkelomgeving IDE met een debugger en een compiler) op de markt gebracht. Oorspronkelijk werd het pakket als Vital-LISP ontwikkeld en verkocht door een externe ontwikkelaar (Basis Software). Vital-LISP had een subset van AutoLISP met o.a. VBA-achtige toegang tot AutoCAD objecten, reactors en ActiveX-ondersteuning.
Het programma werd omgedoopt tot Visual LISP bij de aankoop door Autodesk die het eerst op de markt bracht als uitbreiding op AutoCAD 14. In AutoCAD 2000 werd het oorspronkelijke AutoLISP vervangen door Visual LISP. Afgezien van kleine aanpassingen viel de ontwikkeling daarna lange tijd stil, de prioriteit van Autodesk lag bij de ondersteuning van andere talen. Desondanks bleef AutoLISP de belangrijkste programmeertaal voor AutoCAD.
Met de komst van AutoCAD2021 werd de verouderde ontwikkelomgeving (VLIDE) vervangen door een plug-in met debugger op basis van Visual Studio Code. De oude ontwikkelomgeving is echter tot op de dag van vandaag ook nog functioneel.
Vanaf maart 2023 is AutoLisp met DCL ook toegevoegd aan AutoCAD LT. Een uitzondering is echter gemaakt voor routines die afhankelijk zijn van ObjectARX, ActiveX/COM, of beheerd .NET. Er is ook geen ondersteuning voor .mnl-bestanden.

## Externe link

* Interview met John Walker (grondlegger van Autodesk)