Separating Source Code Storage and Presentation
Key to the benefits of IP is that source code is not stored in text files, but in a binary file that bears a resemblance to XML. As with XML, there is no need for a specific parser for each piece of code that wishes to operate on the information that forms the program, lowering the barrier to writing analysis or restructuring tools.
Tight integration of the editor with the binary format brings some of the nicer features of database normalization to source code. Redundancy is eliminated by giving each definition a unique identity, and storing the name of variables and operators in exactly one place. This makes it easier to intrinsically distinguish declarations from references, and the environment shows declarations in boldface type. Whitespace is also not stored as part of the source code, and each programmer working on a project can choose an indentation display of the source. More radical visualizations include showing statement lists as nested boxes, editing conditional expressions as logic gates, or re-rendering names in Chinese.
The project appears to standardize a kind of XML Schema for popular languages like C++ and Java, while letting users of the environment mix and match these with ideas from Eiffel and other languages. Often mentioned in the same context as language-oriented programming via domain-specific languages, and aspect-oriented programming, IP purports to provide some breakthroughs in generative programming. These techniques allow developers to extend the language environment to capture domain-specific constructs without investing in writing a full compiler and editor for any new languages.
Read more about this topic: Intentional Programming
Famous quotes containing the words separating, source, code, storage and/or presentation:
“There are many things children accept as grown-up things over when they have no control and for which they have no responsibilityfor instance, weddings, having babies, buying houses, and driving cars. Parents who are separating really need to help their children put divorce on that grown-up list, so that children do not see themselves as the cause of their parents decision to live apart.”
—Fred Rogers (20th century)
“Discourses on humility are a source of pride in the vain and of humility in the humble. So those on scepticism cause believers to affirm. Few men speak humbly of humility, chastely of chastity, few doubtingly of scepticism.”
—Blaise Pascal (16231662)
“Wise Draco comes, deep in the midnight roll
Of black artillery; he comes, though late;
In code corroborating Calvins creed
And cynic tyrannies of honest kings;
He comes, nor parlies; and the Town, redeemed,
Gives thanks devout; nor, being thankful, heeds
The grimy slur on the Republics faith implied,
Which holds that Man is naturally good,
Andmoreis Natures Roman, never to be
scourged.”
—Herman Melville (18191891)
“Many of our houses, both public and private, with their almost innumerable apartments, their huge halls and their cellars for the storage of wines and other munitions of peace, appear to me extravagantly large for their inhabitants. They are so vast and magnificent that the latter seem to be only vermin which infest them.”
—Henry David Thoreau (18171862)
“He uses his folly like a stalking-horse, and under the presentation of that he shoots his wit.”
—William Shakespeare (15641616)