My second day at Tech-Ed has been pretty intense.
After the announcement of the expected release date for Visual Studio/SQL Server 2005 and BizTalk 2006 by the week starting Nov 7 in Paul Flessener’s keynote, I went to a fairly interesting session about code generation.
I’m not too sure I agree with all the implementation details exposed by the speaker, but it was definitely worth listening. The scenario involved creating a sophisticated façade on top of a big application written years before in C++.
The legacy application implemented a rather poorly written interface which included late bound calls and string concatenations. Building this façade involved creating a DSL (Domain Specific Language…just in case you live in another planet and you haven’t heard about it yet 🙂 and using it as a starting point for code generation.
The point was to use this approach with today’s technologies without having to wait for the sophisticated designers provided by, say, Visual Studio .NET 2005. So, he pretty much used XML schemas and WSDL files to define the language and operations and then used code generation tools (CodeSmith, XSD.exe and others) to generate assemblies, documentation etc. I found interesting that he used WSDL even if web services weren’t involved (effectively, you only need to replace the bindings).
In general, this year I found that there is a disproportional push for code generation, templates and DSLs. It kind of weird as these concepts are definitely not new.
I will write about the other past sessions later on today as I must run now.