Wrapping up the Compiler Dev Lab
Some final thoughts about the Compiler Dev Lab that we hosted this week:
1) It’s really interesting to see static languages get more dynamic, and dynamic languages get more static. An example of the former is C# adding extension methods and type inferencing. An example of the latter is IronPython adding support for manipulating CLR generic types. There’s an interesting point in the middle where things are heading towards … these ideas were inspired by Anders Hejlsberg’s talk on LINQ today at the Dev Lab.
2) Miguel de Icaza spent a bunch of time lobbying us for a XamlReader.LoadFromJson() API. His reasoning was that folks don’t like to type XAML, and would prefer a more wrist-friendly syntax for generating WPF/S element trees. It would be interesting to hear some feedback from folks about this. I personally prefer using a “script-driven” XAML approach where I would generate WPF/S element trees from pure Ruby code. It would be a natural fit for managed JS, of course
3) Mike Stall gave an excellent talk today about managed debugging. I had seen Mike give a talk in the CLR Foundations series that we have in Building 42, and really wanted him to give a talk this week. He did not disappoint; the pointer to the Managed Debugger sample was worth the price of admission alone (if you were wondering how to do IL-level debugging – this is the tool for you!)
I had to leave early to take care of the kids this afternoon after my wife got sick. I hope everyone had a good experience at the dev lab and hope to see great things come out of your work!


23. May, 2007 








If you end up neither supporting XamlReader.LoadFromXaml() nor E4X then Silverlight programming becomes a much larger PITA that it need be.
E4X would be a perfect fit for you guys and allows you to leave the more generic problem of XMLJSON mapping to someone else.
XamlReader.Load(string) is definitely supported today. In fact, certain scenarios with the alpha bits (like animations) are impossible without it. The bigger question is whether that is sufficient or whether we need to support JSON as well.
+1 for LoadFromJson()
+1++ for E4X support.
I think that Json should be kept to a file format. But that being said, I don’t see why there can’t be a ’serializer/parser/converter’ between Xaml and Json. Just like any other format. What would be EXCELLENT was to make sure that these things could be cached without the requirement that the user have Full Trust (kinda like ye old XmlSerializer! But interestingly enough NOT like the SoapFormatter, which does require Full Trust.) Json should just be another supported file format in the BCL, (and certainly in the DLR if not, as if my opinion counts), not just an addendum for particular features like .NET Ajax or the like.