Posts Tagged ‘metaprogramming’

This Space Intentionally Left Blank

December 23, 2008

If you have spent any time developing Windows applications in the last decade you’ve probably used a silly naming convention called Hungarian Notation where you would prepend type information before a variable name (e.g. “szName” for a zero-terminated string). We have Charles Simonyi to thank for this technique, which seems to have fallen by the wayside in light of newer dynamically-typed languages. Simonyi made over a billion dollars working with Gates at Microsoft and later made history by spending some of that money on launching himself into space and visiting the International Space Station as the world’s fifth space tourist.

Anyway, I was thinking about the future of software development and I remembered reading an interview with Dr. Simonyi in Forbes circa 2002 about a technology he was developing called “Intentional Programming“. Not much has been written about Intentional Programming but we do have a few resources on the subject.

Simonyi’s vision is in line with the theme of this blog: building good software should be easier. His approach seems to resonate with similarities to other concepts such as domain specific languages and metaprogramming. Intentional Programming calls for domain experts to capture their intentions of a program’s inner-workings in a tree structure which is versioned and databased and later translated into program code. This translation borrows from biology and the system responsible for this work is called an “enzyme” in Intentional Programming parlance.

Did Microsoft scrap the project? Critics of Simonyi have spoken out against Intentional Programming by asserting that his method merely shifts the complexity from application development to the development of these new translation modules — and perhaps rightly so. Also missing from materials on the Intentional approach is any mention of the debugging and testing processes.

Is Intentional Programming vaporware? Perhaps. Or perhaps Simonyi and his team are already quietly enjoying levels of productivity that the rest of us can only dream about.


Design a site like this with WordPress.com
Get started