In the data-processing Programming, the programming by intention (pi, in English intentional programming , IP ) is a paradigm of programming which allows the Source code software to precisely reflect information, or intention of what the developer wanted to carry out at the time of the design. By respecting the level of abstraction thought of the programmer, the review and the maintenance of the computer programs becomes easier.

The concept was introduced for a long time by Charles Simonyi then employed by Microsoft, whereas it directed a team within Research Microsoft. Its group developed a Environnement of development integrated named IP which shows this concept. For still obscure reasons, Microsoft stopped the development on IP with the beginning of the year 2000.

A presentation of the programming by intention is available in chapter 11 of the book

Development cycle

As under consideration by Simonyi, to develop a new application via the paradigm of programming per intention proceeds as follows. A programmer creates initially a toolbox specific to the field of the problem given (for example the life insurance ). The experts of the field, helped by the programmer, then describe the behavior envisaged of the application according to the manner “what you see is what you obtain” (in English: WYSIWYG). In conclusion, an automated system uses the description of program and the toolbox to generate the final program. Successive changes are made only on the level of the “such posting, such result” (WYSIWYG), using a system called l'" workshop of domaine" (in English: domain workbench).

Separation storage and presentation of the source code

The principal advantage of pi (and a probable obstacle with its acceptance by the communities of programmers) is that the Source code is not stored in textual files, but in a binary Fichier owner which resembles XML. . As with XML, there is not no need for a parser specific for each piece of code which should work the information which forms the program, thus lowering the barrier to the analysis of writing or the reorganization of the tools. The video shows how the system handles the languages which use a Préprocesseur based on the text by examining the specific uses of the macros in a body of code to invent a more hygienic abstraction.

The tight integration of the editor with the binary format brings some of the prettier functionalities of basic standardization of data to the Source code. The redundancy is eliminated while giving to each Définition with single and by storing the name from the Variable S and the Opérateur S in a precisely single site. This then means that it is also easier to distinguish intrinsically between and the references, the environment shows declarations of fatty typestyle. is not also stored as an element of the Source code and each programmer working on a project can choose a posting of Indentation source as they prefer. More radical visualizations include the posting of the lists of declarations as boxes with imbricated subroutines, by publishing like logical doors or Re-returned Chinese names.

The project seems to standardize a kind of Schéma of XML for popular speeches like C++ and Java, while leaving to the users the mixture of the environment and that with the ideas of Eiffel and other languages. Often mentioned in the same context as it via the dedicated languages and the directed Programming aspect, pi claims to provide some openings in. These techniques make it possible developers to extend the environment of language to capture constructions specific to the field without investing in the writing of a complete Compilateur and an editor for any new language.

Example

translation to make

Identity

translation to make

Level of the details

translation to make

Similar work

translation to make

See too

translation to make

References

External bonds

  • Intentional Software - the company of Charles Simonyi.
translation to make

Random links:Depredater | Timothy Hutton | Plane Commissioners' of 1811 | Brian McKechnie (cricket) | Paul Traynor

© 2007-2008 speedlook.com; article text available under the terms of GFDL, from fr.wikipedia.org