Programs that are written for Palm Os come in three major types: interpreted, p-code, and compiled. App Forge and NS Basic programs are interpreted. The author writes the programs in a language very similar to the basic you may have learned in grade school and than a second program reads the program and tells the computer what to do. The second program is an interpreter. App Forge Booster is App Forge's interpreter and NSBRuntime is NS Basic's interpreter. Basic-type programming is much faster to write, but runs much slower and requires a second program to be installed on your handheld. Most professional programs are written in C or another language which is then compiled to machine code and run directly on your computer. Compiled programs run quickly and take up the least memory, but require a much higher level of skill to write. There is an intermediate route between these two approaches. In this case a program is written in a language like CASL, Java, or VisualBasic and then compiled to p-code (the p stands for psuedo). These programs still require an interpreter often called a "virtual machine" but the second program tends to be much smaller and the programs run faster. Java is written this way so that you can use programs written on webpages and because the "virtual machine" in maintained on your computer you get to set strict limits on what it can do. This essentially eliminates the possibility of Java viruses. CASLrt is CASL's virtual machine.