Scott Hanselman

Hanselminutes Podcast 14

April 19, 2006 Comment on this post [8] Posted in ASP.NET | Podcast | XML | Tools
Sponsored By

HanselminutesMy fourteenth Podcast is up. This episode is about code generation and some popular .NET codegen tools.

We're listed in the iTunes Podcast Directory, so I encourage you to subscribe with a single click (two in Firefox) with the button below. For those of you on slower connections there are lo-fi and torrent-based versions as well.

Subscribe to my Podcast in iTunes

Our sponsors are CodeSmith, PeterBlum and the .NET Dev Journal.

CodeSmith-SmallNOTE: Spread the word on this coupon discount, folks: If you use Coupon Code HM100 you can get $100 off CodeSmith Professional. We use CodeSmith here at Corillian and I'm a huge fan. It's intuitive use of ASP.NET-like syntax and powerful advanced XML techniques add up to immediate value to the dev. We've used it to code gen domain objects from XML, write sprocs and generate Data Access Layers. I recommend you give it a hard look. We'll be doing a Code Gen show next week. Feel free to spread the coupon code around, it's HM100.

As I've said before this show comes to you with the audio expertise and stewardship of Carl Franklin. The name comes from Travis Illig, but the goal of the show is simple. Avoid wasting the listener's time. (and make the commute less boring)

  • Each show will include a number of links, and all those links will be posted along with the show on the site. There were a number of sites mentioned in this episode, some planned, some not.
  • The basic MP3 feed is here, and the iPod friendly one is here. There's a number of other ways you can get it (streaming, straight download, etc) that are all up on the site just below the fold. I use iTunes, myself, to listen to most podcasts, but I also use FeedDemon and it's built in support.
  • Note that for now, because of bandwidth constraints, the feeds always have just the current show. If you want to get an old show (and because many Podcasting Clients aren't smart enough to not download the file more than once) you can always find them at
  • I have, and will, also include the enclosures to this feed you're reading, so if you're already subscribed to ComputerZen and you're not interested in cluttering your life with another feed, you have the choice to get the 'cast as well.
  • If there's a topic you'd like to hear, perhaps one that is better spoken than presented on a blog, or a great tool you can't live without, contact me and I'll get it in the queue!

Enjoy. Who knows what'll happen in the next show?

Now playing: Newsboys - He Reigns

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Hosting By
Hosted in an Azure App Service
April 19, 2006 11:23
Scott; Thank you very much for this one. I wanted to suggest it to you because loved to hear about code generating tools from you.
Hanselminutes is the best Podcast that I'm listeing to in these days ;-)
Keep it up as well as your ComputerZen :-)
April 19, 2006 13:07
Hi Scott,

The link to "WMA Lo-fi" is broken.
Please correct it

Thanks :)
April 20, 2006 2:28
Hi Scott

Can you post some examples on how to generate user controls or simple pages using Codesmith.
Any templates which can do this would be neat as a starting point to really get my hands dirty with using CodeSmith.

April 20, 2006 12:30
Thanks Scott for mentioning LLBLGen Pro :)

I'd like to clarify something though: LLBLGen Pro uses a task-based hierarchical code generation engine behind the scenes similar to nant tasks. Each task can do whatever you want, for example run a code generator with a template on some meta data or do your commit in a sourcecontrol system, it's up to you. We have 2 code generator engines: one uses our own template language (TDL) and another which uses <% %> style language. The TDL one is more for our own templates, though you can mix these templates with the <% %> ones (include the <% %> templates into the TDL ones) to extend the templates.

TDL is not that flexible though as every statement does just one thing you hardly run into bugs when writing a template, which is often time consuming with template driven code generation. The <% %> templates use or c# and work as codesmith's templates.

The task based engine uses template IDs. This means that you have a single set of tasks, which use a templateID per task (if they use a code generator engine of course ;)) and you bind a template to that templateID with the selection of the templateset of choice. This means that your tasks stay the same, and what gets generated depends on which templates you bind to the templateid's. This is very flexible and powerful in the more complicated code generation projects.

So in short it has a more powerful engine than codesmith, but the focus is not on the code generation, which makes it that it is a bit hidden, from the code-generation's point-of-view.
April 20, 2006 18:39
Off-topic: The Newsboys are great, although I do prefer their earlier music over their worship albums for listening to while driving. Probably means I should listen to them more often, I tend to like albums more as I get more familiar with them.

On-topic: This show is especially timely for me, I've just started playing around with CodeSmith and .nettiers and it's pretty amazing. Not quite on the order of Monad's "You can pass objects around" jump, but still very cool.

Thanks for the excellent blog+podcasts!
April 21, 2006 5:07
About six months agos I had to evaluate a number of codegen frameworks for a .Net 2.0 project. Although not all the tools had their .Net 2.0 game set (heck, .Net 2.0 was still beta then,) the top 3 on my list ended up being LLBLGen, Deklarit, and IronSpeed Designer. I did not considering CodeSmith a plaftform because it's so great that we realized we would have a lot of use for it no matter what route we took. Our conclusion was to take a homebrew DAL design and extrapolate it into CodeSmith templates driven by XML or XSD files (control enthusiasts, like you said.) Had we not done that, our second option would probably be IronSpeed Designer.
April 21, 2006 12:08
Apropos of absolutely nothing whatsoever in this blog - Scott, you are one hot dude, dude!....very sexy-lookin'.

That's all I wanted to say.
April 23, 2006 21:52
The codesmith discount for how long time will be available? I will like to test before buy it :)

Thanks in advanced!


Comments are closed.

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.