Original artist unknown. Redrawn by Jim Robinson
How difficult is learning AutoLISP?
Naturally, the answer to this question depends greatly on the individual and his or her background, both in AutoCAD and in programming.
Many people consider it difficult to learn any programming language. However, in comparison with other programming languages, AutoLISP is one of the easiest to learn. Here's why: Its syntax (rules for writing program expressions) is relatively simple. The effect of various functions can be tried out right at the command prompt. And its error messages help you locate and fix mistakes in your program.
There are certain factors that make learning AutoLISP easier. First, if you are thoroughly familiar with AutoCAD, learning AutoLISP will be easier. AutoLISP is, in a sense, a method of controlling AutoCAD. The better you know AutoCAD, the better you know what needs to be done to control it.
Second, prior experience in one or more other programming languages can help. Certain concepts are the same no matter what language you are learning. If you already understand certain aspects of another language (such as variables, function calls, and iteration), then all you have to learn in AutoLISP is the particular way AutoLISP accomplishes these things.
Third, being a detail person helps. There are a lot of details in programming. It is best if you are comfortable with the nitty-gritty and don't mind the drudgery of pages of minutia.
Fourth, it helps if you are good at problem solving. If you have a knack for thinking through what needs to be accomplished, knowing what the starting point is, recognizing what tools are at hand, being aware of contingencies, and figuring out what steps are needed to reach the solution, you will be able to draw upon those skills for programming. This last aspect, figuring out the steps, is really the heart of programming. To be a good programmer, you must be able to grasp each individual step in solving the problem, and translate that step into the programming language.
Most of the people who want to learn AutoLISP are already deeply involved in the fields of drafting, design, and engineering. So they are already comfortable working with details and solving problems.
Also consider the fact that many people have learned to program in AutoLISP. Only a few of these people were programming experts when they first came to AutoLISP.