<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>How It All Started…AKA the Birth of the CLR</title><link>http://blogs.msdn.com/patrick_dussud/archive/2006/11/21/how-it-all-started-aka-the-birth-of-the-clr.aspx</link><description>Hello everyone, I am the Lead Architect of the CLR/UIFX group and the Chief Architect of the .NET Frameworks. I was thinking about what I should put in the first entry of my blog… as one of the founders of the CLR I thought it would be interesting to</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Check out the CLR Lead Architect's New Blog</title><link>http://blogs.msdn.com/patrick_dussud/archive/2006/11/21/how-it-all-started-aka-the-birth-of-the-clr.aspx#1123668</link><pubDate>Wed, 22 Nov 2006 23:44:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1123668</guid><dc:creator>Maoni's WebLog</dc:creator><description>&lt;p&gt;Many people know Patrick Dussud by his outstanding work on Garbage Collection. But did you know he was&lt;/p&gt;
</description></item><item><title>re: How It All Started…AKA the Birth of the CLR</title><link>http://blogs.msdn.com/patrick_dussud/archive/2006/11/21/how-it-all-started-aka-the-birth-of-the-clr.aspx#1124204</link><pubDate>Thu, 23 Nov 2006 01:38:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1124204</guid><dc:creator>shailensukul</dc:creator><description>&lt;p&gt;The first article was a great recap.&lt;/p&gt;
&lt;p&gt;I would love to see an article on the extensability features of the CLR.&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;
&lt;p&gt;Shailen&lt;/p&gt;
</description></item><item><title>re: How It All Started…AKA the Birth of the CLR</title><link>http://blogs.msdn.com/patrick_dussud/archive/2006/11/21/how-it-all-started-aka-the-birth-of-the-clr.aspx#1124565</link><pubDate>Thu, 23 Nov 2006 02:20:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1124565</guid><dc:creator>Mike Dimmick</dc:creator><description>&lt;p&gt;Can you talk about how much of the problem with the JVM was technical and how much political?&lt;/p&gt;
</description></item><item><title>С чего начинается CLR</title><link>http://blogs.msdn.com/patrick_dussud/archive/2006/11/21/how-it-all-started-aka-the-birth-of-the-clr.aspx#1128535</link><pubDate>Thu, 23 Nov 2006 17:34:30 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1128535</guid><dc:creator>Items</dc:creator><description>&lt;p&gt;Не так давно начал свой блог самый главный разработчик .Net CLR и вообще хороший человек Patrick Dussud&lt;/p&gt;
</description></item><item><title>re: How It All Started…AKA the Birth of the CLR</title><link>http://blogs.msdn.com/patrick_dussud/archive/2006/11/21/how-it-all-started-aka-the-birth-of-the-clr.aspx#1128986</link><pubDate>Thu, 23 Nov 2006 20:20:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1128986</guid><dc:creator>Hideki A. Ikeda</dc:creator><description>&lt;p&gt;In your future blogs, I would like to read more about GC.&lt;/p&gt;
</description></item><item><title>re: How It All Started…AKA the Birth of the CLR</title><link>http://blogs.msdn.com/patrick_dussud/archive/2006/11/21/how-it-all-started-aka-the-birth-of-the-clr.aspx#1129042</link><pubDate>Thu, 23 Nov 2006 20:26:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1129042</guid><dc:creator>mjeelani</dc:creator><description>&lt;p&gt;Great Post Patrick! Looking forward to more insights on the CLR.&lt;/p&gt;
</description></item><item><title>re: How It All Started…AKA the Birth of the CLR</title><link>http://blogs.msdn.com/patrick_dussud/archive/2006/11/21/how-it-all-started-aka-the-birth-of-the-clr.aspx#1129429</link><pubDate>Thu, 23 Nov 2006 22:12:11 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1129429</guid><dc:creator>tomasr</dc:creator><description>&lt;p&gt;Great stuff Patrick, and welcome to the community! I wonder at what point did the COR name appear?&lt;/p&gt;
</description></item><item><title>re: How It All Started…AKA the Birth of the CLR</title><link>http://blogs.msdn.com/patrick_dussud/archive/2006/11/21/how-it-all-started-aka-the-birth-of-the-clr.aspx#1139424</link><pubDate>Fri, 24 Nov 2006 13:35:08 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1139424</guid><dc:creator>demattel</dc:creator><description>&lt;p&gt;In Common Lisp? Great! Can you write more on this topic?&lt;/p&gt;
</description></item><item><title>re: How It All Started…AKA the Birth of the CLR</title><link>http://blogs.msdn.com/patrick_dussud/archive/2006/11/21/how-it-all-started-aka-the-birth-of-the-clr.aspx#1145291</link><pubDate>Sat, 25 Nov 2006 08:56:07 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1145291</guid><dc:creator>shakeher</dc:creator><description>&lt;p&gt;server modelling ---- how about a bit of its &amp;nbsp;history too. seriously,the &amp;nbsp;above history was great. &lt;/p&gt;
</description></item><item><title>re: How It All Started…AKA the Birth of the CLR</title><link>http://blogs.msdn.com/patrick_dussud/archive/2006/11/21/how-it-all-started-aka-the-birth-of-the-clr.aspx#1145314</link><pubDate>Sat, 25 Nov 2006 09:09:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1145314</guid><dc:creator>Christian Kiefl</dc:creator><description>&lt;p&gt;I'd like to read about WHY you used LISP at first.&lt;/p&gt;
&lt;p&gt;Nice Post. A bit short perhaps ;)&lt;/p&gt;
</description></item><item><title>Patrick Dussud on CLR history</title><link>http://blogs.msdn.com/patrick_dussud/archive/2006/11/21/how-it-all-started-aka-the-birth-of-the-clr.aspx#1154562</link><pubDate>Sun, 26 Nov 2006 21:19:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1154562</guid><dc:creator>Brad Abrams </dc:creator><description>&lt;p&gt;Patrick , one of the founding members of the CLR team, starts a blog by posting a brief bit about this&lt;/p&gt;
</description></item><item><title>re: How It All Started…AKA the Birth of the CLR</title><link>http://blogs.msdn.com/patrick_dussud/archive/2006/11/21/how-it-all-started-aka-the-birth-of-the-clr.aspx#1155372</link><pubDate>Mon, 27 Nov 2006 01:48:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1155372</guid><dc:creator>rbirkby</dc:creator><description>&lt;p&gt;&amp;gt; and a new cool language: C#&lt;/p&gt;
&lt;p&gt;ho ho ho!&lt;/p&gt;
&lt;p&gt;For an alternate view on the gestation of the CLR check out:&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://discuss.develop.com/archives/wa.exe?A2=ind0008&amp;amp;L=DOTNET&amp;amp;P=R9831&amp;amp;I=-3"&gt;http://discuss.develop.com/archives/wa.exe?A2=ind0008&amp;amp;L=DOTNET&amp;amp;P=R9831&amp;amp;I=-3&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>re: How It All Started…AKA the Birth of the CLR</title><link>http://blogs.msdn.com/patrick_dussud/archive/2006/11/21/how-it-all-started-aka-the-birth-of-the-clr.aspx#1160992</link><pubDate>Mon, 27 Nov 2006 22:46:59 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1160992</guid><dc:creator>ovidiupl</dc:creator><description>&lt;p&gt;I'd like to know what order the pieces were built in (specifically: metadata, IL and the JIT compiler, the GC, the security subsystem, AppDomains). It would also be interesting to know what were the goals and the constraints that guided design choices (for instance, why not build a simpler runtime, like a garbage-collected environment for C++, without IL?)&lt;/p&gt;
</description></item><item><title>Patrick Dussud ouvre un blog</title><link>http://blogs.msdn.com/patrick_dussud/archive/2006/11/21/how-it-all-started-aka-the-birth-of-the-clr.aspx#1161560</link><pubDate>Tue, 28 Nov 2006 01:39:21 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1161560</guid><dc:creator>CoqBlog</dc:creator><description>&lt;p&gt;Vous l'avez sans doute d&amp;#233;j&amp;#224; lu, Patrick Dussud , ouvre un blog . Patrick Dussud est un des ing&amp;#233;nieurs&lt;/p&gt;
</description></item><item><title>re: How It All Started…AKA the Birth of the CLR</title><link>http://blogs.msdn.com/patrick_dussud/archive/2006/11/21/how-it-all-started-aka-the-birth-of-the-clr.aspx#1161652</link><pubDate>Tue, 28 Nov 2006 01:53:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1161652</guid><dc:creator>Patrick Dussud</dc:creator><description>&lt;p&gt;About Common Lisp and Lisp in general: &lt;/p&gt;
&lt;p&gt;I have worked on Lisp for many years, and I think it has strength that sets it apart from other dynamic languages. My favorite is the fact that you can extend the Lisp language to create your own special purpose language in a very natural way using macros. Lisp has a very simple syntax (prefix notation). As long as your extensions adhere to that syntax, it is possible to make them seamless. Arguably, CLOS is a very large extension to Common Lisp, even though you don't need *any* compiler changes to do a pretty good job implementing it on top of regular Common Lisp. &lt;/p&gt;
&lt;p&gt;Last year, I gave a talk at the International Lisp Conference about the need for Lisp to integrate with the CLR (and / or Java). See the following URL &lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://www.international-lisp-conference.org/2005/speakers.html#patrick_dussud"&gt;http://www.international-lisp-conference.org/2005/speakers.html#patrick_dussud&lt;/a&gt; &lt;/p&gt;
</description></item><item><title>re: How It All Started…AKA the Birth of the CLR</title><link>http://blogs.msdn.com/patrick_dussud/archive/2006/11/21/how-it-all-started-aka-the-birth-of-the-clr.aspx#1161841</link><pubDate>Tue, 28 Nov 2006 02:14:50 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1161841</guid><dc:creator>Patrick Dussud</dc:creator><description>&lt;P&gt;About the GC prototype in Common Lisp. &lt;/P&gt;
&lt;P&gt;A GC system is rather intricate; besides the basic GC components themselves (the memory manager, the object tracing mechanism, the compaction/sweep/copy module, the finalization mechanism) there is a great deal of support coming from the execution engine: root enumeration (from the global roots and the stack), synchronization between the execution engine and the GC, initialization and orderly shutdown. Rather that working on all of the pieces together, I decided to write a simulated environment where I could concentrate on the GC components and once they are working, then I would get it in the execution engine. This way, I wouldn't be tempted to bend the design of the GC mechanism to satisfy an oddity of the execution engine. &lt;/P&gt;
&lt;P&gt;At the time I wrote it, I could also have used VB, C++, Java. Common Lisp had the best debugging support at the time and I knew how to write a source to source language translator as long as the input source language is Lisp (I wrote an Interlisp to Common Lisp one at Schlumberger and a Zetalisp to Common Lisp one at Texas Instruments). &lt;/P&gt;
&lt;P&gt;I wrote the code in stylized Lisp, keeping in mind that I had to translate the code to C++, so no advanced Lisp features were used (no dynamic feature, no closures). &lt;/P&gt;
&lt;P&gt;Unfortunately, I can't find the Common Lisp GC sources or the translator anymore; they were left behind on one of my development computers. :-(&lt;/P&gt;</description></item><item><title>re: How It All Started…AKA the Birth of the CLR</title><link>http://blogs.msdn.com/patrick_dussud/archive/2006/11/21/how-it-all-started-aka-the-birth-of-the-clr.aspx#1161953</link><pubDate>Tue, 28 Nov 2006 02:26:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1161953</guid><dc:creator>Patrick Dussud</dc:creator><description>&lt;p&gt;About JVM limitations: &lt;/p&gt;
&lt;p&gt;Well, the JVM has technical limitations that were hard for us to solve: the JVM is designed to execute type safe languages only and we wanted to executed unsafe C++ as well. Solving this would have required the support of the entire Java community and this didn't make sense for the community at large. &lt;/p&gt;
&lt;p&gt;Other limitation were contractual. We discovered that the compliance test suite didn't allow us to extend the existing Java classes so it was hard for us to reflect the Windows platform with more fidelity. &lt;/p&gt;
&lt;p&gt;We also discovered that it was very hard to negociate for a different / better Java to Native code interop layer. This was both a technical and political issue: the interop layer is heavily archicture specific - it is hard to make it universal aka Run anywhere- &amp;nbsp;and it is quite visible to programmers unlike an extension library on the side. &lt;/p&gt;
</description></item><item><title>re: How It All Started…AKA the Birth of the CLR</title><link>http://blogs.msdn.com/patrick_dussud/archive/2006/11/21/how-it-all-started-aka-the-birth-of-the-clr.aspx#1173960</link><pubDate>Thu, 30 Nov 2006 02:30:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1173960</guid><dc:creator>Patrick Dussud</dc:creator><description>&lt;p&gt;About the rationale for our design decisions: &lt;/p&gt;
&lt;p&gt;First and foremost, we wanted to support safe execution of type safe languages . We designed a security model to separate trusted code from untrusted code and app domains to isolate code execution contexts from each other. We also wanted to be able to recompile an existing C++ application with an extra /CLR flag and run this application under the CLR. These high level goals lead us to where we are now. We briefly thought about a small GCed runtime for C++ but because C++ isn't type safe, it wasn't that interesting to us. Also you are severely limited in the ability to manage memory automatically for a language which can &amp;quot;hide&amp;quot; references in other datatypes or even by adding extra bits to the reference and such clever tricks. &amp;nbsp;&lt;/p&gt;
</description></item><item><title>New and Notable 127</title><link>http://blogs.msdn.com/patrick_dussud/archive/2006/11/21/how-it-all-started-aka-the-birth-of-the-clr.aspx#9171139</link><pubDate>Wed, 03 Dec 2008 21:20:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9171139</guid><dc:creator>Sam Gentile's Blog</dc:creator><description>&lt;p&gt;I thought Thanksgiving morning is for adults to be sleeping in. Instead, not only are the kids up at the crack at dawn but one (the eight year old) is playing games on Vista and asking for Starbucks, while the nearly 4 year old is clamoring for princess&lt;/p&gt;
</description></item><item><title>re: How It All Started…AKA the Birth of the CLR</title><link>http://blogs.msdn.com/patrick_dussud/archive/2006/11/21/how-it-all-started-aka-the-birth-of-the-clr.aspx#9270162</link><pubDate>Sat, 03 Jan 2009 10:53:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9270162</guid><dc:creator>sinetif</dc:creator><description>&lt;p&gt;&amp;quot;Other limitation were contractual. We discovered that the compliance test suite didn't allow us to extend the existing Java classes so it was hard for us to reflect the Windows platform with more fidelity.&amp;quot;&lt;/p&gt;
</description></item></channel></rss>