Imperative languages tell a computer what to do, giving the computer a script or program of operations to follow. If you need an imperative language, Java may be the best answer. Java is far more powerful than any language in this book, and it is easy to overestimate the complexity of learning Java. A good rule of thumb is this: If your users will spend more than 300 hours developing expertise in a language, perhaps the language for them to learn is Java. On the other hand, for many applications a smaller and more easily learned language will fit nicely .
When you create a new imperative language, a good strategy is to have your parser create a composite command that represents your user 's program. This approach separates the parsing phase from the execution phase, and that mirrors the state of your users. Users tweak programs until they are recognizable, and then they focus on what happens when the program executes.
When your users need the flexibility of programming in their business or learning environment and they do not have time to learn Java, a new imperative language may be the perfect solution.