<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" media="screen" href="/App_Themes/default/rss.xslt"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:evnet="http://www.mscommunities.com/rssmodule/"><channel><title>Entries tagged with compilers - Channel 9</title><atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/tags/compilers/feed/zune/default.aspx" /><image><url>http://mschnlnine.vo.llnwd.net/d1/Dev/App_Themes/C9/images/feedimage.png</url><title>Entries tagged with compilers - Channel 9</title><link>http://channel9.msdn.com/tags/Compilers/</link></image><description>compilers</description><link>http://channel9.msdn.com/tags/Compilers/</link><language>en-us</language><pubDate>Tue, 15 Sep 2009 19:23:54 GMT</pubDate><lastBuildDate>Tue, 15 Sep 2009 19:23:54 GMT</lastBuildDate><generator>EvNet (EvNet, Version=1.0.3608.3122, Culture=neutral, PublicKeyToken=null)</generator><item><title>Trishul Chilimbi - Green - Energy Efficient Software</title><description>&lt;img src="http://ecn.channel9.msdn.com/o9/ch9/4/3/8/1/9/4/greenframework_85_ch9.png" border="0" /&gt;&lt;a href="http://research.microsoft.com/en-us/um/people/trishulc/"&gt;Trishul Chilimbi&lt;/a&gt;, a researcher from &lt;a href="http://research.microsoft.com/rise"&gt;RiSE &lt;/a&gt;talks about &lt;strong&gt;Green&lt;/strong&gt;. Green enables programmers to approximate expensive functions and loops while providing statistical quality of service guarantees. By giving away a couple percents of QoS, some applications may decrease their energy consumption by as much as 20%. Watch this video to learn all the details about Green...&lt;br /&gt;
&lt;ul&gt;
    &lt;li&gt;Green &lt;a href="http://research.microsoft.com/apps/pubs/default.aspx?id=101217"&gt;Technical Report&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://research.microsoft.com/en-us/news/features/green-080509.aspx"&gt;Green story&lt;/a&gt; on Microsoft Research &lt;/li&gt;
&lt;/ul&gt;
&lt;i&gt;The &lt;/i&gt;&lt;a href="http://research.microsoft.com/rise"&gt;&lt;i&gt;Research in Software Engineering team&lt;/i&gt;&lt;/a&gt;&lt;i&gt; (RiSE) coordinates Microsoft's research in Software Engineering in Redmond, USA.&lt;/i&gt;&lt;img src="http://channel9.msdn.com/491834/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Peli/Green-Energy-Efficient-Software/</comments><link>http://channel9.msdn.com/posts/Peli/Green-Energy-Efficient-Software/</link><pubDate>Tue, 15 Sep 2009 20:17:00 GMT</pubDate><guid isPermaLink="false">http://ecn.channel9.msdn.com/o9/ch9/4/3/8/1/9/4/greenframework_2MB_ch9.wmv</guid><evnet:views>39437</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/491834/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Trishul Chilimbi, a researcher from RiSE talks about Green. Green enables programmers to approximate expensive functions and loops while providing statistical quality of service guarantees. By giving away a couple percents of QoS, some applications may decrease their energy consumption by as much as 20%. Watch this video to learn all the details about Green...</evnet:previewtext><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/4/3/8/1/9/4/greenframework_320_ch9.png" height="240" width="320" /><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/4/3/8/1/9/4/greenframework_85_ch9.png" height="64" width="85" /><media:group><media:content url="http://ecn.channel9.msdn.com/o9/ch9/4/3/8/1/9/4/greenframework_ch9.mp4" expression="full" duration="763" fileSize="78449764" type="video/mp4" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/4/3/8/1/9/4/greenframework_ch9.mp3" expression="full" duration="763" fileSize="6113017" type="audio/mp3" medium="audio" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/4/3/8/1/9/4/greenframework_ch9.mp4" expression="full" duration="763" fileSize="78449764" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/4/3/8/1/9/4/greenframework_ch9.wma" expression="full" duration="763" fileSize="6187203" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/4/3/8/1/9/4/greenframework_ch9.wmv" expression="full" duration="763" fileSize="166208261" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/4/3/8/1/9/4/greenframework_2MB_ch9.wmv" expression="full" duration="763" fileSize="237634007" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/4/3/8/1/9/4/greenframework_Zune_ch9.wmv" expression="full" duration="763" fileSize="99008189" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/4/3/8/1/9/4/greenframework_512_ch9.png" expression="full" duration="763" type="image/jpeg" medium="image" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/4/3/8/1/9/4/greenframework_2MB_ch9.wmv" expression="full" duration="763" fileSize="237634007" type="video/x-ms-asf" medium="video" /></media:group><enclosure url="http://ecn.channel9.msdn.com/o9/ch9/4/3/8/1/9/4/greenframework_2MB_ch9.wmv" length="237634007" type="video/x-ms-wmv" /><dc:creator>Peli de Halleux</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Peli/Green-Energy-Efficient-Software/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/491834/Trackback.aspx</trackback:ping><category>Compilers</category><category>Phoenix Framework</category><category>rise</category><category>Software Engineering Research</category></item><item><title>Peter Villadsen and Gustavo Plancarte: X++ to MSIL</title><description>&lt;img src="http://ecn.channel9.msdn.com/o9/ch9/5/5/7/8/8/4/InsideAxTranslator_85_ch9.png" border="0" /&gt;Dynamics Program Manager Peter Villadsen and Software Developer Gustavo Plancarte teach us about a new tool they've developed that translates X++ byte code into MSIL. We learn a lot of history along the way and gain insights into the process of taking X++ into the .NET age.&lt;br /&gt;
&lt;br /&gt;
&lt;p&gt;Microsoft Dynamics features a proprietary language called X++ (basically a superset of Java, with some strong data primitives added) and a complete stack (compiler, interpreter and debugger) that goes with it. The new feature Peter and team have developed is a tool to generate managed code from the X++ intermediate language produced by the X++ compiler. This will have profound impact on the performance of the business applications written in X++, and it very clearly points to where they'll be going in the next few releases of Dynamics Ax.&lt;br /&gt;
&lt;br /&gt;
Tune in.&lt;/p&gt;&lt;img src="http://channel9.msdn.com/488755/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Charles/Peter-Villadsen-and-Gustavo-Plancarte-Inside-Ax-Translator-X-to-MSIL/</comments><link>http://channel9.msdn.com/posts/Charles/Peter-Villadsen-and-Gustavo-Plancarte-Inside-Ax-Translator-X-to-MSIL/</link><pubDate>Tue, 01 Sep 2009 16:27:00 GMT</pubDate><guid isPermaLink="false">http://ecn.channel9.msdn.com/o9/ch9/5/5/7/8/8/4/InsideAxTranslator_2MB_ch9.wmv</guid><evnet:views>46826</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/488755/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Dynamics Program Manager Peter Villadsen and Software Developer Gustavo Plancarte teach us about a new tool they've developed that translates X++ byte code into MSIL. We learn a lot of history along the way and gain insights into the process of taking X++ into the .NET age.&lt;br /&gt;
&lt;br /&gt;
&lt;p&gt;Microsoft Dynamics features a proprietary language called X++ (basically a superset of Java, with some strong data primitives added) and a complete stack (compiler, interpreter and debugger) that goes with it. The new feature Peter and team have developed is a tool to generate managed code from the X++ intermediate language produced by the X++ compiler. This will have profound impact on the performance of the business applications written in X++, and it very clearly points to where they'll be going in the next few releases of Dynamics Ax.&lt;br /&gt;
&lt;br /&gt;
Tune in.&lt;/p&gt;</evnet:previewtext><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/5/5/7/8/8/4/InsideAxTranslator_320_ch9.png" height="240" width="320" /><media:thumbnail url="http://ecn.channel9.msdn.com/o9/ch9/5/5/7/8/8/4/InsideAxTranslator_85_ch9.png" height="64" width="85" /><media:group><media:content url="http://ecn.channel9.msdn.com/o9/ch9/5/5/7/8/8/4/InsideAxTranslator_ch9.mp4" expression="full" duration="1847" fileSize="123252659" type="video/mp4" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/5/5/7/8/8/4/InsideAxTranslator_ch9.mp3" expression="full" duration="1847" fileSize="14780479" type="audio/mp3" medium="audio" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/5/5/7/8/8/4/InsideAxTranslator_ch9.mp4" expression="full" duration="1847" fileSize="123252659" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/5/5/7/8/8/4/InsideAxTranslator_ch9.wma" expression="full" duration="1847" fileSize="14946873" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://ecn.channel9.msdn.com/o9/ch9/5/5/7/8/8/4/InsideAxTranslator_ch9.wmv" expression="full" duration="1847" fileSize="267695443" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/5/5/7/8/8/4/InsideAxTranslator_2MB_ch9.wmv" expression="full" duration="1847" fileSize="371674455" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/5/5/7/8/8/4/InsideAxTranslator_Zune_ch9.wmv" expression="full" duration="1847" fileSize="143903371" type="video/x-ms-wmv" medium="video" /><media:content url="http://ecn.channel9.msdn.com/o9/ch9/5/5/7/8/8/4/InsideAxTranslator_512_ch9.png" expression="full" duration="1847" type="image/jpeg" medium="image" /></media:group><enclosure url="http://ecn.channel9.msdn.com/o9/ch9/5/5/7/8/8/4/InsideAxTranslator_2MB_ch9.wmv" length="371674455" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>7</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Charles/Peter-Villadsen-and-Gustavo-Plancarte-Inside-Ax-Translator-X-to-MSIL/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/488755/Trackback.aspx</trackback:ping><category>Architecture</category><category>Compilers</category><category>Dynamics AX</category><category>Programming Languages</category><category>X++</category></item><item><title>LINQ Language Deep Dive with Visual Studio 2008</title><description>&lt;img src="http://channel9.msdn.com/Link/bdf89d10-4dff-4926-b6c2-085283ee6ea6/" border="0" /&gt;Ever wonder what &lt;em&gt;really &lt;/em&gt;happens when you write a simple LINQ query? A lot of new language features went into the compilers in Visual Studio 2008 to make LINQ work. In this interview I sit down with Jonathan Aneja, a Program Manager on the Visual Basic Compiler team, who dives deep into these features like Type Inference, Anonymous Types, Lambda Expressions, Expressions Trees, and more. He explains what's actually happening behind the scenes and all the work the compiler is doing for you when you write a LINQ query. My head almost explodes at the end but I learned a lot of important concepts. ;-)&lt;br /&gt;
&lt;br /&gt;
Check out &lt;a href="http://blogs.msdn.com/vbteam/archive/tags/Jonathan+Aneja/default.aspx" target="_blank"&gt;Jonathan on the VB Team Blog&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Enjoy,&lt;br /&gt;
-&lt;a href="http://blogs.msdn.com/bethmassi" target="_blank"&gt;Beth Massi&lt;/a&gt;, Visual Studio Community&lt;img src="http://channel9.msdn.com/480192/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/funkyonex/LINQ-Language-Deep-Dive-with-Visual-Studio-2008/</comments><link>http://channel9.msdn.com/posts/funkyonex/LINQ-Language-Deep-Dive-with-Visual-Studio-2008/</link><pubDate>Wed, 22 Jul 2009 05:13:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/2/9/1/0/8/4/JonAnejaLINQDeepDive_2MB_ch9.wmv</guid><evnet:views>55028</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/480192/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Ever wonder what &lt;em&gt;really&lt;/em&gt; happens when you write a simple LINQ query? A lot of new language features went into the compilers in Visual Studio 2008 to make LINQ work. In this interview I sit down with Jonathan Aneja, a Program Manager on the Visual Basic Compiler team, who dives deep into these features like Type Inference, Anonymous Types, Lambda Expressions, Expressions Trees, and more. He explains what's actually happening behind the scenes and all the work the compiler is doing for you when you write a LINQ query. My head almost explodes at the end but I learned a lot of important concepts...</evnet:previewtext><media:thumbnail url="http://channel9.msdn.com/Link/e046830e-a49e-498b-9ecf-7f88d1578d27/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/bdf89d10-4dff-4926-b6c2-085283ee6ea6/" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/9/1/0/8/4/JonAnejaLINQDeepDive_ch9.mp4" expression="full" duration="3422" fileSize="103449913" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/9/1/0/8/4/JonAnejaLINQDeepDive_ch9.mp3" expression="full" duration="3422" fileSize="27378347" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/9/1/0/8/4/JonAnejaLINQDeepDive_ch9.mp4" expression="full" duration="3422" fileSize="103449913" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/9/1/0/8/4/JonAnejaLINQDeepDive_ch9.wma" expression="full" duration="3422" fileSize="27683827" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/9/1/0/8/4/JonAnejaLINQDeepDive_2MB_ch9.wmv" expression="full" duration="3422" fileSize="80739657" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/9/1/0/8/4/JonAnejaLINQDeepDive_2MB_ch9.wmv" expression="full" duration="3422" fileSize="80739657" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/9/1/0/8/4/JonAnejaLINQDeepDive_Zune_ch9.wmv" expression="full" duration="3422" fileSize="96485415" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/2/9/1/0/8/4/JonAnejaLINQDeepDive_2MB_ch9.wmv" length="80739657" type="video/x-ms-wmv" /><dc:creator>Beth Massi</dc:creator><slash:comments>10</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/funkyonex/LINQ-Language-Deep-Dive-with-Visual-Studio-2008/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/480192/Trackback.aspx</trackback:ping><category>Compilers</category><category>LINQ</category><category>VB Team</category><category>VB.NET</category><category>Visual Studio</category><category>VS 2008</category></item><item><title>Louis Lafreniere: Next Generation Buffer Overrun Protection with /GS++</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/0/5/1/9/6/4/LouisLafreniereGssNext_small_ch9.png" border="0" /&gt;From &lt;a href="http://blogs.msdn.com/vcblog/archive/2009/03/19/gs.aspx" target="_blank"&gt;the C++ Team Blog&lt;/a&gt;: &lt;em&gt;A lot of code written in C and C++ has vulnerabilities that leave their users open to buffer overrun attacks. There are two major reasons for this. One reason is that the languages provide unfettered access to the vulnerable memory; the other reason is that developers make mistakes. The simple fact is that even following the best practices and performing quality checks, by the end of the day, no developers can get 100 percent of their code right all the time. Thus, additional built-in layers of defense to help track down vulnerable areas of code are in order. The Visual C++ compiler’s GS switch, which is on by default, is one of the built-in defenses designed to mitigate the buffer overrun attacks.&lt;/em&gt; &lt;br /&gt;
&lt;br /&gt;
With VC 10, the next iteration of VC that ships with Visual Studio 2010, Louis Lafreniere and team have delivered the next iteration of /GS, /GS++. /GS proved to be invaluable for C++ developers wanting compile time checking for buffer overrun vulnerabilities in their code. specifically targetting string buffers. Well, turns out that certain structs proved to be a suitable exploit and /GS did not check data structures like structs. Louis et al, with /GS++, now check for certain typed of struct vulnerability (stack allocated). &lt;br /&gt;
&lt;br /&gt;
Here, Principal Developer Louis Lafreniere takes us through the history and future of /GS, in a deep way, of course. Most of the time is spent at the whiteboard mapping out exactly how /GS works and what to expect from /GS++. &lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;img src="http://channel9.msdn.com/469150/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/Louis-Lafreniere-Next-Generation-Buffer-Overrun-Protection-gs/</comments><link>http://channel9.msdn.com/shows/Going+Deep/Louis-Lafreniere-Next-Generation-Buffer-Overrun-Protection-gs/</link><pubDate>Tue, 02 Jun 2009 16:34:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/0/5/1/9/6/4/LouisLafreniereGssNext_2MB_ch9.wmv</guid><evnet:views>40627</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/469150/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>From &lt;a href="http://blogs.msdn.com/vcblog/archive/2009/03/19/gs.aspx" target="_blank"&gt;the C++ Team Blog&lt;/a&gt;: &lt;em&gt;A lot of code written in C and C++ has vulnerabilities that leave their users open to buffer overrun attacks. There are two major reasons for this. One reason is that the languages provide unfettered access to the vulnerable memory; the other reason is that developers make mistakes. The simple fact is that even following the best practices and performing quality checks, by the end of the day, no developers can get 100 percent of their code right all the time. Thus, additional built-in layers of defense to help track down vulnerable areas of code are in order. The Visual C++ compiler’s GS switch, which is on by default, is one of the built-in defenses designed to mitigate the buffer overrun attacks.&lt;/em&gt; &lt;br /&gt;
&lt;br /&gt;
With VC 10, the next iteration of VC that ships with Visual Studio 2010, Louis Lafreniere and team have delivered the next iteration of /GS, /GS++. /GS proved to be invaluable for C++ developers wanting compile time checking for buffer overrun vulnerabilities in their code. specifically targetting string buffers. Well, turns out that certain structs proved to be a suitable exploit and /GS did not check data structures like structs. Louis et al, with /GS++, now check for certain typed of struct vulnerability (stack allocated). &lt;br /&gt;
&lt;br /&gt;
Here, Principal Developer Louis Lafreniere takes us through the history and future of /GS, in a deep way, of course. Most of the time is spent at the whiteboard mapping out exactly how /GS works and what to expect from /GS++. &lt;br /&gt;
&lt;br /&gt;
Enjoy!</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/5/1/9/6/4/LouisLafreniereGssNext_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/5/1/9/6/4/LouisLafreniereGssNext_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/5/1/9/6/4/LouisLafreniereGssNext_ch9.mp4" expression="full" duration="1919" fileSize="189373089" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/5/1/9/6/4/LouisLafreniereGssNext_ch9.mp3" expression="full" duration="1919" fileSize="15360815" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/5/1/9/6/4/LouisLafreniereGssNext_ch9.mp4" expression="full" duration="1919" fileSize="189373089" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/5/1/9/6/4/LouisLafreniereGssNext_ch9.wma" expression="full" duration="1919" fileSize="31066349" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/5/1/9/6/4/LouisLafreniereGssNext_ch9.wmv" expression="full" duration="1919" fileSize="116304957" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/5/1/9/6/4/LouisLafreniereGssNext_2MB_ch9.wmv" expression="full" duration="1919" fileSize="601017459" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/5/1/9/6/4/LouisLafreniereGssNext_Zune_ch9.wmv" expression="full" duration="1919" fileSize="272256937" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/5/1/9/6/4/LouisLafreniereGssNext_2MB_ch9.wmv" length="601017459" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>8</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/Louis-Lafreniere-Next-Generation-Buffer-Overrun-Protection-gs/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/469150/Trackback.aspx</trackback:ping><category>C++</category><category>Compilers</category><category>Louis Lafreniere</category><category>Programming</category><category>Security</category></item><item><title>Luca Bolognese:  C# and VB.NET Co-Evolution - The Twain Shall Meet</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/1/8/6/4/LucaCSharpVBNETCoEvolution_small_ch9.png" border="0" /&gt;For most of their lifetimes, C# and VB.NET have evolved at their own pace and in their own ways (C# added iterators, VB.NET didn't. VB.NET added XML Literals, C# didn't. etc, etc...). Today, Luca Bolognese and team have embarked on a new approach to how .NET's premiere languages will evolve going forward: Co-Evolution. Essentially, new language/compiler features will be developed for each language concurrenly. No longer will C# get new language construct X while VB.NET adds Y. They will both get X (and they will both get Y). Anders Hejlsberg, the father of C#, now oversees both languages and will make sure that language innovations are developed for C# and VB.NET &lt;em&gt;at the same time&lt;/em&gt;.&lt;br /&gt;
&lt;br /&gt;
I visited Luca recently to get a sense of the rationale behind this new co-evolutionary approach to two very different languages. Why is co-evolution important? Why not just have the languages, which target different demographics (do they?), evolve in ways that match the needs their users? What's the story here? What's next?&lt;img src="http://channel9.msdn.com/468120/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Charles/Luca-Bolognese-C-and-VBNET-Co-Evolution-The-Twain-Shall-Meet/</comments><link>http://channel9.msdn.com/posts/Charles/Luca-Bolognese-C-and-VBNET-Co-Evolution-The-Twain-Shall-Meet/</link><pubDate>Wed, 13 May 2009 15:45:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/1/8/6/4/LucaCSharpVBNETCoEvolution_2MB_ch9.wmv</guid><evnet:views>88211</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/468120/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>For most of their lifetimes, C# and VB.NET have evolved at their own pace and in their own ways (C# added iterators, VB.NET didn't. VB.NET added XML Literals, C# didn't. etc, etc...). Today, Luca Bolognese and team have embarked on a new approach to how .NET's premiere languages will evolve going forward: Co-Evolution. Essentially, new language/compiler features will be developed for each language concurrenly. No longer will C# get new language construct X while VB.NET adds Y. They will both get X (and they will both get Y). Anders Hejlsberg, the father of C#, now oversees both languages and will make sure that language innovations are developed for C# and VB.NET &lt;em&gt;at the same time&lt;/em&gt;.&lt;br /&gt;
&lt;br /&gt;
I visited Luca recently to get a sense of the rationale behind this new co-evolutionary approach to two very different languages. Why is co-evolution important? Why not just have the languages, which target different demographics (do they?), evolve in ways that match the needs their users? What's the story here? What's next?</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/1/8/6/4/LucaCSharpVBNETCoEvolution_large_ch9.png" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/1/8/6/4/LucaCSharpVBNETCoEvolution_small_ch9.png" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/1/8/6/4/LucaCSharpVBNETCoEvolution_ch9.mp4" expression="full" duration="2000" fileSize="197417958" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/1/8/6/4/LucaCSharpVBNETCoEvolution_ch9.mp3" expression="full" duration="2000" fileSize="16008914" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/1/8/6/4/LucaCSharpVBNETCoEvolution_ch9.mp4" expression="full" duration="2000" fileSize="197417958" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/1/8/6/4/LucaCSharpVBNETCoEvolution_ch9.wma" expression="full" duration="2000" fileSize="32379097" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/1/8/6/4/LucaCSharpVBNETCoEvolution_ch9.wmv" expression="full" duration="2000" fileSize="121233443" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/1/8/6/4/LucaCSharpVBNETCoEvolution_2MB_ch9.wmv" expression="full" duration="2000" fileSize="626289945" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/1/8/6/4/LucaCSharpVBNETCoEvolution_Zune_ch9.wmv" expression="full" duration="2000" fileSize="283569423" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/1/8/6/4/LucaCSharpVBNETCoEvolution_2MB_ch9.wmv" length="626289945" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>39</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Charles/Luca-Bolognese-C-and-VBNET-Co-Evolution-The-Twain-Shall-Meet/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/468120/Trackback.aspx</trackback:ping><category>.NET</category><category>Compilers</category><category>CSharp</category><category>Luca Bolognese</category><category>Programming Languages</category><category>VB.NET</category><category>Visual Studio</category></item><item><title>Michal Moskal - VCC, The Verifying C Compiler</title><description>&lt;img src="http://mschnlnine.vo.llnwd.net/d1/ch9/8/6/4/5/5/4/koskalverifiedc_small_ch9.jpg" border="0" /&gt;Michal Moskal gives us a short introduction at the &lt;a href="http://research.microsoft.com/vcc/"&gt;Verifying C Compiler&lt;/a&gt; (VCC) project. VCC is a tool that proves correctness of annotated concurrent C programs or finds problems in them. VCC extends C with design by contract features, like pre- and postcondition as well as type invariants. The current primary goal of the VCC project is to to verify &lt;a href="http://www.microsoft.com/servers/hyper-v-server/default.mspx"&gt;Microsoft Hyper-V&lt;/a&gt;. Hyper-V is a hypervisor -- a thin layer of software that sits just above the hardware and beneath one or more operating systems. The Hypervisor verification project is a cooperation between &lt;a href="http://www.microsoft.com/emic/default.mspx"&gt;European Microsoft Innovation Center&lt;/a&gt; in Aachen, Germany the &lt;a href="http://research.microsoft.com/rise"&gt;RiSE&lt;/a&gt; group at &lt;a href="http://research.microsoft.com/"&gt;Microsoft Research&lt;/a&gt; in Redmond and the &lt;a href="http://www.uni-saarland.de/en/"&gt;Saarland University&lt;/a&gt; in Saarbrücken, Germany.&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://research.microsoft.com/en-us/projects/vcc/vcc-msrc-2008-full.pdf"&gt;VCC slide deck&lt;/a&gt;, get the high-level picture and more details, &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://research.microsoft.com/vcc"&gt;VCC home page&lt;/a&gt;, all you want to know. &lt;/li&gt;
    &lt;li&gt;Unfortunately, there is currently no download available of VCC.  &lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;p&gt;&lt;em&gt;The &lt;/em&gt;&lt;a href="http://research.microsoft.com/rise"&gt;&lt;em&gt;Research in Software Engineering team&lt;/em&gt;&lt;/a&gt;&lt;em&gt; (RiSE) coordinates Microsoft's research in Software Engineering in Redmond, USA.&lt;/em&gt; &lt;/p&gt;&lt;img src="http://channel9.msdn.com/455468/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Peli/Michal-Moskal-and-The-Verified-C-Compiler/</comments><link>http://channel9.msdn.com/posts/Peli/Michal-Moskal-and-The-Verified-C-Compiler/</link><pubDate>Fri, 30 Jan 2009 10:25:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/8/6/4/5/5/4/koskalverifiedc_2MB_ch9.wmv</guid><evnet:views>49902</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/455468/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Michal Moskal gives us a short introduction at the Verifying C Compiler (VCC) project. VCC is a tool that proves correctness of annotated concurrent C programs or finds problems in them. VCC extends C with design by contract features, like pre- and postcondition as well as type invariants.</evnet:previewtext><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/6/4/5/5/4/koskalverifiedc_large_ch9.jpg" height="240" width="320" /><media:thumbnail url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/6/4/5/5/4/koskalverifiedc_small_ch9.jpg" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/6/4/5/5/4/koskalverifiedc_ch9.mp4" expression="full" duration="1324" fileSize="65882807" type="video/mp4" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/6/4/5/5/4/koskalverifiedc_ch9.mp3" expression="full" duration="1324" fileSize="10592885" type="audio/mp3" medium="audio" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/6/4/5/5/4/koskalverifiedc_ch9.mp4" expression="full" duration="1324" fileSize="65882807" type="video/mp4" medium="video" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/6/4/5/5/4/koskalverifiedc_ch9.wma" expression="full" duration="1324" fileSize="21423507" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/6/4/5/5/4/koskalverifiedc_ch9.wmv" expression="full" duration="1324" fileSize="68237379" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/6/4/5/5/4/koskalverifiedc_2MB_ch9.wmv" expression="full" duration="1324" fileSize="76211889" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/6/4/5/5/4/koskalverifiedc_Zune_ch9.wmv" expression="full" duration="1324" fileSize="61581359" type="video/x-ms-wmv" medium="video" /><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/6/4/5/5/4/koskalverifiedc_2MB_ch9.wmv" expression="full" duration="1324" fileSize="76211889" type="video/x-ms-asf" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/8/6/4/5/5/4/koskalverifiedc_2MB_ch9.wmv" length="76211889" type="video/x-ms-wmv" /><dc:creator>Peli de Halleux</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Peli/Michal-Moskal-and-The-Verified-C-Compiler/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/455468/Trackback.aspx</trackback:ping><category>C</category><category>Compilers</category><category>HyperV</category><category>research</category><category>rise</category><category>Software Engineering Research</category><category>Testing</category><category>vcc</category><category>verification</category></item><item><title>Russell Hadley: The Route to C++ Code Optimization</title><description>It's nice to write clean code (code that looks good, is organized, is easy for others to understand by reading it, etc). As developers we get to use great tools to implement algorithms in our favorite languages. The act of composing a program is much like that of writing a story or, in some cases, a poem :) But the underlying hardware isn't much interested in intelligent class hierachies and easy-to-understand lines of programming language syntax. Processors do not speak C++ or Java or C# or VB, etc. &lt;BR&gt;&lt;BR&gt;The focus of this interview is mapping the (long and complicated)path to executable machine code that the machine natively understands and acts&amp;nbsp;upon, bringing&amp;nbsp;your code to life. How does this work, exactly?&lt;BR&gt;&lt;BR&gt;Russell Hadley is a senior developer on the C++ team here at Microsoft and he spends his days (and nights, ocassionally) writing code that takes the front-end compilation linear (flattened) blob and turns it into highly optimized machine code patterns&amp;nbsp;that the processor can execute in a highly efficient manner. &lt;BR&gt;&lt;BR&gt;This is a deep interview with lots of whiteboarding, but it is shallow enough so you won't drown if you can't swim very well. Enjoy. This is another great conversation with one of the C++ experts who live in Building 41.&lt;BR&gt;&lt;BR&gt;&lt;a href="http://mschnlnine.vo.llnwd.net/d1/ch9/0/RussellHadleyCompilerOptimization_ch9.wmv"&gt;LOW RES FILE&lt;/a&gt;&lt;BR&gt;&lt;a href="http://mschnlnine.vo.llnwd.net/d1/ch9/0/RussellHadleyCompilerOptimization_ch9.mp4"&gt;MP4 FILE&lt;/a&gt;&lt;img src="http://channel9.msdn.com/404534/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/Russell-Hadley-The-Route-to-C-Code-Optimization/</comments><link>http://channel9.msdn.com/shows/Going+Deep/Russell-Hadley-The-Route-to-C-Code-Optimization/</link><pubDate>Tue, 20 May 2008 18:43:14 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/0/RussellHadleyCompilerOptimization_2MB_ch9.wmv</guid><evnet:views>24145</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/404534/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>It's nice to write clean code (code that looks good, is organized, is easy for others to understand by reading it, etc). As developers we get to use great tools to implement algorithms in our favorite languages. The act of composing a program is much like that of writing a story or, in some cases, a poem &lt;img src='/emoticons/C9/emotion-1.gif' alt='Smiley' /&gt; But the underlying hardware isn't much interested in intelligent class hierachies and easy-to-understand lines of programming language syntax. Processors do not speak C++ or Java or C# or VB, etc. &lt;BR&gt;&lt;BR&gt;</evnet:previewtext><media:thumbnail url="http://channel9.msdn.com/Link/ca0c77d1-08fc-4901-9379-51c9b2476de2/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/083e6ff6-a1e8-4dc6-83d5-9a2318647808/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/3deb4234-d13d-4bcf-9d6b-be6f28c6d219/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/45550af2-f177-4519-9e2b-62cbc114b742/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/242992e7-7e59-4e88-aa16-3ba499abd967/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/4b761912-21a9-4174-a207-099f2711cdb1/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/61d9567c-8d14-4668-9dff-1497cc1955e6/" height="64" width="85" /><media:thumbnail url="http://channel9.msdn.com/Link/5d071263-ffae-49f6-a8c5-5ab11c8f03ff/" height="64" width="85" /><media:thumbnail url="http://channel9.msdn.com/Link/550e8cb6-f872-4bbd-8c0a-5db256395787/" height="64" width="85" /><media:thumbnail url="http://channel9.msdn.com/Link/6166fa89-a6f6-4dbc-b86d-69b633d5b620/" height="64" width="85" /><media:thumbnail url="http://channel9.msdn.com/Link/10686681-dbe1-461b-96dc-7da7ec4f9a5b/" height="64" width="85" /><media:thumbnail url="http://channel9.msdn.com/Link/162375d6-06c7-44f0-93ed-a7b1ab52550f/" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/RussellHadleyCompilerOptimization_ch9.mp3" expression="full" duration="3074" type="audio/mp3" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/RussellHadleyCompilerOptimization_ch9.wma" expression="full" duration="3074" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/RussellHadleyCompilerOptimization_2MB_ch9.wmv" expression="full" duration="3074" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/RussellHadleyCompilerOptimization_2MB_ch9.wmv" length="1" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>11</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/Russell-Hadley-The-Route-to-C-Code-Optimization/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/404534/Trackback.aspx</trackback:ping><category>C++</category><category>Compilers</category><category>Computing</category><category>Phoenix Framework</category></item><item><title>Andy Ayers: Understanding the Phoenix Compiler Framework</title><description>&lt;P&gt;The compiler gurus over in &lt;a href="http://channel9.msdn.com/Showforum.aspx?forumid=14&amp;amp;tagid=17&gt;C++ World&lt;/a&gt; (we spend a lot of time in&amp;nbsp;building 41)&amp;nbsp;have just released the latest &lt;a href="http://connect.microsoft.com/phoenix"&gt;CTP of the Phoenix Compiler Framework&lt;/a&gt;. It's been a while since we've learned about Phoenix here on Channel 9 so we thought it necessary to find out what's going on with the soon-to-be de facto compiler technology for all of Microsoft's products. &lt;BR&gt;&lt;BR&gt;Andy Ayers is an Architect on the Phoenix team. He sits down with us to dig into the details of Phoenix and address it's current state, history&amp;nbsp;and future (no whiteboarding here, but this is still quite deep. There is a cool demo at the end of the interview.) . It's very interesting to note that the Phoenix team has tested the scalability and power of their pluggable (extensible) compiler framework on the likes of Windows. Turns out Phoenix handles such a large task (compiling Windows) very well. This new compiler technology has been designed with many-core in mind. This means Phoenix is our most parallelized compiler which adds up to shorter compilation time. As usual, the C++ team is ahead of the curve when it comes to preparing for the concurrent future.&lt;BR&gt;&lt;BR&gt;Tune in and learn all about the future of Microsoft's compiler technology from one of the minds behind it all. The future is very bright indeed! &lt;BR&gt;&lt;BR&gt;Enjoy!&lt;BR&gt;&lt;BR&gt;&lt;a href="http://mschnlnine.vo.llnwd.net/d1/ch9/0/PhoenixCompilerFramework_ch9.wmv"&gt;Low res version here&lt;/a&gt;.&lt;/P&gt;&lt;img src="http://channel9.msdn.com/249700/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/Andy-Ayers-Understanding-the-Phoenix-Compiler-Framework/</comments><link>http://channel9.msdn.com/shows/Going+Deep/Andy-Ayers-Understanding-the-Phoenix-Compiler-Framework/</link><pubDate>Wed, 09 Apr 2008 19:19:36 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/0/PhoenixCompilerFramework_2MB_ch9.wmv</guid><evnet:views>20463</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/249700/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>The compiler gurus over in C++ World (we spend a lot of time in&amp;nbsp;building 41)&amp;nbsp;have just released the latest CTP of the Phoenix Compiler Framework. It's been a while since we've learned about Phoenix here on Channel 9 so we thought it necessary to find out what's going on with the soon-to-be de facto compiler technology for all of Microsoft's products. Andy Ayers is an Architect on the Phoenix team. He sits down with us to dig into the details of Phoenix and address it's current state, history&amp;nbsp;and future (no whiteboarding here, but this is still quite deep. There is a cool demo at&amp;#8230;</evnet:previewtext><media:thumbnail url="http://channel9.msdn.com/Link/74cab28b-4f14-41e1-9667-76a46000c7ea/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/0a619801-bb75-4651-901d-b7371801c2d9/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/fef2b117-152e-456f-8d7a-ec5029a1dcfe/" height="64" width="85" /><media:thumbnail url="http://channel9.msdn.com/Link/35836ad9-3cf0-4b39-b43f-b5e0caf456b6/" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/PhoenixCompilerFramework_ch9.mp3" expression="full" duration="2535" type="audio/mp3" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/PhoenixCompilerFramework_ch9.wma" expression="full" duration="2535" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/PhoenixCompilerFramework_2MB_ch9.wmv" expression="full" duration="2535" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/PhoenixCompilerFramework_2MB_ch9.wmv" length="1" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>19</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/Andy-Ayers-Understanding-the-Phoenix-Compiler-Framework/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/249700/Trackback.aspx</trackback:ping><category>C++</category><category>Compilers</category><category>Phoenix Framework</category></item><item><title>Charles Nutter and Wayne Kelly: Making Ruby Run on Static Virtual Machines - JRuby(JVM) and Ruby.NET</title><description>At &lt;a href="http://www.langnetsymposium.com/index.asp"&gt;Lang.NET 2008&lt;/a&gt;, I caught up with two dynamic languages afficianados who have been working on a similar (and really hard)problem over the years: getting Ruby (a dynamic language) to run on a static virtual machine (JVM and CLR, respectived). &lt;BR&gt;&lt;BR&gt;Charles Nutter is a lead developer on the&amp;nbsp;&lt;a href="http://jruby.codehaus.org/"&gt;JRuby&lt;/a&gt; project which aims to run Ruby "natively' on the JVM. Wayne Kelly is the lead developer on the &lt;a href="http://www.sapphiresteel.com/The-End-Of-Ruby-NET"&gt;now defunct Ruby.NET project&lt;/a&gt; (it's been&amp;nbsp;merged&amp;nbsp;into the&amp;nbsp;IronRuby project so Wayne and team's great work has not gone with the wind...)&amp;nbsp;which aimed to get Ruby to run on the CLR.&lt;BR&gt;&lt;BR&gt;Both Charles and Wayne are challanged by the same technical hurdles: Running dynamic code in a statically-typed environment with no support for continuations. This is really challenging and is the primary reason that Microsoft created the DLR... &lt;BR&gt;&lt;BR&gt;Here, we chat about that they're working on and what problems they face.&lt;BR&gt;&lt;BR&gt;Another interesting discussion with brilliant people at Lang.NET 2008.&lt;BR&gt;&lt;BR&gt;Enjoy.&lt;BR&gt;&lt;BR&gt;&lt;a href="http://mschnlnine.vo.llnwd.net/d1/ch9/0/LangNETRubyOnStaticVM_512Kbs.wmv"&gt;Low res download file&lt;/a&gt;.&lt;img src="http://channel9.msdn.com/249608/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Charles/Charles-Nutter-and-Wayne-Kelly-Making-Ruby-Run-on-Static-Virtual-Machines-JRubyJVM-and-RubyNET/</comments><link>http://channel9.msdn.com/posts/Charles/Charles-Nutter-and-Wayne-Kelly-Making-Ruby-Run-on-Static-Virtual-Machines-JRubyJVM-and-RubyNET/</link><pubDate>Mon, 11 Feb 2008 20:28:13 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/0/LangNETRubyOnStaticVM.wmv</guid><evnet:views>9132</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/249608/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>At Lang.NET 2008, I caught up with two dynamic languages afficianados who have been working on a similar (and really hard)problem over the years: getting Ruby (a dynamic language) to run on a static virtual machine (JVM and CLR, respectived). Charles Nutter is a lead developer on the&amp;nbsp;JRuby project which aims to run Ruby "natively' on the JVM. Wayne Kelly is the lead developer on the now defunct Ruby.NET project (it's been&amp;nbsp;merged&amp;nbsp;into the&amp;nbsp;IronRuby project so Wayne and team's great work has not gone with the wind...)&amp;nbsp;which aimed to get Ruby to run on the CLR.Both Charles&amp;#8230;</evnet:previewtext><media:thumbnail url="http://channel9.msdn.com/Link/4d48dce1-6cb6-4b56-8a49-74554763e93f/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/bc1041a8-4993-470b-99d4-cfad59816d99/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/1ba52075-75ea-451e-a872-d4b61d509368/" height="64" width="85" /><media:thumbnail url="http://channel9.msdn.com/Link/893e7d57-37fa-4d1d-ad83-095fae3ef381/" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/LangNETRubyOnStaticVM_ch9.mp3" expression="full" duration="1719" type="audio/mp3" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/LangNETRubyOnStaticVM_ch9.wma" expression="full" duration="1719" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/LangNETRubyOnStaticVM.wmv" expression="full" duration="1719" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/LangNETRubyOnStaticVM.wmv" length="1" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Charles/Charles-Nutter-and-Wayne-Kelly-Making-Ruby-Run-on-Static-Virtual-Machines-JRubyJVM-and-RubyNET/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/249608/Trackback.aspx</trackback:ping><category>CLR</category><category>Compilers</category><category>Java</category><category>LangNET 2008</category><category>Programming</category><category>Ruby</category></item><item><title>Erik Meijer, Gilad Bracha, Mads Torgersen: Perspectives on Programming Language Design and Evolution</title><description>I attended &lt;a href="http://www.langnetsymposium.com/"&gt;Lang.NET 2008&lt;/a&gt; and, as expected, learned a great deal from some of the industry's finest language and compiler minds. One of the most interesting talks was &lt;a href="http://bracha.org/Site/Home.html"&gt;Gilad Bracha&lt;/a&gt;'s session on his new programming language, Newspeak. Newspeak is really compelling from a language design perspective because of its pluggable type system (everything in Newspeak is virtual). His talk was really deep and targeted at his fellow language designers, but it's all starting to make sense to me now (takes a while to sink into my thick skull).&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://research.microsoft.com/~emeijer/"&gt;Erik Meijer&lt;/a&gt;, our resident programming language guru and a deacon in the Church of the Lamda Calculus (:)), was of course in attendance and presented on the current state of &lt;a href="http://labs.live.com/volta/"&gt;Volta &lt;/a&gt;(an &lt;em&gt;excellent&lt;/em&gt; managed tier-splitting technology that you should definitely play with). &lt;br /&gt;
&lt;br /&gt;
Mads Torgersen, Danish computer scientist and member of the C# design team, was also in attendance. It's always fun to chat with Mads. He's got a very well balanced and insightful perspective on pragmatic programming language design. We're lucky to have him working with Anders et al on the evolution of C#.&lt;br /&gt;
&lt;br /&gt;
I thought it would be a great idea to get these three characters together in one place to talk about what they know best: programming languages. We have a great discussion on type systems, programming language history, DLR and language futures. &lt;br /&gt;
&lt;br /&gt;
If you are into programming language design, then this is for you. There is no white boarding, but the conversation is deep given the topics covered... It's also a really fun interview with exceptional personalities. We laugh a lot, which is always a good thing. So, step outside of the box, settle into a comfy chair (this is a long one - unedited as usual) and get some new perspectives on programming language design and evolution from some of the top minds in the industry.&lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://mschnlnine.vo.llnwd.net/d1/ch9/0/LangNetMeijerBrachaTorgersen_512Kbs.wmv"&gt;Lo-Res version for the bandwidth challanged&lt;/a&gt;.&lt;img src="http://channel9.msdn.com/249604/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/Erik-Meijer-Gilad-Bracha-Mads-Torgersen-Perspectives-on-Programming-Language-Design-and-Evolution/</comments><link>http://channel9.msdn.com/shows/Going+Deep/Erik-Meijer-Gilad-Bracha-Mads-Torgersen-Perspectives-on-Programming-Language-Design-and-Evolution/</link><pubDate>Tue, 05 Feb 2008 19:52:00 GMT</pubDate><guid isPermaLink="false">http://mschnlnine.vo.llnwd.net/d1/ch9/0/LangNetGiladErikMads.wmv</guid><evnet:views>22967</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/249604/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>I attended &lt;a href="http://www.langnetsymposium.com/"&gt;Lang.NET 2008&lt;/a&gt; and, as expected, learned a great deal from some of the industry's finest language and compiler minds. One of the most interesting talks was &lt;a href="http://bracha.org/Site/Home.html"&gt;Gilad Bracha&lt;/a&gt;'s session on his new programming language, Newspeak. Newspeak is really compelling from a language design perspective because of its pluggable type system (everything in Newspeak is virtual). His talk was really deep and targeted at his fellow language designers, but it's all starting to make sense to me now (takes a while to sink into my thick skull).&lt;br /&gt;
&lt;br /&gt;</evnet:previewtext><media:thumbnail url="http://channel9.msdn.com/Link/0d7e9e2d-55c4-49a0-9fd2-5975e3ceacfe/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/74b0afd8-eb3d-4159-b3b8-9394a474b04e/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/bab56c30-4f0d-494c-bb07-3d7feac27f23/" height="64" width="85" /><media:thumbnail url="http://channel9.msdn.com/Link/a481c028-4824-49d6-af8a-e25ca6013553/" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/LangNetMeijerBrachaTorgersenNew_ch9.mp3" expression="full" duration="3142" fileSize="25141289" type="audio/mp3" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/LangNetMeijerBrachaTorgersenNew_ch9.wma" expression="full" duration="3142" fileSize="25421903" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/LangNetGiladErikMads.wmv" expression="full" duration="3142" fileSize="983600797" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/LangNetGiladErikMads.wmv" length="983600797" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>40</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/Erik-Meijer-Gilad-Bracha-Mads-Torgersen-Perspectives-on-Programming-Language-Design-and-Evolution/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/249604/Trackback.aspx</trackback:ping><category>Compilers</category><category>Computing</category><category>Erik Meijer</category><category>Functional Programming</category><category>Gilad Bracha</category><category>LangNET 2008</category><category>Programming</category><category>Software Composability</category></item><item><title>Ale Contenti and Louis Lafreniere: Understanding Exceptions and When/How to Handle Them</title><description>Sometimes, things go wrong when code executes. You can't predict when this will happen or even why, but you can write code to handle exceptional problems. If you're lucky, the problem will carry with it a bunch of useful information that you can use, at runtime, to handle the specific error. These exceptional information structures are called structured exceptions; blobs of bad news carrying useful and specific information that you can use to find your way out of the exceptional rabbit hole. Of course, with useful data packaged up in an exception you can more easily debug to find root causes, which is much harder to do with, say, error codes...&lt;br /&gt;
&lt;br /&gt;
What is a structured exception, exactly? How should you handle exceptions that you don't assume will arise during the execution of your code? What are the correct patterns of exception handling that you can safely rely on? What does the C++ compiler have to do with exception code patterns? &lt;br /&gt;
&lt;br /&gt;
Come along for ride into the deep and murky world of exceptions with some folks that truly understand them at the most fundamental levels.&lt;br /&gt;
&lt;br /&gt;
Ale Contenti is a senior development lead in the C++ base class libraries team. Louis Lafreniere is a principal software developer in the C++ compiler group. Here, Ale and Louis teach us about exceptions and handling them (and when not to handle them). I love talking to the &lt;a href="http://blogs.msdn.com/vcblog/"&gt;VC++ People&lt;/a&gt;. They live on the metal and really understand the fascinating intracacies of our platform.&lt;br /&gt;
&lt;br /&gt;
Enjoy this latest &lt;a href="http://channel9.msdn.com/shows/going_deepshape="&gt;Going Deep&lt;/a&gt; episode.&lt;img src="http://channel9.msdn.com/249500/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/Ale-Contenti-and-Louis-Lafreniere-Understanding-Exceptions-and-WhenHow-to-Handle-Them/</comments><link>http://channel9.msdn.com/shows/Going+Deep/Ale-Contenti-and-Louis-Lafreniere-Understanding-Exceptions-and-WhenHow-to-Handle-Them/</link><pubDate>Fri, 21 Sep 2007 00:47:00 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/shows/Going+Deep/Ale-Contenti-and-Louis-Lafreniere-Understanding-Exceptions-and-WhenHow-to-Handle-Them/</guid><evnet:views>25726</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/249500/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Sometimes, things go wrong when code executes. You can't predict when this will happen or even why, but you can write code to handle exceptional problems. If you're lucky, the problem will carry with it a bunch of useful information that you can use, at runtime, to handle the specific error. These exceptional information structures are called structured exceptions; blobs of bad news carrying useful and specific information that you can use to find your way out of the exceptional rabbit hole. Of course, with useful data packaged up in an exception you can more easily debug to find root causes,…</evnet:previewtext><media:thumbnail url="http://channel9.msdn.com/Link/15b7a992-f351-4287-a810-37095f7957fd/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/b1e6de97-526c-4a73-a2f7-7805b5c5191d/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/88c7424e-5a6b-414c-b61b-79a5eb6759c6/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/cd6596d1-9988-47fb-8ad8-be7f76df8375/" height="64" width="85" /><media:thumbnail url="http://channel9.msdn.com/Link/01e77d5f-d62e-4852-965d-4d5ddc2fa166/" height="64" width="85" /><media:thumbnail url="http://channel9.msdn.com/Link/d2f0d423-0cbf-49cc-8b74-206a06ada503/" height="64" width="85" /><media:group><media:content url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/GD_SEH_Exceptions_ch9.mp3" expression="full" duration="3336" fileSize="26690246" type="audio/mp3" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/GD_SEH_Exceptions_ch9.wma" expression="full" duration="3336" fileSize="26989991" type="audio/x-ms-wma" medium="audio" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/GD_SEH_Exceptions_512.wmv" expression="full" duration="3336" fileSize="211711457" type="video/x-ms-wmv" medium="video" /></media:group><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/GD_SEH_Exceptions_512.wmv" length="211711457" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>19</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/Ale-Contenti-and-Louis-Lafreniere-Understanding-Exceptions-and-WhenHow-to-Handle-Them/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/249500/Trackback.aspx</trackback:ping><category>Ale Contenti</category><category>C++</category><category>Compilers</category><category>Computing</category><category>Exceptions</category><category>Louis Lafreniere</category><category>Programming</category></item><item><title>Luke Hoban: Orcas - Compiling LINQ, C# Futures, Intellisense</title><description>Meet Luke Hoban, Program Manager on the C# Compiler team. Here, we talk about how LINQ works, from a compiler point of view. As you know by now, LINQ is a construct that is built of new language level innovations which of course must have compiler support... As you might imagine, given the nature of LINQ's requisite language level components, we talk about functional programming and it's new role in our good old imperative world. In Orcas, you shouldn't talk about LINQ without showing it in action inside of Visual Studio. &lt;BR&gt;&lt;BR&gt;Enjoy.&lt;BR&gt;&lt;BR&gt;For the detail-oriented folks out there: I shot this interview a few months ago, so you'll hear references to the Feb/March CTP. Have no fear, Niners, the content in this interview is as pertinent now as it was then (even more so with the release of Orcas beta 1).&lt;img src="http://channel9.msdn.com/249369/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/shows/Going+Deep/Luke-Hoban-Orcas-Compiling-LINQ-C-Futures-Intellisense/</comments><link>http://channel9.msdn.com/shows/Going+Deep/Luke-Hoban-Orcas-Compiling-LINQ-C-Futures-Intellisense/</link><pubDate>Fri, 18 May 2007 01:25:39 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/shows/Going+Deep/Luke-Hoban-Orcas-Compiling-LINQ-C-Futures-Intellisense/</guid><evnet:views>23967</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/249369/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Meet Luke Hoban, Program Manager on the C# Compiler team. Here, we talk about how LINQ works, from a compiler point of view. As you know by now, LINQ is a construct that is built of new language level innovations which of course must have compiler support... As you might imagine, given the nature of LINQ's requisite language level components, we talk about functional programming and it's new role in our good old imperative world. In Orcas, you shouldn't talk about LINQ without showing it in action inside of Visual Studio. &lt;BR&gt;&lt;BR&gt;Enjoy.&lt;BR&gt;&lt;BR&gt;</evnet:previewtext><media:thumbnail url="http://channel9.msdn.com/Link/6a04315e-e454-492c-b11d-5898d9f80427/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/f448314f-18f6-4b7a-9e64-fcd46911d689/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/af59b6f1-0628-4fb3-9984-efee3bfe058c/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/e2d239c0-5e1e-4fe2-8328-cb03e528616c/" height="64" width="85" /><media:thumbnail url="http://channel9.msdn.com/Link/8802e565-8d09-47bb-83ed-ecc258554f5c/" height="64" width="85" /><media:thumbnail url="http://channel9.msdn.com/Link/d9763b6a-0d09-4df4-aeef-20eb900fde06/" height="64" width="85" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/2/3/8/0/3/LukeHoban_LINQ.wmv" expression="full" duration="2499" type="video/x-ms-wmv" medium="video" /><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/3/2/3/8/0/3/LukeHoban_LINQ.wmv" length="1" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>12</slash:comments><wfw:commentRss>http://channel9.msdn.com/shows/Going+Deep/Luke-Hoban-Orcas-Compiling-LINQ-C-Futures-Intellisense/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/249369/Trackback.aspx</trackback:ping><category>Compilers</category><category>CSharp</category><category>LINQ</category><category>Orcas</category></item><item><title>John Gough and Joel Pobar: Compilers, Compilers, Compilers...</title><description>John Gough is a world famous writer of books and text books on Compilers -  as well as being Professor xxx at Queensland University of Technology. He has been a part of the CLR and IL .NET project from a very early stage. One of his students, Joel Pobar, worked at Microsoft on parts of the dynamic parts of CLR/.NET added in version 2.0.

Both of these esteemed gentlemen are in Brisbane, and Nick Hodge managed to interview them last week on compilers, functional and dynamic languages, history, learning, being geeks and the future of processors.&lt;img src="http://channel9.msdn.com/249329/WebViewBug.aspx?EVT=0" height="1" width="1" alt="" /&gt;</description><comments>http://channel9.msdn.com/posts/Charles/John-Gough-and-Joel-Pobar-Compilers-Compilers-Compilers/</comments><link>http://channel9.msdn.com/posts/Charles/John-Gough-and-Joel-Pobar-Compilers-Compilers-Compilers/</link><pubDate>Wed, 11 Apr 2007 18:09:56 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/posts/Charles/John-Gough-and-Joel-Pobar-Compilers-Compilers-Compilers/</guid><evnet:views>6090</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/249329/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>John Gough is a world famous writer of books and text books on Compilers -  as well as being Professor xxx at Queensland University of Technology. He has been a part of the CLR and IL .NET project from a very early stage. One of his students, Joel Pobar, worked at Microsoft on parts of the dynamic parts of CLR/.NET added in version 2.0.

Both of these esteemed gentlemen are in Brisbane, and Nick Hodge managed to interview them last week on compilers, functional and dynamic languages, history, learning, being geeks and the future of processors.</evnet:previewtext><media:thumbnail url="http://channel9.msdn.com/Link/555cbec4-5566-46cf-ac87-f665adfdc0fd/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/f654114a-35c3-4f39-9f97-4f7a5170b419/" height="240" width="320" /><media:thumbnail url="http://channel9.msdn.com/Link/ee816e51-ca58-4c63-b723-fe504f17e690/" height="64" width="85" /><media:thumbnail url="http://channel9.msdn.com/Link/600489f0-c195-4c4c-89c6-086e53a78927/" height="64" width="85" /><media:content isDefault="true" url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/0/9/9/9/2/TheGeekStories-CompilerGeeks_2MB_on10.wmv " expression="full" duration="2332" type="video/x-ms-wmv" medium="video" /><enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/1/0/9/9/9/2/TheGeekStories-CompilerGeeks_2MB_on10.wmv " length="1" type="video/x-ms-wmv" /><dc:creator>Charles</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://channel9.msdn.com/posts/Charles/John-Gough-and-Joel-Pobar-Compilers-Compilers-Compilers/RSS/</wfw:commentRss><trackback:ping>http://channel9.msdn.com/249329/Trackback.aspx</trackback:ping><category>Compilers</category></item></channel></rss>