On The Shortcomings of WF
An article in the April issue of MSDN magazine features an interview with Bjarne Stroustrup, the man that invented C++. There’s an interesting quote that quite eloquently and succintly sums up my distaste for Windows Workflow Foundation and BizTalk (at least the versions that I’ve worked with).
When asked about his feelings on IDEs and how they should (or should not) support languages and the role of the IDE in software development, Stroustrup responsed:
I’m not a heavy IDE user. I appreciate a responsive IDE editor with understanding of my language, but I also want to be able to work without an IDE. My desire for portability of code plays a role here. With C++, I want to be able to understand my system from just the source code in the source files. I actively dislike IDE mechanisms that involve trasformations or generation that cannot be represented as code fit for human consumption.
While WF does certainly generate code in the background, it’s not what I would consider “code fit for human consumption”. It’s messy and aesthetically unpleasing (so far as code goes). I always inevitably end up spending quite a bit of time cleaning up the mess left by the code generation engine; there’s an odd disconnect between the cleanly delineated visual design of the workflow and the mess of code that gets generated just for a dependency property.