A Successful Talk . . . What's next?
As Doug mentioned (btw, this was the first time I got to meet Mr. Reactor - hadn't been sure what to expect but it was a great experience - way more fun and gracious than I'd expected and just as smart as I'd assumed :->), it could really have used some practical examples to bring it down to earth, but as Sean mentioned in his presentation there was probably enough material for four different sessions which was one of the reasons that I couldn't fit in a demo!
I have given presos on the practical steps for generating code using CF Template (NYCFUG and Boston CFUG) and I find that they are a solid one hour talk. I am also working up a new preso based on CF Gen which shows someone how to generate an application by example using the new project which I'll be releasing this weekend. That will make a busy but manageable presentation. However, my cf.objective() and frameworks presos also included a whole bunch of theory which is really required to do code generation well (Domain Specific Languages, Abstract vs. Concrete Grammars, Software Product Lines and the like). I've also submitted a more complex topic for Agile 2007 on patterns to implement Application Generation in an Agile Manner and will be speaking at a Code Generation conference in Cambridge this May on integrating the requirements gathering and generation processes.
I also have some great materials I'm just starting to think through on enabling automated refactorings on DSLs and automating the translation between concrete syntaxes (turning XML docs into DB files into custom textual syntaxes into diagrams automatically allowing each developer to use whatever concrete syntax they prefer), but I doubt I'll be presenting that stuff anywhere expect maybe a language design conference!
The issue I have is that there is a lot of deep theory that really helps you to be a better developer and to "get" code generation and then there is the "lets generate a blog in 9 minutes stuff" and you really can't fit both into the same one hour preso. That said, while I got a lot of good feedback about the preso *I* find it really hard to hear and absorb an entire hour of theory without seeing something more practical and while I don't think anyone actually fell asleep during the presentation, I'm pretty sure a lot of them found it hard going!
Any ideas on how you'd like to see the information sliced and diced? I think there is actually a really cool one day hands on workshop which would allow people with OO but no code gen experience to be generating sophisticated apps by the end of the day, but I'm not really in the business of teaching courses and I'm not sure that there would be the demand to make it worthwhile for someone like TeraTech to stick that on the end of a conference.
For now, I'm thinking on just scaling back all of the theory and at least getting people generating quickly (maybe just some of the basics of DSLs) and then maybe doing a book or some podcasts for anyone who really wants to "get" the subject deeper and then just presenting the "rocket science" stuff at specialist conferences. Any thoughts? Opinions?!





I'd come to a workshop like that ;o) wanna come down to Australia?