TechReady 3 was this past week. I was there as a speaker, giving a break-out session about Dynamic Languages in ASP.NET with David Ebbo, and Architect I work with. Overall the event was great and our talk went well, but let me give a brief overview of my day.
After that we had a lot of time to kill even before the talk we were going to before ours, so we walked around the convention center. The company store was selling t-shirts and such, there was a "Vista Lounge" set up with Vista machines for the playing, and tons of other stuff. Oh, and there was more coffee!
So when we arrived and checked-in and whatnot, the first course of action was to prepare the demos! After that, the next priority was obviously food. And soo much food! I had too much coffee, let's just say that :)
Anyway, the talk David and I went to was on Blinq; a way to auto-generate CRUD functionality in ASP.NET applications. It's amazing how close it was to doing what we are doing, but in a completely different way. Blinq does code generation at design-time, so like a wizard, and provides the developer with a bunch of C# classes that give them programmable access to their data layer. But, what if you change your database? Yes, that means you need to regenerate that data layer ... and if you have manually changed your data layer ... you're screwed ... those changes are gone. Blinq is build on-top on LINQ, which stands for "Language INtegrated Query". Basically it's an extension to C# to build queries right into the language. It's very cool!
So our talk, "Developing ASP.NET Web Applications using Dynamic Languages", was about just that, but specifically demoing ASP.NET using IronPython, Microsoft's new Python implementation. This project is currently codenamed "Project Merlin", but expect that to change. The goal of web-side of Project Merlin is to bring choice to ASP.NET and let developers who prefer dynamic languages to develop on ASP.NET. While we don't want to change ASP.NET, we want to make it inviting to dynamic language developers. We demoed some sample applications in IronPython ASP.NET, and then showed a completely different demo on how we'd like to make the data story for dynamic languages much more, well, dynamic! Essentially we had the same thing as Blinq, but dynamically generated at runtime and with no on-disk code generation. Then you can customize each table by throwing a Python file at it, and given some convention of method naming, customize the output. When the recording/slides are avaliable ... and if I can post them here ... I will.
So overall we felt the talk went very well; people seemed to like what they heard/saw, and the questions after were very cool. The reviews were excellent, but the one point that stood out to me ... people wanted to hear to "Why should I use Dynamic Languages" speech. Though I wanted to avoid that discussion, is seems like it's necessary to have whenever you're talking to the non-dynlan crowd. Other than that, it was fun!