Dialects of the LISP programming language are available in AutoCAD since its initial versions. AutoLISP in AutoCAD offers functions for interactive data entry, processing and access to the AutoCAD drawing database (DWG). VisualLISP (originally "Vital LISP") was added to AutoCAD in the versions R14 (as an add-on) and 2000 (integrated).
With VisualLISP you can do more than with the pure AutoLISP - you can edit, compile and debug your programs, use object (ActiveX) functions and reactors. VisualLISP contains the integrated editing and debugging environment (IDE).
An example of a typical program in AutoLISP:
(defun C:Circle2 ()
(setq pt (getpoint "\nCenter of the circle: "))
(setq r (getdist r "\nRadius: "))
(command "_CIRCLE" pt r)
(command "_CIRCLE" pt (/ r 2.0))
To create drawing objects you can either call AutoCAD commands - (command), or directly create entities - (entmake), or use ActiveX functions (vla-add*).
With VisualLISP, .lsp programs can be compiled to .vlx and .fas files (code protection, better performance).
Before calling COM (ActiveX) objects in VisualLISP you need to load the COM support with the function (vl-load-com).