Hanselminutes Podcast 14
My 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.
Our sponsors are CodeSmith, PeterBlum and the .NET Dev Journal.
NOTE: 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.
- Some other clients are Doppler (also suppose Windows CE), FireAnt, Nimiq, and PrimeTime Podcast.
- 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 http://www.hanselminutes.com.
- 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.
About Newsletter
Can you post some examples on how to generate user controls or simple asp.net 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.
Thanks
Gregor
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 vb.net 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.
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!
That's all I wanted to say.
Thanks in advanced!
Cesar
Comments are closed.
Hanselminutes is the best Podcast that I'm listeing to in these days ;-)
Keep it up as well as your ComputerZen :-)