“Intentional Programming?” How About “Intentional Search?”
I really enjoyed Jason Pontin’s article in today’s New York Times concerning Charles Simonyi’s venture, Intentional Programming. I certainly knew of Mr. Simonyi’s exploits as a programmer, both at Xerox PARC and later at Microsoft, but knew little of his current focus. A focus which I happen to think is both tremendously brilliant and sorely needed - that of making programming easier, less costly and more intuitive.
********************
Charles Simonyi, the chief executive of Intentional Software,
a start-up in Bellevue, Wash., believes that there is another way. He
wants to overthrow conventional coding for something he calls
“intentional programming,” in which programmers would talk to machines
as little as possible. Instead, they would concentrate on capturing the
intentions of computer users.********************
The method begins
with the intentions of the people inside an organization who know what
a program should do. Mr. Simonyi calls these people “domain experts,”
and he expects them to work with programmers to list all the concepts
the software must possess.The concepts are then translated
into a higher-level representation of the software’s functions called
the domain code, using a tool called the domain workbench.********************
Thus, programmers and domain experts can fiddle with whatever
projections they prefer, editing and re-editing until both parties are
happy. Only then is the resulting domain code fed to another program
called a generator that manufactures the actual target code that a
computer can compile and run. If the software still doesn’t do what its
users want, the programmers can blithely discard the target code and
resume working on the domain workbench with the domain experts.********************
Intentional programming has three great advantages: The people who
design a program are the ones who understand the task that needs to be
automated; that design can be manipulated simply and directly, rather
than by rewriting arcane computer code; and human programmers do not
generate the final software code, thus reducing bugs and other errors.
Wow. Cool stuff. Is it just me or could this article have been written about vertical search?
- The system is set up to know what you are thinking - sounds like a vertically-focused search algorithm.
- Capturing “intention” via domain experts - sort of like using domain experts to train machine learning/AI-based intelligent search tools.
- Programmers and domain experts can “fiddle” - kind of like tinkering with term weightings, etc., with easy adjustments that can be made on the fly.
I can’t get over the similarities between the two problems. The goals are similar. The language is similar. The requirements are similar. Maybe those of you who are real techies (unlike myself) got this analogy right off the bat, but I was struck by the revelation. And presumably the problems are equally as complex and multi-dimensional. Mr. Simonyi has been at it for quite some time, as have we at my company. It is a sacred mission for him as it is for us. And we will both win. I’m sure of it.
3 years ago | view comments | Internet