<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www.pluralsight.com/community/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>Sutter's (Online) Mill</title><link>http://www.pluralsight.com/community/blogs/hsutter/default.aspx</link><description>Concurrency, C++, and .NET, oh my!</description><dc:language>en</dc:language><generator>CommunityServer 2008 (Build: 30417.1769)</generator><item><title>This blog has moved to Live Spaces --&amp;gt; herbsutter.spaces.live.com</title><link>http://www.pluralsight.com/community/blogs/hsutter/archive/2006/12/29/45503.aspx</link><pubDate>Fri, 29 Dec 2006 22:55:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:45503</guid><dc:creator>herb-sutter</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.pluralsight.com/community/blogs/hsutter/rsscomments.aspx?PostID=45503</wfw:commentRss><comments>http://www.pluralsight.com/community/blogs/hsutter/archive/2006/12/29/45503.aspx#comments</comments><description>&lt;P&gt;It's time for me to take the plunge: Microsoft seems to have a reasonable blog hosting facility now at &lt;A href="http://spaces.live.com"&gt;Live Spaces&lt;/A&gt;, so I'm going to take the plunge and move over to &lt;A href="http://herbsutter.spaces.live.com"&gt;my new Live Spaces blog&lt;/A&gt;&amp;nbsp;(&lt;A href="http://herbsutter.spaces.live.com"&gt;http://herbsutter.spaces.live.com&lt;/A&gt;). You'll find two posts there already, one an Op/Ed piece about the &lt;A href="http://herbsutter.spaces.live.com/?_c11_BlogPart_blogpart=blogview&amp;amp;_c=BlogPart&amp;amp;partqs=cat%3dOpinion%2b%2526%2bEditorial"&gt;free laptop controversy&lt;/A&gt;, and another announcing &lt;A href="http://herbsutter.spaces.live.com/?_c11_blogpart_blogpart=blogview&amp;amp;_c=blogpart&amp;amp;partqs=cat%3dTalks%2b%2526%2bEvents"&gt;Stroustrup &amp;amp; Sutter #3 this March&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Moving is always a tough decision. I've really enjoyed being hosted here at Pluralsight, and I want to thank the Pluralsight folks very much for providing a space for my blog over the past few years. It's been a blast, and they're a great bunch!&lt;/P&gt;
&lt;P&gt;See you at Spaces, and best wishes to you and yours.&lt;/P&gt;
&lt;P&gt;Herb&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Updated (and new) September talks</title><link>http://www.pluralsight.com/community/blogs/hsutter/archive/2006/08/30/36710.aspx</link><pubDate>Wed, 30 Aug 2006 19:32:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:36710</guid><dc:creator>herb-sutter</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.pluralsight.com/community/blogs/hsutter/rsscomments.aspx?PostID=36710</wfw:commentRss><comments>http://www.pluralsight.com/community/blogs/hsutter/archive/2006/08/30/36710.aspx#comments</comments><description>&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Two quick updates today: The talk I'm giving in the Seattle area has been moved by one week to September 13 (not 20 as previously posted).
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;The Concur Project: Some Experimental Concurrency Abstractions for Imperative Languages&lt;br&gt;&lt;/b&gt;September 13, 2006&lt;br&gt;&lt;a href="http://www.nwcpp.org/Meetings/2006/09.html"&gt;&lt;b&gt;Northwest C++ Users Group&lt;/b&gt;&lt;/a&gt;, Redmond, Washington, USA&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Intel has graciously invited me to speak on concurrency amid a&amp;nbsp;&lt;a href="http://irbseminars.intel-research.net/"&gt;gaggle of luminaries&lt;/a&gt;&amp;nbsp;in their fall seminar series.&amp;nbsp;The talk coordinates are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Software and the Concurrency Revolution&lt;br&gt;&lt;/b&gt;September 25, 2006&lt;br&gt;&lt;b&gt;&lt;a href="http://www.intel-research.net/berkeley/ViewSeminarAbstract.asp?index=601"&gt;Intel Research Programming Systems Seminar Series&lt;/a&gt;&lt;/b&gt;, Berkeley, California, USA&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;I look forward to seeing some of you at these events. If you're in town, feel free to drop by!&lt;/p&gt;
&lt;p&gt;Best wishes,&lt;/p&gt;
&lt;p&gt;Herb&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Guest ed online: It's (Not) All Been Done</title><link>http://www.pluralsight.com/community/blogs/hsutter/archive/2006/08/07/32840.aspx</link><pubDate>Mon, 07 Aug 2006 19:18:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:32840</guid><dc:creator>herb-sutter</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.pluralsight.com/community/blogs/hsutter/rsscomments.aspx?PostID=32840</wfw:commentRss><comments>http://www.pluralsight.com/community/blogs/hsutter/archive/2006/08/07/32840.aspx#comments</comments><description>&lt;p&gt;I see DDJ has now posted my &lt;a href="http://ddj.com/dept/architect/191800187"&gt;guest editorial "It's (Not) All Been Done"&lt;/a&gt; that I blogged about last month.&lt;/p&gt;

&lt;p&gt;Because they have hard one-page limits on the length of the editorial in the print mag, about 25% got omitted to make it fit. So I've posted &lt;a href="http://www.gotw.ca/publications/guest-ed-200609.htm"&gt;the complete unabridged text&lt;/a&gt; on my site as well. Some of you might find it interesting to see how versions of a piece can get refitted in the production process.&lt;/p&gt;

&lt;p&gt;[humor]I suppose some people of (sniff) questionable taste and habits might even decide that the editors were right to remove the extra flab.[/humor] Seriously, it's possible I should have cut the extra anyway; authors tend to be lousy editors because we too easily fall in love with our own words. But I think it works, so I thought I'd make the slightly longer version available so you can judge for yourself.&lt;/p&gt;

&lt;p&gt;Enjoy,&lt;/p&gt;

&lt;p&gt;Herb&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>New article, upcoming talks</title><link>http://www.pluralsight.com/community/blogs/hsutter/archive/2006/07/12/31776.aspx</link><pubDate>Wed, 12 Jul 2006 14:50:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:31776</guid><dc:creator>herb-sutter</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.pluralsight.com/community/blogs/hsutter/rsscomments.aspx?PostID=31776</wfw:commentRss><comments>http://www.pluralsight.com/community/blogs/hsutter/archive/2006/07/12/31776.aspx#comments</comments><description>A quick update: My &lt;a href="www.gotw.ca"&gt;home page&lt;/a&gt; is now updated with a list of upcoming articles and talks. In particular:

&lt;ul&gt;
&lt;li&gt;
    &lt;b&gt;Keynote: Software and the Concurrency Revolution&lt;br&gt;
      &lt;/b&gt;&lt;font color="#000099"&gt;August 14, 2006&lt;br&gt;
      &lt;/font&gt;&lt;font color="#0000FF"&gt;&lt;a href="http://tima.imag.fr/mpsoc/"&gt;&lt;b&gt;
	&lt;font color="#0000FF"&gt;MPSoC '06: 6th International Forum on 
	Application-Specific Multi-Processor SoC&lt;/font&gt;&lt;/b&gt;&lt;/a&gt;&lt;/font&gt;&lt;a href="http://tima.imag.fr/mpsoc/"&gt;&lt;font color="#0000FF"&gt;&lt;b&gt; 
	[System on a Chip]&lt;/b&gt;&lt;/font&gt;&lt;/a&gt;&lt;font color="#000099"&gt;, 
	Estes Park, Colorado, USA&lt;/font&gt;
&lt;/li&gt;
&lt;li&gt;
    &lt;b&gt;The Concur Project: Some Experimental Concurrency Abstractions for Imperative 
	Languages&lt;br&gt;
      &lt;/b&gt;&lt;font color="#000099"&gt;September 20, 2006&lt;br&gt;
      &lt;/font&gt;&lt;a href="http://www.nwcpp.org/Meetings/2006/09.html"&gt;
	&lt;font color="#0000FF"&gt;&lt;b&gt;Northwest 
    C++ Users Group&lt;/b&gt;&lt;/font&gt;&lt;/a&gt;&lt;font color="#000099"&gt;, Bellevue, Washington, USA&lt;/font&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;b&gt;Guest Editorial: It's (Not) All Been Done&lt;/b&gt;,&lt;br&gt;
      &lt;font color="#000080"&gt;
      &lt;i&gt;Dr. Dobb's Journal&lt;/i&gt;, 31(9), September 2006.&lt;/font&gt;&lt;br&gt;
				This is a wonderful time to be a software 
				engineer because it's a new world again: For the first time in 
				the history of computing, mainstream computers are not von 
				Neumann machines and never will be again—they are parallel. We 
				have largely succeeded with the quest to put a computer in every 
				home and purse; now we're effectively going to put a Cray into 
				every den and pocket. That makes this is a time of enormous 
				opportunity, as usual along with a great deal of work, as our 
				industry now undertakes to do for parallel programming what we 
				have already done for generic types, objects, and garbage 
				collection.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Current and upcoming talks</title><link>http://www.pluralsight.com/community/blogs/hsutter/archive/2006/06/26/29117.aspx</link><pubDate>Mon, 26 Jun 2006 13:36:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:29117</guid><dc:creator>herb-sutter</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.pluralsight.com/community/blogs/hsutter/rsscomments.aspx?PostID=29117</wfw:commentRss><comments>http://www.pluralsight.com/community/blogs/hsutter/archive/2006/06/26/29117.aspx#comments</comments><description>As I write this I'm sitting in Vail, Colorado, at the IEEE Computer Elements Workshop. It's a room full of top-notch processor designers -- if you've heard of a piece of hardware, from AS/400 to Xenon, likely one of its designers is here in the room.

Later today I'll give a talk on the effect on software of all this parallel hardware coming at us over the next few years, as one of the (or just "the"?) lone software person in the room. Like the talk I gave at InStat (another hardware/processor conference) last fall, it's nice to see the hardware conferences inviting people from software to talk about the effects these hardware trends are having on how we have to write our code. After all, these guys are making some way-cool new chips, all right, and those chips will be even cooler if they're actually programmable!

Later this summer (August), I'll also be giving a talk like this at another parallel hardware conference (also in Colorado, as it happens), this one dedicated to "Multiprocessor System-on-a-Chip," aka MPSoC '06. See http://www.gotw.ca/ for the links. Enjoy!

Herb

&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Highlights of the April 2006 ISO C++ meeting</title><link>http://www.pluralsight.com/community/blogs/hsutter/archive/2006/05/03/22936.aspx</link><pubDate>Thu, 04 May 2006 01:19:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:22936</guid><dc:creator>herb-sutter</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.pluralsight.com/community/blogs/hsutter/rsscomments.aspx?PostID=22936</wfw:commentRss><comments>http://www.pluralsight.com/community/blogs/hsutter/archive/2006/05/03/22936.aspx#comments</comments><description>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;The ISO C++ committee met in Berlin from April 2-7, 2006. I thought I'd write a quick note about highlights of what was decided for C++0x:&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;strong&gt;How to get meeting minutes&lt;/strong&gt;&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;First, how to find out for yourself: The minutes of each meeting are usually available online about 2-3 weeks after the meeting. The easiest way to find WG21 minutes for a given meeting/year is to Google for "wg21 &amp;lt;year&amp;gt; minutes," in this case "wg21 2006 minutes." One of the first results is:&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;  Minutes of J16 Meeting No. 42/WG21 Meeting No. 37, April 3-7, 2006&lt;br/&gt;  &lt;a href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2006/n1993.html"&gt;http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2006/n1993.html&lt;/a&gt;&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div align="left" xmlns="http://www.w3.org/1999/xhtml"&gt;BTW, in general, the easiest way to find any WG21 doc is to Google for "wg21 &amp;lt;doc number&amp;gt;". That's what I always do, because it's quicker than navigating my own hard drive even though I know where the doc is.&lt;/div&gt;
&lt;div align="left" xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;strong&gt;What got voted into the C++0x working draft&lt;/strong&gt;&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;At this meeting, five major pieces of work got approved into the draft. That means these features can (and likely will) still get tweaked and changed until the standard is actually finalized and published, but the upshot of being voted into the working paper is that these features are "for real" -- they've been discussed and debated, consensus has been achieved on their specification, actual wording written up in standardese, and a full committee vote passed to stick the standardese into the working paper.&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;u&gt;Nearly all of the Library Technical Report (aka TR1)&lt;/u&gt;&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;The only part that wasn't voted in was the special mathematical functions, which are of interest principally only to heavy-duty scientists and mathematicians. The actual TR is in the process of publication, but you can find a nearly-final version on the ISO C++ committee website here: &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf"&gt;N1836, Draft Technical Report on C++ Library Extensions&lt;/a&gt;.&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div align="left" xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;u&gt;Auto type deduction&lt;/u&gt;&lt;/div&gt;
&lt;div align="left" xmlns="http://www.w3.org/1999/xhtml"&gt;This permits you to write declarations like&lt;/div&gt;
&lt;div align="left" xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div align="left" xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;strong&gt;  auto x = 3.1415926535;&lt;br/&gt;  auto i = container.begin();&lt;/strong&gt;&lt;/div&gt;
&lt;div align="left" xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div align="left" xmlns="http://www.w3.org/1999/xhtml"&gt;where the type is deduced from the initializer. So in this case, &lt;strong&gt;x&lt;/strong&gt; has type &lt;strong&gt;double&lt;/strong&gt;, and &lt;strong&gt;i&lt;/strong&gt; has type &lt;strong&gt;map&amp;lt;string,unordered_map&amp;lt;int,tupe&amp;lt;float,string,const int&amp;gt; &amp;gt; &amp;gt;::const_iterator&lt;/strong&gt; or whatever the right type happens to be, without having to spell it out. The paper is: &lt;a href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2006/n1984.pdf"&gt;N1984, Deducing the type of variable from its initializer expression (revision 4)&lt;/a&gt;.&lt;/div&gt;
&lt;div align="left" xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div align="left" xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;u&gt;Delegating constructors&lt;/u&gt;&lt;/div&gt;
&lt;div align="left" xmlns="http://www.w3.org/1999/xhtml"&gt;This proposal was written by me and Francis Glassborow. It's a combined WG21 / C++/CLI proposal, though it was cut from the first edition of C++/CLI; if C++/CLI does add this it will follow this that WG21 has adopted (plus any future tweaks). The paper is: &lt;a href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2006/n1986.pdf"&gt;N1986, Delegating Constructors (revision 3)&lt;/a&gt;.&lt;/div&gt;
&lt;div align="left" xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;u&gt;Right angle brackets&lt;/u&gt;&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;This fixes a tiny but perniciously annoying and embarrassing quirk of C++, and the fix adopted by C++ is the same that C++/CLI specified. Right angle brackets have been fixed so that constructions Like&amp;lt;This&amp;lt;Nested&amp;lt;Template&lt;font color="#339966"&gt;&lt;strong&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;/strong&gt;&lt;/font&gt; will work sensibly, without having to write the closing right angle brackets with extra whitespace Like&amp;lt;You&amp;lt;Must&amp;lt;Today&lt;strong&gt;&lt;font color="#ff0000"&gt;&amp;gt;  &amp;gt;  &amp;gt;  &amp;gt; &lt;/font&gt;&lt;/strong&gt;which is annoying, embarrassing, and suspected of contributing to dental decay among 18- to 24-year-olds in northeastern Mississippi. To find out more, see the paper: &lt;a href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2005/n1757.html"&gt;N1757, Right Angle Brackets (Revision 2)&lt;/a&gt;.&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;u&gt;Extern template&lt;/u&gt;&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;The terse paper is: &lt;a href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2006/n1987.htm"&gt;N1987, Adding 'extern template' (version 2)&lt;/a&gt;.&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;br/&gt;Enjoy! And there's more to come when we meet next, in October 2006 (Portland, OR, USA).&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;Herb&lt;br/&gt;&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Slides for PARC talk on concurrency</title><link>http://www.pluralsight.com/community/blogs/hsutter/archive/2006/03/19/20259.aspx</link><pubDate>Sun, 19 Mar 2006 22:56:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:20259</guid><dc:creator>herb-sutter</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.pluralsight.com/community/blogs/hsutter/rsscomments.aspx?PostID=20259</wfw:commentRss><comments>http://www.pluralsight.com/community/blogs/hsutter/archive/2006/03/19/20259.aspx#comments</comments><description>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;As &lt;a href="http://pluralsight.com/blogs/hsutter/archive/2006/03/16/20167.aspx"&gt;previously blogged&lt;/a&gt;, this week I gave a &lt;a href="http://www.parc.com/cms/get_article.php?id=533"&gt;PARC Form talk&lt;/a&gt; on concurrency (&lt;a href="mms://216.93.180.194/parc_forum/v1130.wmv"&gt;wmv video&lt;/a&gt;) (&lt;a href="http://www.parc.com/events/forum/media/v1130.mp3"&gt;mp3 audio&lt;/a&gt;).&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;A number of people have asked that I post the slides, so I've put them online too (&lt;a href="http://gotw.ca/publications/SoftwareAndConcurrencyPARC.pdf"&gt;pdf slides&lt;/a&gt;).&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;I've also updated my &lt;a href="http://www.gotw.ca"&gt;home page&lt;/a&gt; and &lt;a href="http://www.gotw.ca/presentations.htm"&gt;talks page&lt;/a&gt; with these links.&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;Enjoy!&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;Herb&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Yesterday's PARC talk now online: Software and the Concurrency Revolution</title><link>http://www.pluralsight.com/community/blogs/hsutter/archive/2006/03/16/20167.aspx</link><pubDate>Fri, 17 Mar 2006 05:49:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:20167</guid><dc:creator>herb-sutter</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.pluralsight.com/community/blogs/hsutter/rsscomments.aspx?PostID=20167</wfw:commentRss><comments>http://www.pluralsight.com/community/blogs/hsutter/archive/2006/03/16/20167.aspx#comments</comments><description>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;Yesterday I gave a talk at the Xerox PARC Forum about "Software and the Concurrency Revolution." Just 24 hours later, the &lt;a href="http://www.parc.com/cms/get_article.php?id=533"&gt;video and audio streams are online here&lt;/a&gt;. Now that's service!&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;If you weren't in the area or able to drop by, you can take it in online. I hope you enjoy the talk.&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;Note to those who've seen concurrency talks from me before: There is interesting and useful new stuff here. In particular, check out the midway point of the talk, which contains material I've never given publicly before about how to categorize and think about forms of concurrency (thanks to David Callahan for lending me these three slides). For those who haven't seen a Concur talk from me yet in 2006, the part about parallel STL algorithms near the end will also be new since it reflects thinking I did over the winter.&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;Enjoy,&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;Herb&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>A Design Rationale for C++/CLI, v 1.1</title><link>http://www.pluralsight.com/community/blogs/hsutter/archive/2006/02/27/19271.aspx</link><pubDate>Tue, 28 Feb 2006 04:02:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:19271</guid><dc:creator>herb-sutter</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.pluralsight.com/community/blogs/hsutter/rsscomments.aspx?PostID=19271</wfw:commentRss><comments>http://www.pluralsight.com/community/blogs/hsutter/archive/2006/02/27/19271.aspx#comments</comments><description>&lt;font size="2" xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;div&gt;FYI, I've posted a "1.1" minor update of my C++/CLI design rationale paper. It's at the &lt;a href="http://www.gotw.ca/publications/C++CLIRationale.pdf"&gt;same location&lt;/a&gt;. The main change from the "1.0" version I posted two weeks ago is that the preface and section 1 have been merged and made clearer (realizing that some people won't read past that part). The rest includes minor enhancements such as filling in a few missing details for some of the points discussed. Enjoy,&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Herb&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;&lt;/font&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>A Design Rationale for C++/CLI</title><link>http://www.pluralsight.com/community/blogs/hsutter/archive/2006/02/18/18911.aspx</link><pubDate>Sun, 19 Feb 2006 05:56:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:18911</guid><dc:creator>herb-sutter</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.pluralsight.com/community/blogs/hsutter/rsscomments.aspx?PostID=18911</wfw:commentRss><comments>http://www.pluralsight.com/community/blogs/hsutter/archive/2006/02/18/18911.aspx#comments</comments><description>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;I thought I should finally get around to writing a design rationale for C++/CLI, to pull together in one place some accurate information about the whats, whys, and hows of these extensions. You can find it at:&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;  A Design Rationale for C++/CLI&lt;br/&gt;  &lt;a href="http://www.gotw.ca/publications/C++CLIRationale.pdf"&gt;http://www.gotw.ca/publications/C++CLIRationale.pdf&lt;/a&gt;&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;I've pasted the Preface below. The paper also includes a FAQ covering some common points of interest about C++/CLI. I expect it to be a living document; this is version 1.0.&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;Enjoy,&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;Herb&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;h1 style="PADDING-RIGHT: 0in; MARGIN-TOP: 24pt; PADDING-LEFT: 0in; FONT-WEIGHT: normal; FONT-SIZE: 16pt; MARGIN-BOTTOM: 3pt; TEXT-INDENT: 0in" xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;strong&gt;Preface&lt;/strong&gt;&lt;/h1&gt;
&lt;div style="PADDING-RIGHT: 0.5in; MARGIN-TOP: 0in; PADDING-LEFT: 0.5in; FONT-SIZE: 10pt; MARGIN-BOTTOM: 3pt; LINE-HEIGHT: 13pt" align="justify" xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;font color="#000080"&gt;&lt;em&gt;A multiplicity of libraries, run-time environments, and development environments are essential to support the range of C++ applications. This view guided the design of C++ as early as 1987; in fact, it is older yet. Its roots are in the view of C++ as a general-purpose language&lt;/em&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div style="PADDING-RIGHT: 0.5in; MARGIN-TOP: 0in; PADDING-LEFT: 0.5in; FONT-SIZE: 10pt; MARGIN-BOTTOM: 9pt; LINE-HEIGHT: 13pt" align="justify" xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;font color="#000080"&gt;&lt;em&gt;                                                                 — B. Stroustrup (D&amp;amp;E, p. 168)&lt;/em&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div style="PADDING-RIGHT: 0in; MARGIN-TOP: 0in; PADDING-LEFT: 0in; FONT-SIZE: 10pt; MARGIN-BOTTOM: 6pt; LINE-HEIGHT: 13pt" align="justify" xmlns="http://www.w3.org/1999/xhtml"&gt;C++/CLI was created to promote C++ use on a major platform, ISO CLI (the standardized subset of .NET). This paper attempts to capture a small but representative sample of the experience gained by a succession of C++ experts who have tried to define a binding between C++ and CLI. A central goal is to explain why pure library extensions are technically insufficient in the cases where they were not used, by considering design alternatives for representative examples that cover most CLI feature areas:&lt;/div&gt;
&lt;div style="PADDING-RIGHT: 0in; MARGIN-TOP: 0in; PADDING-LEFT: 27.35pt; FONT-SIZE: 10pt; MARGIN-BOTTOM: 3pt; TEXT-INDENT: -0.2in; LINE-HEIGHT: 13pt" align="justify" xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;strong&gt;CLI types (e.g., ref class, value class):&lt;/strong&gt; Why new type categories are needed, and considerations for choosing the right defaults for CLI types.&lt;/div&gt;
&lt;div style="PADDING-RIGHT: 0in; MARGIN-TOP: 0in; PADDING-LEFT: 27.35pt; FONT-SIZE: 10pt; MARGIN-BOTTOM: 3pt; TEXT-INDENT: -0.2in; LINE-HEIGHT: 13pt" align="justify" xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;strong&gt;CLI type features (e.g., property):&lt;/strong&gt; Why new abstractions are needed for some CLI features.&lt;/div&gt;
&lt;div style="PADDING-RIGHT: 0in; MARGIN-TOP: 0in; PADDING-LEFT: 27.35pt; FONT-SIZE: 10pt; MARGIN-BOTTOM: 3pt; TEXT-INDENT: -0.2in; LINE-HEIGHT: 13pt" align="justify" xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;strong&gt;CLI heap (e.g., ^, gcnew):&lt;/strong&gt; Why not to reuse the existing * pointer declarator and new.&lt;/div&gt;
&lt;div style="PADDING-RIGHT: 0in; MARGIN-TOP: 0in; PADDING-LEFT: 27.35pt; FONT-SIZE: 10pt; MARGIN-BOTTOM: 3pt; TEXT-INDENT: -0.2in; LINE-HEIGHT: 13pt" align="justify" xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;strong&gt;CLI generics (generic):&lt;/strong&gt; Why the new genericity feature is distinct from templates, but compatible and highly integrated with templates.&lt;/div&gt;
&lt;div style="PADDING-RIGHT: 0in; MARGIN-TOP: 0in; PADDING-LEFT: 27.35pt; FONT-SIZE: 10pt; MARGIN-BOTTOM: 6pt; TEXT-INDENT: -0.2in; LINE-HEIGHT: 13pt" align="justify" xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;strong&gt;CLI non-features (e.g., template, const):&lt;/strong&gt; Why and how these are made to work on CLI types.&lt;/div&gt;
&lt;div style="PADDING-RIGHT: 0in; MARGIN-TOP: 0in; PADDING-LEFT: 0in; FONT-SIZE: 10pt; MARGIN-BOTTOM: 6pt; LINE-HEIGHT: 13pt" align="justify" xmlns="http://www.w3.org/1999/xhtml"&gt;For each case, the paper describes:&lt;/div&gt;
&lt;div style="PADDING-RIGHT: 0in; MARGIN-TOP: 0in; PADDING-LEFT: 27.35pt; FONT-SIZE: 10pt; MARGIN-BOTTOM: 3pt; TEXT-INDENT: -0.2in; LINE-HEIGHT: 13pt" align="justify" xmlns="http://www.w3.org/1999/xhtml"&gt;The CLI feature and basic requirements, including representative metadata that must be generated.&lt;/div&gt;
&lt;div style="PADDING-RIGHT: 0in; MARGIN-TOP: 0in; PADDING-LEFT: 27.35pt; FONT-SIZE: 10pt; MARGIN-BOTTOM: 3pt; TEXT-INDENT: -0.2in; LINE-HEIGHT: 13pt" align="justify" xmlns="http://www.w3.org/1999/xhtml"&gt;The lower-impact Managed Extensions design, and where it was insufficient.&lt;/div&gt;
&lt;div style="PADDING-RIGHT: 0in; MARGIN-TOP: 0in; PADDING-LEFT: 27.35pt; FONT-SIZE: 10pt; MARGIN-BOTTOM: 3pt; TEXT-INDENT: -0.2in; LINE-HEIGHT: 13pt" align="justify" xmlns="http://www.w3.org/1999/xhtml"&gt;The C++/CLI design and rationale.&lt;/div&gt;
&lt;div style="PADDING-RIGHT: 0in; MARGIN-TOP: 0in; PADDING-LEFT: 27.35pt; FONT-SIZE: 10pt; MARGIN-BOTTOM: 6pt; TEXT-INDENT: -0.2in; LINE-HEIGHT: 13pt" align="justify" xmlns="http://www.w3.org/1999/xhtml"&gt;Other major design choices that were considered, both in earlier iterations of C++/CLI and in other separate design efforts that didn’t work out and were never publicly available.&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;Finally, note that most of the C++/CLI extensions are needed only when using C++/CLI to &lt;em&gt;author&lt;/em&gt; new CLI types and libraries. In practice, many programmers using a C++/CLI-enabled compiler (currently Visual C++ 2005) are simply taking advantage of the ability to seamlessly &lt;em&gt;use&lt;/em&gt; existing CLI types with their C++ code, which typically requires no extended syntax at all beyond a sprinkling of &lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt;gcnew&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt; and &lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt;^&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt;.&lt;/span&gt;&lt;br/&gt; &lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Some talks this spring: Bay area, Oxford, Paris(?), Nice</title><link>http://www.pluralsight.com/community/blogs/hsutter/archive/2006/01/24/18249.aspx</link><pubDate>Wed, 25 Jan 2006 03:11:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:18249</guid><dc:creator>herb-sutter</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.pluralsight.com/community/blogs/hsutter/rsscomments.aspx?PostID=18249</wfw:commentRss><comments>http://www.pluralsight.com/community/blogs/hsutter/archive/2006/01/24/18249.aspx#comments</comments><description>&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;As I look at my calendar, I see it's going to be a busy spring. For one thing, the spring 2006 ISO C++ standards meeting will be held&amp;nbsp;in Berlin, Germany, from April 2-7, 2006.&amp;nbsp;For another, I'll be attending several events in California and Europe. &lt;/DIV&gt;
&lt;DIV align=left xmlns="http://www.w3.org/1999/xhtml"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;I've &lt;A href="http://pluralsight.com/blogs/hsutter/archive/2005/12/21/17588.aspx"&gt;already announced&lt;/A&gt; the first event in this list, but since then I've accepted a few more talks, and here's the current list:&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;TABLE class=msoUcTable style="TABLE-LAYOUT: fixed; WIDTH: 662px; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-COLLAPSE: collapse; WORD-WRAP: break-word; BORDER-BOTTOM-STYLE: none" tabIndex=-1 cellPadding=4 border=1&gt;
&lt;COLGROUP&gt;
&lt;COL style="WIDTH: 239px"&gt;
&lt;COL style="WIDTH: 423px"&gt;&lt;/COLGROUP&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style="BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" vAlign=top bgColor=#ffffcc&gt;&lt;FONT size=2&gt;&lt;A href="http://www.GotW.ca/sands2.htm"&gt;&lt;FONT color=#0000ff&gt;&lt;STRONG&gt;Stroustrup &amp;amp; Sutter on C++&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;FONT color=#0000ff&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;March 13-14, 2006&lt;BR&gt;Santa Clara, California, USA&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD style="BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" vAlign=top bgColor=#ffffcc&gt;
&lt;DIV style="MARGIN-TOP: 0px; FONT-SIZE: 10pt; MARGIN-BOTTOM: 6px"&gt;Herb's talks include:&lt;/DIV&gt;
&lt;DIV style="MARGIN-TOP: 0px; PADDING-LEFT: 12px; FONT-SIZE: 10pt; MARGIN-BOTTOM: 6px"&gt;The New ISO C++ Libraries&lt;/DIV&gt;
&lt;DIV style="MARGIN-TOP: 0px; PADDING-LEFT: 12px; FONT-SIZE: 10pt; MARGIN-BOTTOM: 6px"&gt;The Concurrency Landscape, C++0x, and the Concur Project&lt;/DIV&gt;
&lt;DIV style="MARGIN-TOP: 0px; PADDING-LEFT: 12px; FONT-SIZE: 10pt; MARGIN-BOTTOM: 6px"&gt;Genericity in C++, .NET, and Java&lt;/DIV&gt;
&lt;DIV style="MARGIN-TOP: 0px; PADDING-LEFT: 12px; FONT-SIZE: 10pt; MARGIN-BOTTOM: 6px"&gt;Error-Safe C++: More Than Just Exception Safety&lt;/DIV&gt;
&lt;DIV style="MARGIN-TOP: 0px; FONT-SIZE: 10pt; MARGIN-BOTTOM: 6px"&gt;Plus panel discussions, including "ask us anything!".&lt;BR&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;TABLE class=msoUcTable style="TABLE-LAYOUT: fixed; WIDTH: 662px; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-COLLAPSE: collapse; WORD-WRAP: break-word; BORDER-BOTTOM-STYLE: none" tabIndex=-1 cellPadding=4 width=undefined border=1&gt;
&lt;COLGROUP&gt;
&lt;COL style="WIDTH: 239px"&gt;
&lt;COL style="WIDTH: 423px"&gt;&lt;/COLGROUP&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style="BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" vAlign=top&gt;
&lt;DIV style="MARGIN-TOP: 0px; FONT-SIZE: 10pt" align=left&gt;&lt;A href="http://www.parc.com/events/forum"&gt;&lt;FONT color=#0000ff&gt;&lt;STRONG&gt;Xerox PARC Forum&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;March 15, 2006&lt;BR&gt;Palo Alto, California, USA&lt;BR&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style="BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" vAlign=top&gt;
&lt;DIV style="MARGIN-TOP: 0px; FONT-SIZE: 10pt" align=left&gt;Software Directions in the Concurrency Revolution&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;TABLE class=msoUcTable style="TABLE-LAYOUT: fixed; WIDTH: 662px; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-COLLAPSE: collapse; WORD-WRAP: break-word; BORDER-BOTTOM-STYLE: none" tabIndex=-1 cellPadding=4 width=undefined border=1&gt;
&lt;COLGROUP&gt;
&lt;COL style="WIDTH: 239px"&gt;
&lt;COL style="WIDTH: 423px"&gt;&lt;/COLGROUP&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style="BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" vAlign=top&gt;
&lt;DIV style="MARGIN-TOP: 0px; FONT-SIZE: 10pt" align=left&gt;&lt;A href="http://www.accu.org/conference"&gt;&lt;FONT color=#0000ff&gt;&lt;STRONG&gt;ACCU 2006&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;April 21, 2006&lt;BR&gt;Oxford, United Kingdom&lt;BR&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style="BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" vAlign=top&gt;
&lt;DIV style="MARGIN-TOP: 0px; FONT-SIZE: 10pt; MARGIN-BOTTOM: 6pt" align=left&gt;Keynote: C++0x, Concur, and the Concurrency Revolution&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;TABLE class=msoUcTable style="TABLE-LAYOUT: fixed; WIDTH: 662px; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-COLLAPSE: collapse; WORD-WRAP: break-word; BORDER-BOTTOM-STYLE: none" tabIndex=-1 cellPadding=4 width=undefined border=1&gt;
&lt;COLGROUP&gt;
&lt;COL style="WIDTH: 239px"&gt;
&lt;COL style="WIDTH: 423px"&gt;&lt;/COLGROUP&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style="BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" vAlign=top&gt;
&lt;DIV style="MARGIN-TOP: 0px; FONT-SIZE: 10pt" align=left&gt;&lt;STRONG&gt;&lt;A href="http://www.devconnectionseurope.com/"&gt;&lt;FONT color=#0000ff&gt;DevConnections Europe&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;/STRONG&gt;April 25, 2006&lt;BR&gt;Nice, France&lt;BR&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD style="BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none" vAlign=top&gt;
&lt;DIV style="MARGIN-TOP: 0px; FONT-SIZE: 10pt; MARGIN-BOTTOM: 6pt" align=left&gt;Concurrency Abstractions in C++&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;In addition to the above, there might be one more: Some folks in France are trying to arrange for me to give a couple of talks in Paris on Monday, April 24. I'll post more details as/if this gets confirmed -- in the meantime, if you're in the Paris area and are interested in topics about .NET programming (C++/CLI) and/or concurrency (Concur), keep April 24 open and watch this space.&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;I look forward to seeing you in California and/or Europe!&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Coming in March: Stroustrup &amp;amp; Sutter on C++</title><link>http://www.pluralsight.com/community/blogs/hsutter/archive/2005/12/21/17588.aspx</link><pubDate>Thu, 22 Dec 2005 02:09:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:17588</guid><dc:creator>herb-sutter</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.pluralsight.com/community/blogs/hsutter/rsscomments.aspx?PostID=17588</wfw:commentRss><comments>http://www.pluralsight.com/community/blogs/hsutter/archive/2005/12/21/17588.aspx#comments</comments><description>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;In spring 2004, Bjarne and I had a blast doing &lt;a href="http://www.gotw.ca/sands.htm"&gt;our first S&amp;amp;S event together&lt;/a&gt;. So much fun, in fact, that we've decided to do it again!&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;I'm happy to announce that we're doing it again in 2006. Here's the event info:&lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div style="PADDING-LEFT: 50px" xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;strong&gt;&lt;a href="http://www.gotw.ca/sands2.htm"&gt;Stroustrup &amp;amp; Sutter on C++&lt;/a&gt;&lt;br/&gt;&lt;/strong&gt;March 13-14, 2006&lt;br/&gt;Santa Clara, California, USA&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;My talks include:&lt;/div&gt;
&lt;ul style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px" type="disc" xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;li&gt;The New ISO C++ Libraries&lt;/li&gt;
&lt;li&gt;The Concurrency Landscape, C++0x, and the Concur Project&lt;/li&gt;
&lt;li&gt;Genericity in C++, .NET, and Java&lt;/li&gt;
&lt;li&gt;Error-Safe C++: More Than Just Exception Safety&lt;br/&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;See the page for the full details. We hope to see you in Santa Clara this spring!&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>September ACM Queue concurrency article now available online</title><link>http://www.pluralsight.com/community/blogs/hsutter/archive/2005/10/27/15919.aspx</link><pubDate>Thu, 27 Oct 2005 18:44:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:15919</guid><dc:creator>herb-sutter</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.pluralsight.com/community/blogs/hsutter/rsscomments.aspx?PostID=15919</wfw:commentRss><comments>http://www.pluralsight.com/community/blogs/hsutter/archive/2005/10/27/15919.aspx#comments</comments><description>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;a href="http://pluralsight.com/blogs/hsutter/archive/2005/07/25.aspx"&gt;Back in the summer&lt;/a&gt;, I mentioned this article was coming. It's now available online:&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div style="MARGIN-TOP: 0pt; PADDING-LEFT: 50px; MARGIN-BOTTOM: 6pt" xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;font size="2"&gt;&lt;a href="http://acmqueue.com/modules.php?name=Content&amp;amp;pa=showpage&amp;amp;pid=332"&gt;&lt;font color="#0000ff"&gt;&lt;strong&gt;Software and the Concurrency Revolution&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt; (with Jim Larus), &lt;br/&gt;&lt;font color="#000080"&gt;&lt;em&gt;ACM Queue&lt;/em&gt;, September 2005.&lt;/font&gt;&lt;br/&gt;The concurrency revolution is primarily a software revolution. Soon all new machines will be multicore, and the difficult problem is programming this hardware so that mainstream applications benefit from the continued exponential growth in CPU performance.&lt;/font&gt;&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;Note: If you haven't read &lt;a href="http://www.gotw.ca/publications/concurrency-ddj.htm"&gt;The Free Lunch Is Over&lt;/a&gt; yet, I strongly suggest reading that first; it's the paper that originally coined the terms "the free lunch is over" and "concurrency revolution." Then, if you're interested in the topic (and you should be), &lt;a href="http://www.google.com/search?hl=en&amp;amp;q=%22the+free+lunch+is+over%22&amp;amp;btnG=Google+Search"&gt;Google for the title&lt;/a&gt; to browse the commentary that it has engendered (disclaimer: I don't necessarily agree with all the commentary, but most of it is reasonable).&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;I just spoke on this topic yesterday at the &lt;a href="http://www.in-stat.com/fpf/05/"&gt;In-Stat Fall Processor Forum&lt;/a&gt;, and I'll have quite a bit more to say about this at &lt;a href="http://www.cpp-connections.com"&gt;C++ Connections&lt;/a&gt; in a couple of weeks where I'm giving a keynote and a regular talk on the concurrency revolution and my Concur project, respectively. (If you haven't registered for C++ Connections yet, this is almost your last chance -- run, don't walk. It's going to be a very cool event.)&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;By the way, all of the above papers and talks are listed on my &lt;a href="http://www.gotw.ca"&gt;home page&lt;/a&gt;. I revamped it a couple of months ago to put everything essential up front, from new talks and articles to links to recent talks that are now available online (with video, even). It seemed like it would be easier to use this way than the old way, which forced you to dig into News and other pages to get at everything. I hope you find it useful.&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>PDC talk on concurrency now online for viewing</title><link>http://www.pluralsight.com/community/blogs/hsutter/archive/2005/10/25/15903.aspx</link><pubDate>Wed, 26 Oct 2005 04:59:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:15903</guid><dc:creator>herb-sutter</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.pluralsight.com/community/blogs/hsutter/rsscomments.aspx?PostID=15903</wfw:commentRss><comments>http://www.pluralsight.com/community/blogs/hsutter/archive/2005/10/25/15903.aspx#comments</comments><description>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;font face="Arial, Arial, Helvetica"&gt;The talk I gave at last month's PDC event is &lt;a href="http://microsoft.sitestream.com/PDC05/TLN/TLN309_files/Default.htm#nopreload=1&amp;amp;autostart=1"&gt;now online&lt;/a&gt;.&lt;/font&gt;&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;font face="Arial, Arial, Helvetica"&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;font face="Arial, Arial, Helvetica"&gt;This is the first public talk I've given about my (con)current project, suitably named Concur. This is just a very brief overview and a snapshot of current thinking; expect to hear more over the coming year or two.&lt;/font&gt;&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;font face="Arial, Arial, Helvetica"&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;font face="Arial, Arial, Helvetica"&gt;This talk starts with a brief introduction covers the themes of future versions of Visual C++ and the next ISO C++ standard, and then I spend a few minutes discussing four key language features that are directly applicable to a broad range of uses, from C++/CLI to ISO C++0x to Linq to concurrency -- the four features are "for each", "auto" type declarations, lambda functions and expressions, and the draft C++0x "concepts" feature.&lt;/font&gt;&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;font face="Arial, Arial, Helvetica"&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;font face="Arial, Arial, Helvetica"&gt;The bulk of the talk then gives an overview of the Concur project, which aims to:&lt;/font&gt;&lt;/div&gt;
&lt;ul style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px" type="disc" xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;li&gt;define higher-level abstractions (above "threads and locks") &lt;/li&gt;
&lt;li&gt;for today’s imperative languages (examples are in C++) &lt;/li&gt;
&lt;li&gt;that evenly support the range of concurrency granularities &lt;/li&gt;
&lt;li&gt;to let developers write correct and efficient concurrent applications &lt;/li&gt;
&lt;li&gt;with lots of latent parallelism (and not lots of latent bugs) &lt;/li&gt;
&lt;li&gt;that can be efficiently mapped to the user’s hardware to reenable the free lunch. &lt;/li&gt;&lt;/ul&gt;&lt;!--mstheme--&gt;&lt;!--msthemelist--&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;There's more to Concur than I had time to show here, but this is a good appetizer. Enjoy!&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>C++/CLI is done!</title><link>http://www.pluralsight.com/community/blogs/hsutter/archive/2005/09/22/14970.aspx</link><pubDate>Thu, 22 Sep 2005 17:00:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:14970</guid><dc:creator>herb-sutter</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.pluralsight.com/community/blogs/hsutter/rsscomments.aspx?PostID=14970</wfw:commentRss><comments>http://www.pluralsight.com/community/blogs/hsutter/archive/2005/09/22/14970.aspx#comments</comments><description>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;In December 2003, a new &lt;a href="http://www.ecma-international.org/"&gt;Ecma&lt;/a&gt; committee called TC39/TG5 started work to standardize C++/CLI, a binding between the ISO C++ programming language and the ISO CLI runtime environment. &lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;On Tuesday, after 11 face-to-face meetings and dozens of teleconference calls, TG5 finished its most recent meeting by voting unanimously to request that TC39 adopt the language specification and submit it to the Ecma general assembly for approval. If approved, C++/CLI will become an Ecma international standard later this year. Following that, the Ecma general assembly would submit it to ISO for consideration as a potential ISO standard.&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;A little editorial work remains to incorporate edits and clarifications to the text that were approved by TG5 this week, and then the final document will be submitted to TC39 on October 11 and should be publicly available by the end of the year.&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;At this point I would like to reiterate my own personal thanks to &lt;a href="http://www.research.att.com/~bs/"&gt;Bjarne Stroustrup&lt;/a&gt; for his gracious and insightful comments and suggestions that have improved C++/CLI in both the broad design and the little details, and also to &lt;a href="http://www.dinkumware.com"&gt;Dinkumware&lt;/a&gt;, &lt;a href="http://www.edg.com"&gt;Edison Design Group (EDG)&lt;/a&gt;, &lt;a href="http://www.plumhall.com"&gt;Plum Hall&lt;/a&gt;, &lt;a href="http://www.ibm.com"&gt;IBM&lt;/a&gt;, and the other participants who likewise helped make C++/CLI as good as it is, both before and during the Ecma standards process. Thanks again, everyone!&lt;/div&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;br/&gt; &lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>