Sunday, February 04, 2007

Intentional Software

MIT's Technology Review has a very interesting article about Charles Simonyi's dream of "intentional software".

It is a noble struggle against the forces of chaos that consume all software projects, and an attempt to free "normal people" from having to humbly submit their requirements to computer programmers - those arrogant and aloof keepers of the law - to mangle and misinterpret.

I am always skeptical of claims that it is possible to create software without code. As Capote points out, there is a difference between writing and typing: you might not have to worry about indents, variable names, or bracing styles, but you will still need to be at least a bad chess player (i.e. be able to think sequentially, hold a few simple rules in your head, and plan your moves ahead).

However, you can't be a professional programmer without realising much of what you do is repetitive and ripe for automation. The problem is usually that the automation code would take much longer to write and maybe your not going to need it. We therefore need long term visionaries like Simonyi who are willing to take a punt on revolutionary ideas like these (and have the money to risk on them). Most applications are deathly-dull combinations of databases, forms, and charts, and they might fit the "intentional" pattern quite neatly; this would leave programmers free to do something more interesting.

No comments: