<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-10106032.post3435942375719193234..comments</id><updated>2010-04-08T13:45:26.636+01:00</updated><category term='scripting'/><category term='DLR'/><category term='CLR'/><category term='xaml'/><category term='nexenta'/><category term='business'/><category term='visualized superstructure'/><category term='silverlight'/><category term='apple'/><category term='politics'/><category term='buy'/><category term='competition'/><category term='serialization'/><category term='printing'/><category term='RAII'/><category term='open source'/><category term='Tiburon'/><category term='bash'/><category term='CodeGen'/><category term='iterators'/><category term='acropolis'/><category term='C++'/><category term='dynamic typing'/><category term='Learning'/><category term='build'/><category term='ipod'/><category term='generics'/><category term='Delphi'/><category term='enumerators'/><category term='GC'/><category term='anonymous methods'/><category term='rich client'/><category term='solaris'/><category term='static typing'/><category term='itunes'/><category term='vista'/><category term='rant'/><category term='backup'/><category term='Erlang'/><title type='text'>Comments on Entropy Overload: Commonly Confused Tidbits re .NET Garbage Collecto...</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.barrkel.com/feeds/3435942375719193234/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/3435942375719193234/comments/default'/><link rel='alternate' type='text/html' href='http://blog.barrkel.com/2009/12/commonly-confused-tidbits-re-net.html'/><author><name>Barry Kelly</name><uri>http://www.blogger.com/profile/10559947643606684495</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_2GNT8vlZj48/R3BcgmnurfI/AAAAAAAAAAY/Y9PdEUicKFg/S220/big-avatar-512.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>14</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-10106032.post-3067767740945646223</id><published>2009-12-18T17:30:04.312Z</published><updated>2009-12-18T17:30:04.312Z</updated><title type='text'>You simply can&amp;#39;t embed &amp;quot;GC-ness&amp;quot; in ...</title><content type='html'>You simply can&amp;#39;t embed &amp;quot;GC-ness&amp;quot; in the type or the variable declaration. All variables (whether they are of a GC type or not, or whether they are of the appropriate declaration or not) need to be findable by the garbage collector in order for it to make sure it doesn&amp;#39;t collect an allocation prematurely. If you&amp;#39;re going to search a non-GC heap looking for GC references into the GC heap, you&amp;#39;ve already lost a big chunk of the benefit from GC. And if you try and get around the issue by using some kind of wrapper (like GCHandle in the .NET world) to keep GC references alive from the non-GC world, you lose substantial chunks of usability.&lt;br /&gt;&lt;br /&gt;A GC-world by default with selective manual allocation is far more workable than the converse, manual allocation by default with selective GC.&lt;br /&gt;&lt;br /&gt;Re &amp;quot;a GC service in the background&amp;quot; - the majority of throughput-oriented collectors do not collect in the background, but rather when an allocation is made which cannot be satisfied without doing a collection. GC services run concurrently usually to reduce GC-induced latencies, typically for GUI applications.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/3435942375719193234/comments/default/3067767740945646223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/3435942375719193234/comments/default/3067767740945646223'/><link rel='alternate' type='text/html' href='http://blog.barrkel.com/2009/12/commonly-confused-tidbits-re-net.html?showComment=1261157404312#c3067767740945646223' title=''/><author><name>Barry Kelly</name><uri>http://www.blogger.com/profile/10559947643606684495</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08331762029805209075'/><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_2GNT8vlZj48/R3BcgmnurfI/AAAAAAAAAAY/Y9PdEUicKFg/S220/big-avatar-512.png'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.barrkel.com/2009/12/commonly-confused-tidbits-re-net.html' ref='tag:blogger.com,1999:blog-10106032.post-3435942375719193234' source='http://www.blogger.com/feeds/10106032/posts/default/3435942375719193234' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-630653472'/></entry><entry><id>tag:blogger.com,1999:blog-10106032.post-6914276824231839455</id><published>2009-12-18T15:44:47.946Z</published><updated>2009-12-18T15:44:47.946Z</updated><title type='text'>I think somebody has suggested this idea before.  ...</title><content type='html'>I think somebody has suggested this idea before.  How about adding keyword for out of scope gc object?&lt;br /&gt;&lt;br /&gt;var&lt;br /&gt; aStrings: TStringList gc;&lt;br /&gt; aList: TList gc;&lt;br /&gt; aBitmap: TBitmap gc;&lt;br /&gt;&lt;br /&gt;This methods doesn&amp;#39;t need a gc service to be running at the background at all. of course, user is not allowed to return these objects as a function result (compiling error?)</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/3435942375719193234/comments/default/6914276824231839455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/3435942375719193234/comments/default/6914276824231839455'/><link rel='alternate' type='text/html' href='http://blog.barrkel.com/2009/12/commonly-confused-tidbits-re-net.html?showComment=1261151087946#c6914276824231839455' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.barrkel.com/2009/12/commonly-confused-tidbits-re-net.html' ref='tag:blogger.com,1999:blog-10106032.post-3435942375719193234' source='http://www.blogger.com/feeds/10106032/posts/default/3435942375719193234' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1854789229'/></entry><entry><id>tag:blogger.com,1999:blog-10106032.post-1665097093510812320</id><published>2009-12-18T03:41:17.121Z</published><updated>2009-12-18T03:41:17.121Z</updated><title type='text'>How about having a set of GC safe common objects t...</title><content type='html'>How about having a set of GC safe common objects that developers could opt to use, TGCStringList, TGCList, TGCBitmap, etc.  That would reduce the overall use of try/finally/free by about 90%</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/3435942375719193234/comments/default/1665097093510812320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/3435942375719193234/comments/default/1665097093510812320'/><link rel='alternate' type='text/html' href='http://blog.barrkel.com/2009/12/commonly-confused-tidbits-re-net.html?showComment=1261107677121#c1665097093510812320' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.barrkel.com/2009/12/commonly-confused-tidbits-re-net.html' ref='tag:blogger.com,1999:blog-10106032.post-3435942375719193234' source='http://www.blogger.com/feeds/10106032/posts/default/3435942375719193234' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-874046621'/></entry><entry><id>tag:blogger.com,1999:blog-10106032.post-4108303764344860100</id><published>2009-12-17T16:50:13.936Z</published><updated>2009-12-17T16:50:13.936Z</updated><title type='text'>Arseny, yes it&amp;#39;s possible for the GC to collec...</title><content type='html'>Arseny, yes it&amp;#39;s possible for the GC to collect objects which have existing references in variables that are still in scope, but only if the variable is not referred to in subsequent code.&lt;br /&gt;&lt;br /&gt;For example, it is even possible for the &amp;#39;this&amp;#39; reference in C# (equivalent to Self in Delphi) to be garbage collected even while code is executing in a method of the instance, so long as there is no reference to fields or virtual methods etc. in the remainder of the method.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/3435942375719193234/comments/default/4108303764344860100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/3435942375719193234/comments/default/4108303764344860100'/><link rel='alternate' type='text/html' href='http://blog.barrkel.com/2009/12/commonly-confused-tidbits-re-net.html?showComment=1261068613936#c4108303764344860100' title=''/><author><name>Barry Kelly</name><uri>http://www.blogger.com/profile/10559947643606684495</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08331762029805209075'/><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_2GNT8vlZj48/R3BcgmnurfI/AAAAAAAAAAY/Y9PdEUicKFg/S220/big-avatar-512.png'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.barrkel.com/2009/12/commonly-confused-tidbits-re-net.html' ref='tag:blogger.com,1999:blog-10106032.post-3435942375719193234' source='http://www.blogger.com/feeds/10106032/posts/default/3435942375719193234' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-630653472'/></entry><entry><id>tag:blogger.com,1999:blog-10106032.post-9053317830983584934</id><published>2009-12-17T14:40:59.148Z</published><updated>2009-12-17T14:40:59.148Z</updated><title type='text'>is it possible for an object to be collect by GC w...</title><content type='html'>is it possible for an object to be collect by GC while its is in scope of running function? i</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/3435942375719193234/comments/default/9053317830983584934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/3435942375719193234/comments/default/9053317830983584934'/><link rel='alternate' type='text/html' href='http://blog.barrkel.com/2009/12/commonly-confused-tidbits-re-net.html?showComment=1261060859148#c9053317830983584934' title=''/><author><name>Arseny</name><uri>http://www.blogger.com/profile/05482900114477054212</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.barrkel.com/2009/12/commonly-confused-tidbits-re-net.html' ref='tag:blogger.com,1999:blog-10106032.post-3435942375719193234' source='http://www.blogger.com/feeds/10106032/posts/default/3435942375719193234' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-981707931'/></entry><entry><id>tag:blogger.com,1999:blog-10106032.post-3870010032795632888</id><published>2009-12-17T12:25:15.175Z</published><updated>2009-12-17T12:25:15.175Z</updated><title type='text'>Jolyon, in my experience, in approx 95% of the cas...</title><content type='html'>Jolyon, in my experience, in approx 95% of the cases, doing manual GC is trivial. However, sometimes doing manual GC can get pretty complex (think cases where an object&amp;#39;s lifetime isn&amp;#39;t related to the call stack nor is owned by a single other object), making it a burden even for highly experienced developers, and forces more complex designs than would have been possible in a language/environment with automatic GC. So even the best developers can benefit a lot from automatic GC because it means one can use simpler (more effective) designs and have one less design issue to take care of.&lt;br /&gt;Quite a few people have asserted that it is generally the best developers who benefits the most from advances in programming languages and technology, not the mediocre ones and I believe automatic GC is one such advancement. It also is an enabler for programming in a more functional style, which in many cases is vastly superior to imperative style.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/3435942375719193234/comments/default/3870010032795632888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/3435942375719193234/comments/default/3870010032795632888'/><link rel='alternate' type='text/html' href='http://blog.barrkel.com/2009/12/commonly-confused-tidbits-re-net.html?showComment=1261052715175#c3870010032795632888' title=''/><author><name>Jarle Stabell</name><uri>http://www.blogger.com/profile/06073036475014933227</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.barrkel.com/2009/12/commonly-confused-tidbits-re-net.html' ref='tag:blogger.com,1999:blog-10106032.post-3435942375719193234' source='http://www.blogger.com/feeds/10106032/posts/default/3435942375719193234' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-602335146'/></entry><entry><id>tag:blogger.com,1999:blog-10106032.post-8948159582328068623</id><published>2009-12-15T23:40:13.863Z</published><updated>2009-12-15T23:40:13.863Z</updated><title type='text'>zurosevic, I can&amp;#39;t speak for future Delphi pla...</title><content type='html'>zurosevic, I can&amp;#39;t speak for future Delphi plans. Speaking personally, I&amp;#39;d like to see GC be an option, but there are problems with grafting GC onto a language not designed with it in mind, so I&amp;#39;m not sure a native Delphi (as it currently exists) + GC would really extract all the possible benefits.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/3435942375719193234/comments/default/8948159582328068623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/3435942375719193234/comments/default/8948159582328068623'/><link rel='alternate' type='text/html' href='http://blog.barrkel.com/2009/12/commonly-confused-tidbits-re-net.html?showComment=1260920413863#c8948159582328068623' title=''/><author><name>Barry Kelly</name><uri>http://www.blogger.com/profile/10559947643606684495</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08331762029805209075'/><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_2GNT8vlZj48/R3BcgmnurfI/AAAAAAAAAAY/Y9PdEUicKFg/S220/big-avatar-512.png'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.barrkel.com/2009/12/commonly-confused-tidbits-re-net.html' ref='tag:blogger.com,1999:blog-10106032.post-3435942375719193234' source='http://www.blogger.com/feeds/10106032/posts/default/3435942375719193234' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-630653472'/></entry><entry><id>tag:blogger.com,1999:blog-10106032.post-4623183948412424353</id><published>2009-12-15T23:06:29.375Z</published><updated>2009-12-15T23:06:29.375Z</updated><title type='text'>Barry, thanks for a nice and concise explanation o...</title><content type='html'>Barry, thanks for a nice and concise explanation of most important points about GC...&lt;br /&gt;&lt;br /&gt;Does this discussion published by one of the Delphi architects (yourself) mean that potential benefits of GC might bring one (GC) or something similar to Delphi (native) world as well?&lt;br /&gt;&lt;br /&gt;Cheers, B.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/3435942375719193234/comments/default/4623183948412424353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/3435942375719193234/comments/default/4623183948412424353'/><link rel='alternate' type='text/html' href='http://blog.barrkel.com/2009/12/commonly-confused-tidbits-re-net.html?showComment=1260918389375#c4623183948412424353' title=''/><author><name>zurosevic</name><uri>http://www.blogger.com/profile/00091918883989427716</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.barrkel.com/2009/12/commonly-confused-tidbits-re-net.html' ref='tag:blogger.com,1999:blog-10106032.post-3435942375719193234' source='http://www.blogger.com/feeds/10106032/posts/default/3435942375719193234' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-902987613'/></entry><entry><id>tag:blogger.com,1999:blog-10106032.post-4161591743554126531</id><published>2009-12-15T20:41:01.641Z</published><updated>2009-12-15T20:41:01.641Z</updated><title type='text'>Very interesting, thanks.
I would like to read the...</title><content type='html'>Very interesting, thanks.&lt;br /&gt;I would like to read the  explanations of the new programming conceptions from other languages independently whether they will appear in Delphi or not.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/3435942375719193234/comments/default/4161591743554126531'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/3435942375719193234/comments/default/4161591743554126531'/><link rel='alternate' type='text/html' href='http://blog.barrkel.com/2009/12/commonly-confused-tidbits-re-net.html?showComment=1260909661641#c4161591743554126531' title=''/><author><name>sergworks</name><uri>http://sergworks.wordpress.com/</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/openid16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.barrkel.com/2009/12/commonly-confused-tidbits-re-net.html' ref='tag:blogger.com,1999:blog-10106032.post-3435942375719193234' source='http://www.blogger.com/feeds/10106032/posts/default/3435942375719193234' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1686506637'/></entry><entry><id>tag:blogger.com,1999:blog-10106032.post-937198474081142798</id><published>2009-12-15T20:33:27.649Z</published><updated>2009-12-15T20:33:27.649Z</updated><title type='text'>Jolyon, from past experience I know there&amp;#39;s li...</title><content type='html'>Jolyon, from past experience I know there&amp;#39;s little win from arguing with you, so I won&amp;#39;t expend much effort.&lt;br /&gt;&lt;br /&gt;Briefly:&lt;br /&gt;&lt;br /&gt;Type and memory safety combined - which do not by themselves require GC but are a lot easier to implement with GC - make several classes of bugs impossible: dangling pointer, double-free, buffer overflow, uninitialized memory writes, unsafe typecasts, etc.&lt;br /&gt;&lt;br /&gt;Secondly, GC can in fact fix bugs in and of itself: a conservative collector can fix memory leaks in an otherwise unmodified program.&lt;br /&gt;&lt;br /&gt;Finally, yes, a GC lets you be lazy with respect to memory allocation. &lt;b&gt;This is in fact its primary benefit.&lt;/b&gt; Don&amp;#39;t forget, laziness is one of the many virtues of the good programmer. Don&amp;#39;t do something by hand when you can easily automate it. The fact that you can be lazy WRT memory means you can put more effort into other areas, such as program correctness, efficiency, maintainability, etc.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/3435942375719193234/comments/default/937198474081142798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/3435942375719193234/comments/default/937198474081142798'/><link rel='alternate' type='text/html' href='http://blog.barrkel.com/2009/12/commonly-confused-tidbits-re-net.html?showComment=1260909207649#c937198474081142798' title=''/><author><name>Barry Kelly</name><uri>http://www.blogger.com/profile/10559947643606684495</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08331762029805209075'/><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp2.blogger.com/_2GNT8vlZj48/R3BcgmnurfI/AAAAAAAAAAY/Y9PdEUicKFg/S220/big-avatar-512.png'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.barrkel.com/2009/12/commonly-confused-tidbits-re-net.html' ref='tag:blogger.com,1999:blog-10106032.post-3435942375719193234' source='http://www.blogger.com/feeds/10106032/posts/default/3435942375719193234' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-630653472'/></entry><entry><id>tag:blogger.com,1999:blog-10106032.post-7609464790967444351</id><published>2009-12-15T19:11:07.796Z</published><updated>2009-12-15T19:11:07.796Z</updated><title type='text'>&amp;quot;This extra safety is one of the reasons why ...</title><content type='html'>&amp;quot;This extra safety is one of the reasons why GC programs often have less bugs than ones using manual allocation.&amp;quot;&lt;br /&gt;&lt;br /&gt;What&amp;#39;s your source for this assertion?&lt;br /&gt;&lt;br /&gt;I would put it to you that the people that make the sorts of mistakes leading to bugs that a GC will pick up are people who are going to make other sorts of mistakes too.&lt;br /&gt;&lt;br /&gt;A GC will reduce the number of bugs in code written by such people, because it removes one bullet from the loaded gun, but those people are still going to try to shoot themselves in the foot in other ways.&lt;br /&gt;&lt;br /&gt;A GC doesn&amp;#39;t reduce bugs in and of itself (applying a GC to code that already contains zero memory allocation/overwrite bugs and other things that a GC would &amp;quot;pick up&amp;quot; for you, is a null-op).&lt;br /&gt;&lt;br /&gt;But a GC does allow you to be lazy, and in my experience promoting laziness is a sure fire way to promote carelessness and *more* bugs, not fewer, is the inevitable result.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/3435942375719193234/comments/default/7609464790967444351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/3435942375719193234/comments/default/7609464790967444351'/><link rel='alternate' type='text/html' href='http://blog.barrkel.com/2009/12/commonly-confused-tidbits-re-net.html?showComment=1260904267796#c7609464790967444351' title=''/><author><name>Jolyon Smith</name><uri>http://www.blogger.com/profile/12189834837787604468</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_Iom99OW8EBM/SJrN7PpR1gI/AAAAAAAAAAU/CtapZOhHdfg/s1600-R/eagles.png'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.barrkel.com/2009/12/commonly-confused-tidbits-re-net.html' ref='tag:blogger.com,1999:blog-10106032.post-3435942375719193234' source='http://www.blogger.com/feeds/10106032/posts/default/3435942375719193234' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1790239695'/></entry><entry><id>tag:blogger.com,1999:blog-10106032.post-2563626287638464215</id><published>2009-12-14T21:29:22.234Z</published><updated>2009-12-14T21:29:22.234Z</updated><title type='text'>Really good post, GC its a very interesting topic</title><content type='html'>Really good post, GC its a very interesting topic</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/3435942375719193234/comments/default/2563626287638464215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/3435942375719193234/comments/default/2563626287638464215'/><link rel='alternate' type='text/html' href='http://blog.barrkel.com/2009/12/commonly-confused-tidbits-re-net.html?showComment=1260826162234#c2563626287638464215' title=''/><author><name>Javier Santo Domingo</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.barrkel.com/2009/12/commonly-confused-tidbits-re-net.html' ref='tag:blogger.com,1999:blog-10106032.post-3435942375719193234' source='http://www.blogger.com/feeds/10106032/posts/default/3435942375719193234' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-269254921'/></entry><entry><id>tag:blogger.com,1999:blog-10106032.post-6929787524666864737</id><published>2009-12-14T18:34:01.311Z</published><updated>2009-12-14T18:34:01.311Z</updated><title type='text'>Excellent.  I have always been bugged with how muc...</title><content type='html'>Excellent.  I have always been bugged with how much most .NET developers don&amp;#39;t know about the GC.  Now I have someplace to point them.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/3435942375719193234/comments/default/6929787524666864737'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/3435942375719193234/comments/default/6929787524666864737'/><link rel='alternate' type='text/html' href='http://blog.barrkel.com/2009/12/commonly-confused-tidbits-re-net.html?showComment=1260815641311#c6929787524666864737' title=''/><author><name>Jim McKeeth</name><uri>http://www.blogger.com/profile/15713136719615033297</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://www.mckeeth.org/images/DrivingSelf_half.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.barrkel.com/2009/12/commonly-confused-tidbits-re-net.html' ref='tag:blogger.com,1999:blog-10106032.post-3435942375719193234' source='http://www.blogger.com/feeds/10106032/posts/default/3435942375719193234' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-465654603'/></entry><entry><id>tag:blogger.com,1999:blog-10106032.post-6895508957308892311</id><published>2009-12-14T18:21:28.060Z</published><updated>2009-12-14T18:21:28.060Z</updated><title type='text'>Thanks Barry, a great explanation. 

Your point ab...</title><content type='html'>Thanks Barry, a great explanation. &lt;br /&gt;&lt;br /&gt;Your point about potential false &amp;quot;optimisation&amp;quot; by caching objects particularly stuck with me. I also now understand why I witnessed exactly this mis-conception recently concerning Caching Objects vs Creating &amp;quot;fresh&amp;quot; objects triggered by this post about how Twitter has huge problems with their Ruby GC (http://bit.ly/3YLr8u).</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/3435942375719193234/comments/default/6895508957308892311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10106032/3435942375719193234/comments/default/6895508957308892311'/><link rel='alternate' type='text/html' href='http://blog.barrkel.com/2009/12/commonly-confused-tidbits-re-net.html?showComment=1260814888060#c6895508957308892311' title=''/><author><name>Jamie</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.barrkel.com/2009/12/commonly-confused-tidbits-re-net.html' ref='tag:blogger.com,1999:blog-10106032.post-3435942375719193234' source='http://www.blogger.com/feeds/10106032/posts/default/3435942375719193234' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-2018266385'/></entry></feed>
