Each time you load AutoLISP source code, the code is translated into instructions the computer understands (executable code).
The advantage of having source code translated each time it is loaded, is that it can be changed and immediately used. This is useful for quickly testing new code, and for debugging code.
Once you are sure your program is working correctly, translating AutoLISP source code each time it loads is time-consuming. Visual LISP provides a compiler that generates executable machine code files from your source files. These executable files are known as FAS files. Because the executable files contain only machine-readable code, the source code you spent weeks or months developing remains hidden even if you distribute your program to thousands of users. Even strings and symbol names are encrypted by the Visual LISP file compiler.
Visual LISP also provides features for packaging complex AutoLISP applications into Visual LISP executable (VLX) files. VLX files can include additional resources files, such as TXT and DCL files, and compiled AutoLISP code.
Using VLX files, you can further control your application's operating environment by exposing only those functions you choose to expose, and by maintaining a wall between your program's variables and the variables users can interact within AutoCAD.