ATTENTION: This blog has moved to a new location. Please update your bookmarks, browsing habits, and aggregators.


  Wednesday, April 23, 2003

More Musings on Visual Programming and Tools

This post (and this weblog) has a new home.


It seems that I'm not the only one thinking about visual programming, e.g., Hugo Pinto is, too.  Motivated by thinking about composable domain objects, he touches on some good points:

"Although I love UML, I don't think a human being could possibly build a complex system out of bare UML diagrams in there without boring himself to death - [...]"

and

"People specifying things should be able to do it using visual tokens that DO correspond to the business concepts they're dealing with."

There are also Anthony Eden (who works on an XPDL tool), Andrew Oliver, and Carlos Perez, all taking somewhat different positions.

The dilemna of visual programming (specifically executable diagrams) is just an instance of the classic delimna of the general versus the specific in problem-solving.  Elegant solutions typically come through restriction, and creating a solution is a trade-off between elegance and generality; restriction usually takes the form of a sequence of abstractions and accompanying assumptions.  (If I may put on my ex-academician's hat for a moment, the best example I can think of is the "word problem" for groups.  Novikov proved that it has no algorithmic solution, but nonetheless, with some reasonable assumptions, the problem does have an elegant algorithmic solution in a large number of useful cases.  A less abstract example would be the 12-tone musical scale.)

Visual programming should not attempt to (and cannot) match the terseness and expressiveness of a primitive (as in fundamental), textual language.  So, Hugo's got it right that composable, specific domain objects (that help to enforce architectural contracts through visual semantics) are a valid target for visual programming techniques; Andrew shouldn't be surprised if the next advance in textual programming languages is all the rage in 2013; and Carlos is right that no intermediate abstraction (visual or otherwise) applies to the full generality of problems that can be addressed.

9:50:03 PM