Intentional Programming (IP) is not a contrast to unintentional development of programs, but is to be seen as an entirely new way of code development. IP is a kind of meta-language, which describes the precise intention the programmer had in mind. That is, whats interesting is not the source code, but whats meant to do.
This intention is defined using a hierarchic XML-like construct, stored in a database. Several benefits can be derived, some of which are:
Another great advantage is the possibility of actual code generation using the meta-language as source. Porting an existing program from one language to another can be tedious work, not to mention error prone. By using the intentions of the programmer as point of origin, parsers of various kinds can be provided by manufacturers.
IP works upon different Domains such as banking, computer games, avionics, etc. Each Domain has a Domain Schema, specifying the intention terminology of that specific Domain. The intentions are provided by an expert within that Domain in close collaboration with a programmer. The programmer does not provide executable code, but structured code. This type of code has much less restrictive syntactic rules as opposed to e.g. Java or C++, as it needs not to be parsed. Instead its written directly into the AST through a Domain cognizant editor, such as Power Point. The lack of parsing induces flexibility as the programmer is not limited by a specific programming language's notation. The limit is the intention terminology, but as this can be expanded as pleased (as long as intentions are defined in the corresponding schema).
The AST is fed to a generator. It is this generator that provides the solution (the executable program) to the actual problem. This leads to another great advantage: The possibility of create a solution by joint forces from various Domains; nothing hinders a solution to be part Java, part Ada, part Latex.