21.152 Intentional Software

From: Humanist Discussion Group (by way of Willard McCarty willard.mccarty_at_kcl.ac.uk>
Date: Wed, 4 Jul 2007 07:01:30 +0100

               Humanist Discussion Group, Vol. 21, No. 152.
       Centre for Computing in the Humanities, King's College London
                     Submit to: humanist_at_princeton.edu

         Date: Wed, 04 Jul 2007 06:45:12 +0100
         From: lachance_at_origin.chass.utoronto.ca (Francois Lachance)
         Subject: Excerpt on Intentional Software from Technology
Review (Feb 2007)



Because of the perennial question of tool design, you may be
interested in an article that appeared in the
February 2007 issue of "Technology Review" (published by MIT). Scott
Rosenberg's article is a profile of
Charles Simonyi and Intentional Software. The article is accompanied
a shorter piece by Wade Roush that
explains the principles of Intentional Programming. Some excerpts:

With the programmers' help, the domain experts list all the concepts
and definitions the software will need
to encompass. [...] each action the software must carry out is stored
in a uniform format, an "intentional
tree". Intentional trees have the advantage of being visually simple
but logically comprehensive, which
means they can be manipulated, revised, and "projected" or
reenvisioned at will. [...] Both the domain
experts and the programmers [...] edit and reedit the projections
until they look right. After that, the
domain code is fed into a "generator" [...] that churns out "target
code" in a language such as C++ or Java
that other computers are able to understand, compile and run. Once
the target code is generated it can't be
turned back into domain code. In that respect, the generator is like
an encryption program that
irreversibly transforms plaintext into ciphertext. However -- and
this is perhaps intentional programming's
biggest advantage -- it's easy to scrap old target code and generate
improved code from scratch. Simply
revise the domain code using the Domain Workbench's Wysiwyg editor
and run it through the generator again.
In most older approaches, even the slightest change in the original
assumptions might require programmers
to sift through millions of lines of code, updating every instance of
a concept, definition, or computation
by hand.


   -- Francois Lachance, Scholar-at-large

Everyone is a little bit crazy; everyone at some time has a learning
No one is ever a little bit positive.
Received on Wed Jul 04 2007 - 02:19:09 EDT

This archive was generated by hypermail 2.2.0 : Wed Jul 04 2007 - 02:19:09 EDT