I saw several good talks yesterday but by far the most interesting was Jocham Seemann's talk about the Domain Specific Language tools they are working on for Visual Studio 2005. (Side note: he must not have grown up in the US, I did not see the battle scars he would certainly have acquired defending himself and his name) The idea behind the DSL tools is to provide a common set of Designer tools. Designers tend to have common elements such as shapes, decorations, and connectors. Consider an ER modeling tool vs. a UML class diagram tool: their basic notions are similar but the exact semantics differ. Using the DSL tools you define the semantics of your custom language. You detail what entities are in your domain space, what attributes they have, what types of connections they can have to what other entities, etc.
The DSL tools have a lot of built in support for code generation, using an ASP-like tag syntax, similar to CodeSmith as well. The tools allow you to define validation rules and such as well, and handles persistence of your models for you. Once your tool is done, you can click a button to build a visual studio add in so that other developers working within your problem space can use your Domain Specific Language.
My question is why stop there? Why limit the use of this tool to visual studio users? Suppose you work in a business with a fairly well defined domain, such as selling mutual funds for a specific company. If you could define your domain entities, attributes, connections, rules, etc and then put this tool into the hands of people like, oh, say, business analysts you may have a very powerful code-generation and/or documentation tool that is usable by the people who supposedly know the business best. I have built some custom designers in .NET 1.1 and its not exactly easy, a "Generic DSL" tool would be an interesting challenge and potentially a very useful product to a business as well. I'll have to dig up the DSL team's URL out of my notes and download the DSL plugin for Visual Studio 2005.
In other news: Microsoft released a June 2005 update for the Managed DirectX SDK. The first time I downloaded it a resource bundle seemed to be missing and it didn't work.