<?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-6800934446457898793.post2526254300533310360..comments</id><updated>2007-11-26T21:10:27.740-05:00</updated><category term='trueskill'/><category term='aes'/><title type='text'>Comments on Moserware: Attack of the mutations, or why do we accept crazy...</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.moserware.com/feeds/2526254300533310360/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800934446457898793/2526254300533310360/comments/default'/><link rel='alternate' type='text/html' href='http://www.moserware.com/2007/11/attack-of-mutations-or-why-we-do-we.html'/><author><name>Jeff Moser</name><uri>http://www.blogger.com/profile/16074905903060665396</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='24' height='32' src='http://1.bp.blogspot.com/_Zfbv3mHcYrc/SLDM--5fn8I/AAAAAAAAA1w/EZtLwWvYhdI/S220/facebook+beard2.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>2</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6800934446457898793.post-7763953186180069592</id><published>2007-11-26T21:10:00.000-05:00</published><updated>2007-11-26T21:10:00.000-05:00</updated><title type='text'>Thanks for the comment! You take the prize for the...</title><content type='html'>Thanks for the comment! You take the prize for the first comment on the blog. I really appreciate it.&lt;BR/&gt;&lt;BR/&gt;In theory, you might be able to make a immutable version of C++, but it would be really &lt;I&gt;really&lt;/I&gt; hard with pointers. The CLR is very delicate with respect to pointers. There is the concept of "pinning" data which basically tells the GC not to move the memory around. In addition, there is a clear separation of "safe" and "unsafe" operations.&lt;BR/&gt;&lt;BR/&gt;Ultimately though, I think &lt;A HREF="http://en.wikipedia.org/wiki/Bjarne_Stroustrup" REL="nofollow"&gt;Bjarne&lt;/A&gt; made the fundamental decision to choose speed/performance/low to the metal over almost everything else and the language reflects that. &lt;BR/&gt;&lt;BR/&gt;C++ is a classical "bottoms-up" approach to language. The thing that gets me pumped about F# is that it starts from the mathematical perspective and works its way down (top-down). However, there is a ton of compiler magic that will make the most symbolic (math-ish/immutable state) code that will almost tie hand-optimized C++ code). Furthermore, if you take into account advantages in cache-locality that a generational garbage collector can give, the CLR based code might even beat the native code.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800934446457898793/2526254300533310360/comments/default/7763953186180069592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800934446457898793/2526254300533310360/comments/default/7763953186180069592'/><link rel='alternate' type='text/html' href='http://www.moserware.com/2007/11/attack-of-mutations-or-why-we-do-we.html?showComment=1196129400000#c7763953186180069592' title=''/><author><name>Jeff Moser</name><uri>http://www.blogger.com/profile/16074905903060665396</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://www.moserware.com/2007/11/attack-of-mutations-or-why-we-do-we.html' ref='tag:blogger.com,1999:blog-6800934446457898793.post-2526254300533310360' source='http://www.blogger.com/feeds/6800934446457898793/posts/default/2526254300533310360' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-252333216'/></entry><entry><id>tag:blogger.com,1999:blog-6800934446457898793.post-4289058272001706241</id><published>2007-11-26T19:50:00.000-05:00</published><updated>2007-11-26T19:50:00.000-05:00</updated><title type='text'>I really enjoyed and was influenced by your amazin...</title><content type='html'>I really enjoyed and was influenced by your amazingly creative and lucid discussion.  Are mutable variables just an optimization?  It would seem so, they carry the same problems as most other optimizations - problems with state.  This discussion makes me think more about C++.  When you code in C++ you feel like you need to follow idioms that optimize for performance.  Do we need reference counted memory management?  Can we create a bunch of immutable copies instead of sharing via references?  &lt;BR/&gt;Do I need smart pointers?  Why do I need to manage raw pointers in the first place?  Is part of this art the rolling back of optimizations as technology advances?</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800934446457898793/2526254300533310360/comments/default/4289058272001706241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800934446457898793/2526254300533310360/comments/default/4289058272001706241'/><link rel='alternate' type='text/html' href='http://www.moserware.com/2007/11/attack-of-mutations-or-why-we-do-we.html?showComment=1196124600000#c4289058272001706241' title=''/><author><name>Mike Petry</name><uri>http://www.blogger.com/profile/00900707625184132791</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://www.moserware.com/2007/11/attack-of-mutations-or-why-we-do-we.html' ref='tag:blogger.com,1999:blog-6800934446457898793.post-2526254300533310360' source='http://www.blogger.com/feeds/6800934446457898793/posts/default/2526254300533310360' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-894030316'/></entry></feed>
