On my reading spree, I stumbled upon something called Intentional Programming. I understood it somewhat, but I not fully. If anyone can explain it in better detail, please do. Is it being used in any real application?
On my reading spree, I stumbled upon something called Intentional Programming . I understood
Share
You got me started on this one…
Looks like C. Simonyi wanted to step to the next level of abstraction from High level languages. Reduce the dependency of customers on developers to make every change.. in code (cryptic for people not in development). So he invents this new product called IP, which has a WYSIWYG type GUI editor to create a domain specific model. (i.e. IP has a GUI to create the building blocks for your app.. LISP allowed you to create the meta/building blocks but not in a way that domain experts could easily do it.)
Like the models in UML, the promise is that you can auto-generate the corresponding source code at the ‘push of a button’. So the domain experts can tweak the model in the future and press the Bake button to deliver the next version of the app. It seems to utilise DSLs however with the added benefit that multiple user-created DSLs can talk with each other via a built-in IP mechanism… which means the finance model and sales model can interact and reuse blocks as needed. As with DSLs, you get the benefit of code that conveys developer intent rather than appeases implementation language constraints.
The idea being to give greater control to the BA and domain experts who actually know what’s needed…
Update: Real world use looks like ‘not yet’.. although Simonyi believes ‘absolutely in the long term‘.
Short Story: MS squished IP in favor of .Net framework, Simonyi left MS and formed his own company ‘Intentional Software‘.. with the contract that he could use the IP ideas but he would have to rewrite his working proto from the ground up.. (that should slow him down). It’s still Work-In-Progress I think.. and being written in C# (to boot)
Sources:
To think till yesterday.. I didn’t know a thing about this. Investigative reporter signing off. Going back to day job 🙂