More general-purpose T4 goodness


Oleg saw my post about Kiril’s general-purpose use of T4 and gently pointed me at the set of resources he has put up in the same area.

It’s really great to see folks exploiting the richness we’ve added by putting T4 into every copy of Visual Studio 2008.

Interestingly, Oleg points up the nVelocity project, a port of the Jakarta Velocity project to .Net as well as long-time player in this space on our platform, CodeSmith.

It’s good to have a range of options for this kind of stuff.

Comments (5)

  1. Cyril says:

    Mmm.

    Just thought you might be interested in what I stumbled upon yesterday. I was surfing around to inform myself even more about MDD, MDA, DSM, DSL, etc-related real world experiences involving code generation "in the large" and I found this amongst other things :

    http://www.st.ewi.tudelft.nl/~basgraaf/publications/ATEM2006.pdf

    At first, I found it interesting as a kind of an anti-use case of the DSM/DSL approach, that is, to put it in a "versus the good old UML/MOF side of the modeling world" fashion, to have solid rationale about why / when / how to do so — i.e, not to use DSM/DSL and to stick to the UML realm instead.

    Please note I don’t deny the fact those folks very likely know what they are talking about as far as UML/MOF/XMI etc are concerned, but I have the feeling we should be much more careful regarding their understanding of the DSM/DSL’s *actual* capabilities when they’re used properly enough.

    After reading at least two times the paper I ended up with the feeling that they confused issues of the very design and implementation of that DSM/DSL-based INVINCIBLE Software Factory with what really pertains to Domain-Specific Languages’ features and properties.

    My own analysis of their report about the state in which they found that INVINCIBLE Factory is the factory’s design was certainly too much tightly- coupled with the targeted runtime architecture (which, also, was sadly a C/S one, no multi-tier) and it would have probably been enough to reengineer that factory "a bit", without having to drop the entire DSM/DSL-based approach so fast.

    Instead, they suggested, and eventually decided to virtually blame the latter all, to drop it and to switch to an MDA/UML-based one which I think hasn’t brought a big benefit in terms of simplicty, or in other aspects. Just read about what they had to go through while migrating the legacy modeling tools to the new ones…

    Well, at least they got the job done, but looks like to me they used a bazooka to fight with Fortis’ MDD issues where they could have done it using only a small hand gun.

    That’s the kind of paper which has many qualities and rich information overall, but which also holds a number of highly arguable (if not false) statements, if you don’t look close enough.

    I can provide you elsewhere samples of statements I find suspect (or just plain wrong, imho) elsewhere if you ask. Don’t want to make this any longer here.

    Cheers.

  2. Gareth is obviously settled in the US now, because he’s starting to become a prolific blog poster again.

  3. Gareth is obviously settled in the US now, because he's starting to become a prolific blog poster

  4. Cyril says:

    So, Steve has kindly shared his thoughts with me about this. 🙂

    I now have some more significant input on these issues, should I have to discuss them with those in my company who think it isn’t even worth taking the trouble/time to evaluate the usefulness of the DSM/DSL approach vs. the MDA/UML-based standards and tools, albeit I performed something concrete and useful for them with my little AppBuilder, built thanks to your DSL Tools.

  5. Gareth has been posting a lot about T4 over the past few months. In case you missed it, here’s a roundup

Skip to main content