Software that generates application programs from descriptions of the problem rather than by traditional programming. It is at a higher level and easier to use than a high-level programming language such as C/C++ or Java. One statement or descriptive line may generate a huge routine or an entire program. Generators used for complex program development allow if-then-else programming to be expressed along with the simpler descriptive of the inputs and required outputs. Results Can Be Slow Running The problem with such high-level systems is that either the resulting code is too bloated and therefore too slow, or certain functions simply cannot be performed at all. As a result, commercial programs are rarely written in these languages. Application generators are used for business information systems, but often only for creating prototypes that are later reprogrammed in a language such as C/C++ or Java. Faster Computers Absorb the Overhead As computers run faster, they are capable of absorbing the excess code generated by higher-level products. Although not yet achieved, it has always been expected that some day extremely high-level development tools will be used by most developers, relegating traditional programming languages to a small number of highly-skilled individuals. See CASE, application development system and foundation classes.