<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" media="screen" href="/styles/xslt/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:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:c9="http://channel9.msdn.com">
<channel>
	<title>Channel 9 Forums - Coffeehouse - The New vs Evolving the Now</title>
	<atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/Forums/rss"></atom:link>
	<image>
		<url>http://mschnlnine.vo.llnwd.net/d1/Dev/App_Themes/C9/images/feedimage.png</url>
		<title>Channel 9 Forums - Coffeehouse - The New vs Evolving the Now</title>
		<link>http://channel9.msdn.com/Forums</link>
	</image>
	<description>Channel 9 keeps you up to date with the latest news and behind the scenes info from Microsoft that developers love to keep up with. From LINQ to SilverLight – Watch videos and hear about all the cool technologies coming and the people behind them.</description>
	<link>http://channel9.msdn.com/Forums</link>
	<language>en</language>
	<pubDate>Sun, 26 May 2013 04:42:03 GMT</pubDate>
	<lastBuildDate>Sun, 26 May 2013 04:42:03 GMT</lastBuildDate>
	<generator>Rev9</generator>
	<c9:totalResults>20</c9:totalResults>
	<c9:pageCount>-20</c9:pageCount>
	<c9:pageSize>-1</c9:pageSize>
	<item>
		<title>Coffeehouse - The New vs Evolving the Now</title>
		<description><![CDATA[<p>Why not create a new programming model that fundamentally abstracts many-core processors to a level where imperative programming with objects remains dominant in the&nbsp;software developer linqua franca?
</p>
<p>&nbsp;</p>
<p><strong>Hypothesis</strong>: The time it takes for the current set of software development tools (compilers, languages, libraries and runtimes)&nbsp;to evolve to&nbsp;take full advantage of&nbsp;radically new processor architectures&nbsp;(both on the horizon and here now) may
 be on par with the time it takes to reach a broad level of adoption of something new.</p>
<p>&nbsp;</p>
<p>C</p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/525681-The-New-vs-Evolving-the-Now/525681#525681</link>
		<pubDate>Thu, 04 Feb 2010 03:44:58 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/525681-The-New-vs-Evolving-the-Now/525681#525681</guid>
		<dc:creator>Charles</dc:creator>
		<slash:comments>20</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Charles/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - The New vs Evolving the Now</title>
		<description><![CDATA[<p>I think Rx has the potential to revolutionize the solutions to problems that could be streamed, but are not streamed. &nbsp;The data parallel problems seem to be much simpler to solve, if you can come up with lock-free algorithms. STM, well who knows if that
 will ever pan out. &nbsp;</p>
<p>&nbsp;</p>
<p>What is that saying... Stripe, stream or struggle?</p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/525681-The-New-vs-Evolving-the-Now/b203bc0cbf544e6db0119deb00d76ba2#b203bc0cbf544e6db0119deb00d76ba2</link>
		<pubDate>Thu, 04 Feb 2010 04:00:19 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/525681-The-New-vs-Evolving-the-Now/b203bc0cbf544e6db0119deb00d76ba2#b203bc0cbf544e6db0119deb00d76ba2</guid>
		<dc:creator>Joshua Ross</dc:creator>
		<slash:comments>20</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Jsoh/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - The New vs Evolving the Now</title>
		<description><![CDATA[<p>Yeah, but, the problem is syncing the data. That is always the hard part. One way I look at it is, something like between SQL and OO programming. Because SQL takes care of the data locked automatically, and SQL itself is parralle. Not sure, if there is way
 to bring that to OO style.</p>
<p>&nbsp;</p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/525681-The-New-vs-Evolving-the-Now/fa9e0c4ee9db44dc8b8b9deb00d76bcd#fa9e0c4ee9db44dc8b8b9deb00d76bcd</link>
		<pubDate>Thu, 04 Feb 2010 04:16:55 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/525681-The-New-vs-Evolving-the-Now/fa9e0c4ee9db44dc8b8b9deb00d76bcd#fa9e0c4ee9db44dc8b8b9deb00d76bcd</guid>
		<dc:creator>magicalclick</dc:creator>
		<slash:comments>20</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/magicalclick/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - The New vs Evolving the Now</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">magicalclick said:</div><div class="quoteText">
<p>Yeah, but, the problem is syncing the data. That is always the hard part. One way I look at it is, something like between SQL and OO programming. Because SQL takes care of the data locked automatically, and SQL itself is parralle. Not sure, if there is way
 to bring that to OO style.</p>
<p>&nbsp;</p>
</div></blockquote>
<p>I'm not completely convinced that object orientation is the only way forward. &nbsp;Speaking SQL for a moment, if you were to look at tables as types and were able to pass them around like variables, you could enable a class of staticly typed solutions for problems
 that would otherwise require all kinds of dynamic muck or schema&nbsp;diarrhea.&nbsp;</p>
<p>&nbsp;</p>
<p>For linq, I am still trying to wrap my mind around this idea that grouping and aggregation do not need to be coupled. &nbsp;Erik was talking about this in one of his
<a href="http://channel9.msdn.com/shows/Going&#43;Deep/Erik-Meijer-and-Team-Cloud-Data-Programmability-Connecting-the-Distributed-Dots/?CommentID=522679">
posts</a>.</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/525681-The-New-vs-Evolving-the-Now/90512c89984c484abac19deb00d76bfd#90512c89984c484abac19deb00d76bfd</link>
		<pubDate>Thu, 04 Feb 2010 04:32:02 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/525681-The-New-vs-Evolving-the-Now/90512c89984c484abac19deb00d76bfd#90512c89984c484abac19deb00d76bfd</guid>
		<dc:creator>Joshua Ross</dc:creator>
		<slash:comments>20</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Jsoh/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - The New vs Evolving the Now</title>
		<description><![CDATA[<p>I don't understand why there should be the need to learn a new language, in order to continue doing the same thing.</p>
<p>&nbsp;</p>
<p>I vote just change the plumbing for existing languages and run-times... let me continue to say what to do, using&nbsp;my existing knowledge and code base,&nbsp;and let the platform decide how best to do it.</p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/525681-The-New-vs-Evolving-the-Now/83aa40c4c9b94dafa8539deb00d76c28#83aa40c4c9b94dafa8539deb00d76c28</link>
		<pubDate>Thu, 04 Feb 2010 04:49:09 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/525681-The-New-vs-Evolving-the-Now/83aa40c4c9b94dafa8539deb00d76c28#83aa40c4c9b94dafa8539deb00d76c28</guid>
		<dc:creator>Elmer</dc:creator>
		<slash:comments>20</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/elmer/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - The New vs Evolving the Now</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">elmer said:</div><div class="quoteText">
<p>I don't understand why there should be the need to learn a new language, in order to continue doing the same thing.</p>
<p>&nbsp;</p>
<p>I vote just change the plumbing for existing languages and run-times... let me continue to say what to do, using&nbsp;my existing knowledge and code base,&nbsp;and let the platform decide how best to do it.</p>
</div></blockquote>
<p>The same thing is in fact part of problem. What I mean is that in order for plumbing to be effective, the higher level expressive abstraction (like a language) needs to describe what eventually gets plumbed. This is precisely why things like metaprogramming
 (and declarative&nbsp;expression, generally)&nbsp;is the trend. The only reason functional programming has moved into the mainstream mindset, for example, is due to&nbsp;its declarative nature, explicitly controlable side effects, composability, etc, all paramount to building
 reliable concurrent systems that are compositional. Part of me agrees with your vote, but another part can't help but wonder if we don't, in parallel, start from first principles in the &nbsp;(con)current context.</p>
<p><br>
C</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/525681-The-New-vs-Evolving-the-Now/907831f88e0b4cf3991e9deb00d76c57#907831f88e0b4cf3991e9deb00d76c57</link>
		<pubDate>Thu, 04 Feb 2010 05:18:42 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/525681-The-New-vs-Evolving-the-Now/907831f88e0b4cf3991e9deb00d76c57#907831f88e0b4cf3991e9deb00d76c57</guid>
		<dc:creator>Charles</dc:creator>
		<slash:comments>20</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Charles/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - The New vs Evolving the Now</title>
		<description><![CDATA[<p>Where did that come from? Are you talking about auto-parallelization - or else how could you continue with imperative programming? I must say I like LINQ for the compositionality and the way I can uniformly attack every problem I can think of and build up
 small building blocks but the same compositionality is not as easy with &quot;purely imperative&quot; programming - or is it?</p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/525681-The-New-vs-Evolving-the-Now/1f1baf3ee8e84348981f9deb00d76c84#1f1baf3ee8e84348981f9deb00d76c84</link>
		<pubDate>Thu, 04 Feb 2010 08:43:58 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/525681-The-New-vs-Evolving-the-Now/1f1baf3ee8e84348981f9deb00d76c84#1f1baf3ee8e84348981f9deb00d76c84</guid>
		<dc:creator>Bent Rasmussen</dc:creator>
		<slash:comments>20</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/exoteric/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - The New vs Evolving the Now</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">exoteric said:</div><div class="quoteText">
<p>Where did that come from? Are you talking about auto-parallelization - or else how could you continue with imperative programming? I must say I like LINQ for the compositionality and the way I can uniformly attack every problem I can think of and build up
 small building blocks but the same compositionality is not as easy with &quot;purely imperative&quot; programming - or is it?</p>
</div></blockquote>
<p><strong>Are you talking about auto-parallelization</strong></p>
<p>&nbsp;</p>
<p>Yes. I really don't want to know or have to care about what I can/can't do on a particular platform.</p>
<p>&nbsp;</p>
<p>The complier should be able to work out what is possible, and the runtime/opsys should provide the required services to&nbsp;make the best possible use of the hardware. Certainly, it should be able to do it a lot more accurately and reliably than I could.</p>
<p>&nbsp;</p>
<p>e.g. If I want to run a FOR loop, I just want it to go as fast as the platform will allow, and it should be the job of the compiler and underlying runtime/os to decide how best to implement/run it.</p>
<p>&nbsp;</p>
<p>Of course, all of that is much easier said than done, and it might not be possible to get ultimate performace, but asking the application programmer to make decisions on when to&nbsp;implement&nbsp;parallel code, is just not going to work for 99% of programmers.</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/525681-The-New-vs-Evolving-the-Now/3d34d99e30d74c509df39deb00d76cb3#3d34d99e30d74c509df39deb00d76cb3</link>
		<pubDate>Thu, 04 Feb 2010 09:58:36 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/525681-The-New-vs-Evolving-the-Now/3d34d99e30d74c509df39deb00d76cb3#3d34d99e30d74c509df39deb00d76cb3</guid>
		<dc:creator>Elmer</dc:creator>
		<slash:comments>20</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/elmer/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - The New vs Evolving the Now</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">elmer said:</div><div class="quoteText">
<blockquote>
<div class="quoteUser">exoteric said:</div>
<div class="quoteText">*snip*</div>
</blockquote>
<p><strong>Are you talking about auto-parallelization</strong></p>
<p>&nbsp;</p>
<p>Yes. I really don't want to know or have to care about what I can/can't do on a particular platform.</p>
<p>&nbsp;</p>
<p>The complier should be able to work out what is possible, and the runtime/opsys should provide the required services to&nbsp;make the best possible use of the hardware. Certainly, it should be able to do it a lot more accurately and reliably than I could.</p>
<p>&nbsp;</p>
<p>e.g. If I want to run a FOR loop, I just want it to go as fast as the platform will allow, and it should be the job of the compiler and underlying runtime/os to decide how best to implement/run it.</p>
<p>&nbsp;</p>
<p>Of course, all of that is much easier said than done, and it might not be possible to get ultimate performace, but asking the application programmer to make decisions on when to&nbsp;implement&nbsp;parallel code, is just not going to work for 99% of programmers.</p>
</div></blockquote>
<p>Much easier said than done, yes. A single for loop does not an application make.</p>
<p>&nbsp;</p>
<p>I was asking Charles though.</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/525681-The-New-vs-Evolving-the-Now/5c83a94aa0d54434a1749deb00d76ce3#5c83a94aa0d54434a1749deb00d76ce3</link>
		<pubDate>Thu, 04 Feb 2010 11:48:29 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/525681-The-New-vs-Evolving-the-Now/5c83a94aa0d54434a1749deb00d76ce3#5c83a94aa0d54434a1749deb00d76ce3</guid>
		<dc:creator>Bent Rasmussen</dc:creator>
		<slash:comments>20</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/exoteric/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - The New vs Evolving the Now</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">Charles said:</div><div class="quoteText">
<blockquote>
<div class="quoteUser">elmer said:</div>
<div class="quoteText">*snip*</div>
</blockquote>
<p>The same thing is in fact part of problem. What I mean is that in order for plumbing to be effective, the higher level expressive abstraction (like a language) needs to describe what eventually gets plumbed. This is precisely why things like metaprogramming
 (and declarative&nbsp;expression, generally)&nbsp;is the trend. The only reason functional programming has moved into the mainstream mindset, for example, is due to&nbsp;its declarative nature, explicitly controlable side effects, composability, etc, all paramount to building
 reliable concurrent systems that are compositional. Part of me agrees with your vote, but another part can't help but wonder if we don't, in parallel, start from first principles in the &nbsp;(con)current context.</p>
<p><br>
C</p>
</div></blockquote>
<p>More and more these day I like the ideas of Languages such as Erlang and Axum, and find my self trying to use some of their ideas in my everyday work.</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/525681-The-New-vs-Evolving-the-Now/25cfe82ba51541f19f1c9deb00d76d12#25cfe82ba51541f19f1c9deb00d76d12</link>
		<pubDate>Thu, 04 Feb 2010 14:06:13 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/525681-The-New-vs-Evolving-the-Now/25cfe82ba51541f19f1c9deb00d76d12#25cfe82ba51541f19f1c9deb00d76d12</guid>
		<dc:creator>PerfectPhase</dc:creator>
		<slash:comments>20</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/PerfectPhase/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - The New vs Evolving the Now</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">exoteric said:</div><div class="quoteText">
<blockquote>
<div class="quoteUser">elmer said:</div>
<div class="quoteText">*snip*</div>
</blockquote>
<p>Much easier said than done, yes. A single for loop does not an application make.</p>
<p>&nbsp;</p>
<p>I was asking Charles though.</p>
</div></blockquote>
<p>I'm just trying to have a conversation around developing new (revolutionary versus evolutionary)&nbsp;methodologies versus modifying old ones to exploit the advancements in hardware in the most effective manner as possible. Auto-parallelization at the machine
 level is pretty much science fiction without explicit support at the expressive level way up the abstraction stack.... Or is it?
</p>
<p>&nbsp;</p>
<p>Of course, throwing everything out&nbsp;that's been invested in for so long is unrealistic, but this is why theory is fun <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' />
</p>
<p><br>
C</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/525681-The-New-vs-Evolving-the-Now/8276174b6ce84a73acf09deb00d76d42#8276174b6ce84a73acf09deb00d76d42</link>
		<pubDate>Thu, 04 Feb 2010 15:47:09 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/525681-The-New-vs-Evolving-the-Now/8276174b6ce84a73acf09deb00d76d42#8276174b6ce84a73acf09deb00d76d42</guid>
		<dc:creator>Charles</dc:creator>
		<slash:comments>20</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Charles/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - The New vs Evolving the Now</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">Charles said:</div><div class="quoteText">
<blockquote>
<div class="quoteUser">exoteric said:</div>
<div class="quoteText">*snip*</div>
</blockquote>
<p>I'm just trying to have a conversation around developing new (revolutionary versus evolutionary)&nbsp;methodologies versus modifying old ones to exploit the advancements in hardware in the most effective manner as possible. Auto-parallelization at the machine
 level is pretty much science fiction without explicit support at the expressive level way up the abstraction stack.... Or is it?
</p>
<p>&nbsp;</p>
<p>Of course, throwing everything out&nbsp;that's been invested in for so long is unrealistic, but this is why theory is fun
<img src="http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif" alt="Smiley">
</p>
<p><br>
C</p>
</div></blockquote>
<p><strong>Auto-parallelization at the machine level is pretty much science fiction without explicit support at the expressive level way up the abstraction stack.... Or is it?</strong></p>
<p>&nbsp;</p>
<p>Yep, it’s not an easy problem to solve, and people have been working on it for a long time... a google search of ‘automatic code parallelization’ will turn up a long list of stuff on it... including some interesting research papers.</p>
<p>&nbsp;</p>
<p>In essence, the problem&nbsp;seems to be&nbsp;that it requires some level of “comprehension” by the compiler, understanding what you are trying to do, rather than simple structure analysis.</p>
<p>&nbsp;</p>
<p>All way over my head... I&nbsp;just&nbsp;*KNOW* that I could not hand-write parallel code, even if my life depended on it. <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-4.gif' alt='Tongue Out' />
</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/525681-The-New-vs-Evolving-the-Now/91498ab1b9f44d07a2509deb00d76d71#91498ab1b9f44d07a2509deb00d76d71</link>
		<pubDate>Fri, 05 Feb 2010 02:22:10 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/525681-The-New-vs-Evolving-the-Now/91498ab1b9f44d07a2509deb00d76d71#91498ab1b9f44d07a2509deb00d76d71</guid>
		<dc:creator>Elmer</dc:creator>
		<slash:comments>20</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/elmer/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - The New vs Evolving the Now</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">elmer said:</div><div class="quoteText">
<blockquote>
<div class="quoteUser">Charles said:</div>
<div class="quoteText">*snip*</div>
</blockquote>
<p><strong>Auto-parallelization at the machine level is pretty much science fiction without explicit support at the expressive level way up the abstraction stack.... Or is it?</strong></p>
<p>&nbsp;</p>
<p>Yep, it’s not an easy problem to solve, and people have been working on it for a long time... a google search of ‘automatic code parallelization’ will turn up a long list of stuff on it... including some interesting research papers.</p>
<p>&nbsp;</p>
<p>In essence, the problem&nbsp;seems to be&nbsp;that it requires some level of “comprehension” by the compiler, understanding what you are trying to do, rather than simple structure analysis.</p>
<p>&nbsp;</p>
<p>All way over my head... I&nbsp;just&nbsp;*KNOW* that I could not hand-write parallel code, even if my life depended on it.
<img src="http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-4.gif" alt="Tongue Out">
</p>
</div></blockquote>
<p>Not over your head at all. I've already stated the problem you mention: <em>in order for plumbing to be effective, the higher level expressive abstraction (like a language) needs to describe what eventually gets plumbed</em>. New programming abstractions
 designed to express solutions to general purpose problems in the many core domain will go a long way in speeding up innovation in the software that instructs the eventual machine instructions.</p>
<p>&nbsp;</p>
<p>Where's Hal when you need him?</p>
<p>&nbsp;</p>
<p>C</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/525681-The-New-vs-Evolving-the-Now/2ec19eb4893f4fa6b2669deb00d76dfc#2ec19eb4893f4fa6b2669deb00d76dfc</link>
		<pubDate>Fri, 05 Feb 2010 02:43:28 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/525681-The-New-vs-Evolving-the-Now/2ec19eb4893f4fa6b2669deb00d76dfc#2ec19eb4893f4fa6b2669deb00d76dfc</guid>
		<dc:creator>Charles</dc:creator>
		<slash:comments>20</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Charles/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - The New vs Evolving the Now</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">Charles said:</div><div class="quoteText">
<blockquote>
<div class="quoteUser">elmer said:</div>
<div class="quoteText">*snip*</div>
</blockquote>
<p>Not over your head at all. I've already stated the problem you mention: <em>in order for plumbing to be effective, the higher level expressive abstraction (like a language) needs to describe what eventually gets plumbed</em>. New programming abstractions
 designed to express solutions to general purpose problems in the many core domain will go a long way in speeding up innovation in the software that instructs the eventual machine instructions.</p>
<p>&nbsp;</p>
<p>Where's Hal when you need him?</p>
<p>&nbsp;</p>
<p>C</p>
</div></blockquote>
<p>There are many parrallel based language out there. Usually they have some kind of internal messaging system for parralel sync. I still think it is best to go for the route of OO methodology. The main reason OO is so much more &quot;useful&quot; is because it is easier
 to debug, easier to predict the result, and very &quot;expressive&quot;.</p>
<p>&nbsp;</p>
<p>Most of the language that failed are because they are hard to use for the most part. SQL survived because it is actually easy comepare to the rest of sementic DB languages. But, even that, people is moving DB to OO because OO is just that much easier to
 deal with (especially on high performance tasks).</p>
<p>&nbsp;</p>
<p>&nbsp;</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/525681-The-New-vs-Evolving-the-Now/43c67a1a9d02476680d49deb00d76e2b#43c67a1a9d02476680d49deb00d76e2b</link>
		<pubDate>Fri, 05 Feb 2010 03:40:26 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/525681-The-New-vs-Evolving-the-Now/43c67a1a9d02476680d49deb00d76e2b#43c67a1a9d02476680d49deb00d76e2b</guid>
		<dc:creator>magicalclick</dc:creator>
		<slash:comments>20</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/magicalclick/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - The New vs Evolving the Now</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">Charles said:</div><div class="quoteText">
<blockquote>
<div class="quoteUser">exoteric said:</div>
<div class="quoteText">*snip*</div>
</blockquote>
<p>I'm just trying to have a conversation around developing new (revolutionary versus evolutionary)&nbsp;methodologies versus modifying old ones to exploit the advancements in hardware in the most effective manner as possible. Auto-parallelization at the machine
 level is pretty much science fiction without explicit support at the expressive level way up the abstraction stack.... Or is it?
</p>
<p>&nbsp;</p>
<p>Of course, throwing everything out&nbsp;that's been invested in for so long is unrealistic, but this is why theory is fun
<img src="http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif" alt="Smiley">
</p>
<p><br>
C</p>
</div></blockquote>
<p>There is simply some practical problems that can not be parallelied effectively, if algorithms depend on intermediate data you are SOL until that intermediate data is computed. It's not science fiction it's logicial impossibility. This whole parallel affliction
 is one of the worst things to ever happen to the software industry. I don't think it's something that most software developers should have to worry about.</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/525681-The-New-vs-Evolving-the-Now/80580a4a09994c33bd5c9deb00d76e58#80580a4a09994c33bd5c9deb00d76e58</link>
		<pubDate>Fri, 05 Feb 2010 04:11:59 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/525681-The-New-vs-Evolving-the-Now/80580a4a09994c33bd5c9deb00d76e58#80580a4a09994c33bd5c9deb00d76e58</guid>
		<dc:creator>Bass</dc:creator>
		<slash:comments>20</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Bass/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - The New vs Evolving the Now</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">Bass said:</div><div class="quoteText">
<blockquote>
<div class="quoteUser">Charles said:</div>
<div class="quoteText">*snip*</div>
</blockquote>
<p>There is simply some practical problems that can not be parallelied effectively, if algorithms depend on intermediate data you are SOL until that intermediate data is computed. It's not science fiction it's logicial impossibility. This whole parallel affliction
 is one of the worst things to ever happen to the software industry. I don't think it's something that most software developers should have to worry about.</p>
</div></blockquote>
<p>So use different algorithms. &nbsp; <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-4.gif' alt='Tongue Out' /> </p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/525681-The-New-vs-Evolving-the-Now/69d4064e64ad401691029deb00d76e84#69d4064e64ad401691029deb00d76e84</link>
		<pubDate>Fri, 05 Feb 2010 05:47:17 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/525681-The-New-vs-Evolving-the-Now/69d4064e64ad401691029deb00d76e84#69d4064e64ad401691029deb00d76e84</guid>
		<dc:creator>contextfree</dc:creator>
		<slash:comments>20</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/contextfree/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - The New vs Evolving the Now</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">Bass said:</div><div class="quoteText">
<blockquote>
<div class="quoteUser">Charles said:</div>
<div class="quoteText">*snip*</div>
</blockquote>
<p>There is simply some practical problems that can not be parallelied effectively, if algorithms depend on intermediate data you are SOL until that intermediate data is computed. It's not science fiction it's logicial impossibility. This whole parallel affliction
 is one of the worst things to ever happen to the software industry. I don't think it's something that most software developers should have to worry about.</p>
</div></blockquote>
<p>Unfortunately this&nbsp;&quot;affliction&quot; is caused by the laws of physics that prevent us from linearly scaling up the speed of CPUs. So unless someone can come up with a completely different way to make CPUs that doesn't have this issue, we're stuck with it.</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/525681-The-New-vs-Evolving-the-Now/e06f7d02ec7d41069ece9deb00d76eb1#e06f7d02ec7d41069ece9deb00d76eb1</link>
		<pubDate>Fri, 05 Feb 2010 05:52:11 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/525681-The-New-vs-Evolving-the-Now/e06f7d02ec7d41069ece9deb00d76eb1#e06f7d02ec7d41069ece9deb00d76eb1</guid>
		<dc:creator>Sven Groot</dc:creator>
		<slash:comments>20</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Sven Groot/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - The New vs Evolving the Now</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">Bass said:</div><div class="quoteText">
<blockquote>
<div class="quoteUser">Charles said:</div>
<div class="quoteText">*snip*</div>
</blockquote>
<p>There is simply some practical problems that can not be parallelied effectively, if algorithms depend on intermediate data you are SOL until that intermediate data is computed. It's not science fiction it's logicial impossibility. This whole parallel affliction
 is one of the worst things to ever happen to the software industry. I don't think it's something that most software developers should have to worry about.</p>
</div></blockquote>
<p>Sometimes that is true, others it is only true because we are attempting to do the absolute minimum amount of work possible to solve a problem. I suspect that as CPU cores become more numerous, you'll start to see much wider use of algorithms and languages
 that rely on attempting multiple possible solutions simultaneously and discarding the results of those that turn out to be unnecessary.</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/525681-The-New-vs-Evolving-the-Now/079791e57b1f4c2598279deb00d76ede#079791e57b1f4c2598279deb00d76ede</link>
		<pubDate>Fri, 05 Feb 2010 09:37:29 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/525681-The-New-vs-Evolving-the-Now/079791e57b1f4c2598279deb00d76ede#079791e57b1f4c2598279deb00d76ede</guid>
		<dc:creator>AndyC</dc:creator>
		<slash:comments>20</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/AndyC/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - The New vs Evolving the Now</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">Charles said:</div><div class="quoteText">
<blockquote>
<div class="quoteUser">exoteric said:</div>
<div class="quoteText">*snip*</div>
</blockquote>
<p>I'm just trying to have a conversation around developing new (revolutionary versus evolutionary)&nbsp;methodologies versus modifying old ones to exploit the advancements in hardware in the most effective manner as possible. Auto-parallelization at the machine
 level is pretty much science fiction without explicit support at the expressive level way up the abstraction stack.... Or is it?
</p>
<p>&nbsp;</p>
<p>Of course, throwing everything out&nbsp;that's been invested in for so long is unrealistic, but this is why theory is fun
<img src="http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif" alt="Smiley">
</p>
<p><br>
C</p>
</div></blockquote>
<p>It is indeed an interesting topic.</p>
<p>&nbsp;</p>
<p>Let me express what annoys me more than anything, which is this</p>
<p>&nbsp;</p>
<p><em>There is not a single platform for software development; .Net did not kill off native code dispite its all-inclusive mantra, Microsoft itself still creates a lot of native software for maximum performance; maybe this picture will change a little as the
 per-machine processor count increases</em></p>
<p>&nbsp;</p>
<p>This in term means that</p>
<p>&nbsp;</p>
<p><em>Everything is created &nbsp;twice - native and .Net. The latest example is Rx (which is even triply created; Javascript as well; - cool as that is).</em></p>
<p>&nbsp;</p>
<p>C# and F# are awesome but</p>
<p>&nbsp;</p>
<p><em>Is the &quot;object-functional integration&quot; good enough and does IL have the right abstractions?</em></p>
<p>&nbsp;</p>
<p>Also, given a superbly expressive language like Scala</p>
<p>&nbsp;</p>
<p><em>Wouldn't it be nice to be able to express a whole operating system using extremely modular, fine-grained and clean semantics (assuming better than C/C&#43;&#43;) And is the Singularity/Sing# experiment the future for Microsoft?</em></p>
<p>&nbsp;</p>
<p>This also ties into the parallelism and concurrency problem in that</p>
<p>&nbsp;</p>
<p><em>It is preferable to be able to express as much code using a high level of abstraction, thereby pushing abstractions closer to the metal, to have as much code as possible yield the benefits of those abstractions and to maximize integration (IL &#43; P/Invoke
 vs C# &#43; F#?)</em></p>
<p>&nbsp;</p>
<p>Some quick thoughts from a random developer...</p>
<p>&nbsp;</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/525681-The-New-vs-Evolving-the-Now/75bbc0b6f6854fc6b9d99deb00d76f10#75bbc0b6f6854fc6b9d99deb00d76f10</link>
		<pubDate>Sat, 06 Feb 2010 23:51:08 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/525681-The-New-vs-Evolving-the-Now/75bbc0b6f6854fc6b9d99deb00d76f10#75bbc0b6f6854fc6b9d99deb00d76f10</guid>
		<dc:creator>Bent Rasmussen</dc:creator>
		<slash:comments>20</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/exoteric/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - The New vs Evolving the Now</title>
		<description><![CDATA[<p>1) I'd like to state exactly WHY functional programming is far easier parallelized, it's not because of immutability per-se, and immutability helps, but something slightly more subtle. &nbsp;C&#43;&#43; and other compilable languages get assembled into assembly instructions,
 that linear form is actually the problem. The instructions depend on instructions above other than the branch/jumps to find the final momentary code execution path. &nbsp;Functional languages on the other hand use LAMBDAS, which are self-contained packages of instructions
 which are independent of other lambdas. &nbsp;The ability for one lambda/anonymous function to not rely on the others in the program other than possible data dependency's is why you can run a lambda function independent of the processor. Thus a lambda function's
 instructions are at a coarse enough grain that they aren't tied together by a built-in per-CPU hardware program counter.</p>
<p>&nbsp;</p>
<p>2) The other thing I've not understood is WHY today we are limited to a single main function!!! &nbsp;To me, if code entry execution point and exit points could be refrenced or indexed like a fucntion table at the beginning of the file, the binary could/should
 be able to run different functions at the same time, instead of the one large main which must start at one point in code/binary and end at specified exit/exception points. This is an alternate way in my head I've been wondering could be a different approach
 to the &quot;thread&quot;.</p>
<p>&nbsp;</p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/525681-The-New-vs-Evolving-the-Now/72eb92b75f854e6daa189deb00d76f78#72eb92b75f854e6daa189deb00d76f78</link>
		<pubDate>Fri, 12 Feb 2010 22:24:30 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/525681-The-New-vs-Evolving-the-Now/72eb92b75f854e6daa189deb00d76f78#72eb92b75f854e6daa189deb00d76f78</guid>
		<dc:creator>Eric Aguiar</dc:creator>
		<slash:comments>20</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/HeavensRevenge/Discussions/RSS</wfw:commentRss>
	</item>
</channel>
</rss>