Automating "Copy and Modify" Development

Last week, the DSL Tools September CTP was made available for download.  You can get it here

The official description says:

"Using the Microsoft DSL tools you can create your own designer, integrated into Visual Studio, for a visual domain-specific language. The tools help you define the domain-specific language and generate the code of a graphical designer for you. The resulting designer uses the same underlying modeling technology that is used by the Class Designer and Distributed System Designers in Visual Studio 2005."

This may sound intimidating at first, but it is actually a cool way to automate something that developers do all of the time.  Most developers hate to start coding from a blank screen.  We take existing code that does something close to what we want, copy it to a new file, and then start modifying it.  After a while, we sometimes find that there is some code that we are copying over and over again.  If we do it enough, being developers, we tend to want to figure out a way to automate this "copy and modify" process.

At a high level, this is exactly what the DSL tools do.  They enable you to build templates.  They also enable you to build your own graphical design tools which can be used to drive code generation based on these templates.  The graphical design tools leverage the same technology used in Visual Studio 2005 itself (ex. Class Designer), so the end result is flexible and professional looking.

The DSL tools are just one piece of a larger initiative known as Software Factories.  Software Factories have the potential to revolutionize the way we build software.  For more information, please check out the Software Factories site on MSDN.

If you are a Federal developer and are interested in working with the DSL tools, I would love to here from you.  Please contact me here.

-David