<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Sutter’s Mill</title>
	<atom:link href="http://herbsutter.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://herbsutter.com</link>
	<description>Herb Sutter on software, hardware, and concurrency</description>
	<lastBuildDate>Fri, 27 Jan 2012 10:41:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='herbsutter.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/4554b8d24c7f200dc5e2e1b18db1893f?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Sutter’s Mill</title>
		<link>http://herbsutter.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://herbsutter.com/osd.xml" title="Sutter’s Mill" />
	<atom:link rel='hub' href='http://herbsutter.com/?pushpress=hub'/>
		<item>
		<title>GoingNative 2012: Minus One Week</title>
		<link>http://herbsutter.com/2012/01/26/goingnative-2012-minus-one-week/</link>
		<comments>http://herbsutter.com/2012/01/26/goingnative-2012-minus-one-week/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 21:16:00 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/?p=1351</guid>
		<description><![CDATA[GoingNative 2012 is sold out for in-person attendees, but online attendance is free and unlimited – live-stream and on-demand. Watch the main page for links. GoingNative 2012 is a 48 hour technical event for those who push the boundaries of general purpose computing by exploiting the true capabilities of the underlying machine: C++ developers. Distinguished [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=1351&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://herbsutter.files.wordpress.com/2012/01/clip_image002.gif"><strong><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;float:right;border-top:0;border-right:0;padding-top:0;margin:10px 0 10px 10px;" title="clip_image002" border="0" alt="clip_image002" align="right" src="http://herbsutter.files.wordpress.com/2012/01/clip_image0021.gif?w=400&#038;h=112" width="400" height="112" /></a></strong></a><strong><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012">GoingNative 2012</a></strong> is sold out for in-person attendees, but online attendance is free and unlimited – live-stream and on-demand. Watch the main page for links.</p>
<blockquote><p>GoingNative 2012 is a 48 hour technical event for those who push the boundaries of general purpose computing by exploiting the true capabilities of the underlying machine: C++ developers. Distinguished speakers include the creator of C++,<strong> Bjarne Stroustrup;</strong> C++ standards committee chair, <strong>Herb Sutter;</strong> C++ template and big compute master, <strong>Andrei Alexandrescu;</strong> STL master <strong>Stephan T. Lavavej;</strong> LLVM/Clang developer <strong>Chandler Carruth;</strong> distributed and parallel computing expert <strong>Hans Boehm;</strong> and C++ library design expert and ISO committee member <strong>Andrew Sutton.</strong></p>
</blockquote>
<p>Although the majority of the audience will be on the web, here are some interesting statistics about the 350 people who are coming in person and will be with us in the room:</p>
<blockquote><p>Developers attending in person will arrive from <strong>18 countries</strong> and <strong>23 US states</strong>. They are professional native developers from industry, from academia, from small businesses to very large corporations. They are CTOs, architects and scientists. They are students and coders. And they are all in for a real native treat!</p>
</blockquote>
<p><strong>Come </strong><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012"><strong>join us live</strong></a><strong> starting with Bjarne Stroustrup’s opening keynote </strong>on Thursday February 2 at 9:30am sharp U.S. Pacific time <a href="http://timeanddate.com/worldclock/meetingdetails.html?year=2012&amp;month=2&amp;day=2&amp;hour=17&amp;min=30&amp;sec=0&amp;p1=234&amp;p2=179&amp;p3=136&amp;p4=438&amp;p5=248&amp;p6=240">(here’s a World Clock meeting planner for other time zones)</a>. We have a special something extra in the first couple of minutes, so you won’t want to be late.</p>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/1351/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1351/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1351/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1351/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1351/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1351/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1351/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1351/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1351/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1351/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1351/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1351/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1351/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1351/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=1351&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2012/01/26/goingnative-2012-minus-one-week/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>

		<media:content url="http://herbsutter.files.wordpress.com/2012/01/clip_image0021.gif" medium="image">
			<media:title type="html">clip_image002</media:title>
		</media:content>
	</item>
		<item>
		<title>GotW #103: Smart Pointers, Part 1 (Difficulty: 3/10)</title>
		<link>http://herbsutter.com/2012/01/20/gotw-103-smart-pointers-part-1-difficulty-310/</link>
		<comments>http://herbsutter.com/2012/01/20/gotw-103-smart-pointers-part-1-difficulty-310/#comments</comments>
		<pubDate>Fri, 20 Jan 2012 20:46:53 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/?p=1346</guid>
		<description><![CDATA[JG Question 1. When should you use shared_ptr vs. unique_ptr? List as many considerations as you can. &#160; Guru Questions 2. Why should you always use make_shared to allocate objects whose lifetimes will be managed by shared_ptr? Explain. 3. What’s the deal with auto_ptr? Filed under: C++<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=1346&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h3>JG Question</h3>
<p>1. When should you use <em>shared_ptr</em> vs. <em>unique_ptr</em>? List as many considerations as you can.</p>
<p>&#160;</p>
<h3>Guru Questions </h3>
<p>2. Why should you always use <em>make_shared</em> to allocate objects whose lifetimes will be managed by <em>shared_ptr</em>? Explain.</p>
<p>3. What’s the deal with <em>auto_ptr</em>?</p>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/1346/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1346/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1346/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1346/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1346/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1346/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1346/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1346/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1346/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1346/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1346/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1346/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1346/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1346/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=1346&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2012/01/20/gotw-103-smart-pointers-part-1-difficulty-310/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>
	</item>
		<item>
		<title>GotW #102: Solution</title>
		<link>http://herbsutter.com/2012/01/20/gotw-102-solution/</link>
		<comments>http://herbsutter.com/2012/01/20/gotw-102-solution/#comments</comments>
		<pubDate>Fri, 20 Jan 2012 20:42:33 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/?p=1344</guid>
		<description><![CDATA[The solution to GotW #102 is now live. Filed under: C++<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=1344&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://herbsutter.com/gotw/_102/">The solution to GotW #102 is now live.</a></p>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/1344/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1344/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1344/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1344/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1344/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1344/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1344/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1344/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1344/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1344/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1344/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1344/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1344/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1344/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=1344&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2012/01/20/gotw-102-solution/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>
	</item>
		<item>
		<title>C++11 &#8220;GoingNative 2012&#8221;: Speakers and Sessions</title>
		<link>http://herbsutter.com/2012/01/16/c11-goingnative-2012-speakers-and-sessions/</link>
		<comments>http://herbsutter.com/2012/01/16/c11-goingnative-2012-speakers-and-sessions/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 18:54:22 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/?p=1322</guid>
		<description><![CDATA[The speakers and sessions for GoingNative 2012 (Feb 2-3, Redmond WA USA) have now been posted. With the focus squarely on C++11 on all compilers and platforms, I think this is going to be the C++ event of the first half of 2012, and I’m very pleased with the caliber of our speakers and their [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=1322&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://herbsutter.files.wordpress.com/2012/01/image9.png"><img style="display:inline;float:right;margin:0 0 0 10px;" title="image" alt="image" align="right" src="http://herbsutter.files.wordpress.com/2012/01/image_thumb9.png?w=240&#038;h=96" width="240" height="96" /></a>The speakers and sessions for <strong><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012">GoingNative 2012</a></strong> (Feb 2-3, Redmond WA USA) have now been posted. With the focus squarely on C++11 on all compilers and platforms, I think this is going to be <em>the</em> C++ event of the first half of 2012, and I’m very pleased with the caliber of our speakers and their technical and industry breadth.</p>
<p><strong>Note: 85% Sold Out.</strong> All sessions will be publicly available <em>online </em>for free, both livestream and on-demand for posterity. But to attend in person and be in the (<a href="http://photosynth.net/view.aspx?cid=a0f5feca-063d-4e3e-a621-91dde8be3ade">very nice</a>) room, tickets are just $112 and currently <strong>85% sold out</strong>; I expect the rest to go quickly now that the talks are posted, so if you’ve been on the edge, this week is a good time to <strong><a href="https://dynamicevents.emeetingsonline.com/emeetings/websitev2.asp?mmnno=388&amp;pagename=SITE218011">register here</a></strong>.</p>
<p><a title="Click for 360-view in Photosynth" href="http://photosynth.net/view.aspx?cid=a0f5feca-063d-4e3e-a621-91dde8be3ade"><img style="display:inline;float:right;margin:10px 0 10px 10px;" title="Kodiak room: Click for 360-view in Photosync" alt="Kodiak room: Click for 360-view in Photosynth" align="right" src="http://herbsutter.files.wordpress.com/2012/01/image10.png?w=240&#038;h=159" width="240" height="159" /></a><strong>S</strong><strong>peakers and Sessions. </strong>Here’s a summary of the talk titles; see the page for the full session list with abstracts. The bulk of the program is all about the new C++11 standard as it exists today. On Day 2, we’ve also included a couple of forward-looking topics that C++ developers are frequently asking about and we felt were important to cover – especially with the key experts already in the building. The program also includes two interactive panels where you’ll be able to ask and tweet questions for the speakers.</p>
<p><em>Day 1 (Theme: C++11 Today)</em></p>
<ul>
<li>Opening Keynote: C++11 Style (Bjarne Stroustrup, TAMU) </li>
<li>Threads and Shared Variables in C++11 (Hans Boehm, Hewlett-Packard) </li>
<li>STL11 – Magic &amp;&amp; Secrets (Stephan T. Lavavej, Microsoft) </li>
<li>Variadic Templates are Funadic (Andrei Alexandrescu, Facebook) </li>
<li>Panel: The Importance of Being Native (Andrei Alexandrescu, Hans Boehm, Bjarne Stroustrup, Herb Sutter) </li>
</ul>
<p><em>Day 2 (Theme: C++11 Today and Tomorrow)</em></p>
<ul>
<li>C++11, VC++11 and Beyond (Herb Sutter, Microsoft) </li>
<li>C++11 and Clang (Chandler Carruth, Google) </li>
<li>Static If I Had a Hammer (Andrei Alexandrescu, Facebook) </li>
<li>A Concept Design for C++ (Bjarne Stroustrup and Andrew Sutton, TAMU) </li>
<li>Panel: Ask Us Anything! (all speakers) </li>
</ul>
<p>As promised, the focus on learning and using Standard C++11 – what it is, where it’s at, and where it’s going. I’m really excited to be a part of this, and I hope you enjoy it. In my <a href="http://herbsutter.com/2011/11/23/c-spring-goingnative-feb-2-3-2012/">original post</a> I listed several ways your team can benefit from this material remotely, and I encourage you to plan for it, live or otherwise. I look forward to seeing many of you there in person.</p>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/1322/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1322/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1322/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1322/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1322/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1322/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1322/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1322/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1322/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1322/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1322/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1322/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1322/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1322/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=1322&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2012/01/16/c11-goingnative-2012-speakers-and-sessions/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>

		<media:content url="http://herbsutter.files.wordpress.com/2012/01/image_thumb9.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://herbsutter.files.wordpress.com/2012/01/image10.png" medium="image">
			<media:title type="html">Kodiak room: Click for 360-view in Photosync</media:title>
		</media:content>
	</item>
		<item>
		<title>Map of C++</title>
		<link>http://herbsutter.com/2012/01/10/map-of-c/</link>
		<comments>http://herbsutter.com/2012/01/10/map-of-c/#comments</comments>
		<pubDate>Tue, 10 Jan 2012 17:01:07 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">http://herbsutter.com/?p=1314</guid>
		<description><![CDATA[Hilarious and apt. Nice work, Alena and Jim. Filed under: C++<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=1314&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://goldns.ru/cppmap-2012.png"><img class="alignright size-full wp-image-1317" title="map-small" src="http://herbsutter.files.wordpress.com/2012/01/map-small.png?w=500" alt="Map of C++"   /></a><a href="http://goldns.ru/cppmap-2012.png">Hilarious and apt.</a> Nice work, Alena and Jim.</p>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/1314/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1314/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1314/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1314/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1314/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1314/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1314/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1314/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1314/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1314/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1314/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1314/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1314/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1314/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=1314&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2012/01/10/map-of-c/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>

		<media:content url="http://herbsutter.files.wordpress.com/2012/01/map-small.png" medium="image">
			<media:title type="html">map-small</media:title>
		</media:content>
	</item>
		<item>
		<title>Welcome to the Jungle</title>
		<link>http://herbsutter.com/2011/12/29/welcome-to-the-jungle/</link>
		<comments>http://herbsutter.com/2011/12/29/welcome-to-the-jungle/#comments</comments>
		<pubDate>Fri, 30 Dec 2011 01:53:11 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[Concurrency]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Opinion & Editorial]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/?p=1271</guid>
		<description><![CDATA[With so much happening in the computing world, now seemed like the right time to write “Welcome to the Jungle” – a sequel to my earlier “The Free Lunch Is Over” essay. Here’s the introduction: &#160; Welcome to the Jungle In the twilight of Moore’s Law, the transitions to multicore processors, GPU computing, and HaaS [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=1271&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>With so much happening in the computing world, now seemed like the right time to write <a href="http://herbsutter.com/welcome-to-the-jungle/"><strong>“Welcome to the Jungle”</strong></a><strong> </strong>– a sequel to my earlier “The Free Lunch Is Over” essay. Here’s the introduction:</p>
<p>&#160;</p>
<blockquote><h3><strong><a href="http://herbsutter.com/welcome-to-the-jungle/">Welcome to the Jungle</a></strong></h3>
<p align="center"><em>In the twilight of Moore’s Law, the transitions to multicore processors, GPU computing, and HaaS cloud computing are not separate trends, but aspects of a single trend – mainstream computers from desktops to ‘smartphones’ are being permanently transformed into heterogeneous supercomputer clusters. Henceforth, a single compute-intensive application will need to harness different kinds of cores, in immense numbers, to get its job done.</em></p>
<p align="center"><em>The free lunch is over. Now welcome to the hardware jungle.</em></p>
<p>&#160;</p>
<p>From 1975 to 2005, our industry accomplished a phenomenal mission: In 30 years, we put a personal computer on every desk, in every home, and in every pocket.</p>
<p>In 2005, however, mainstream computing hit a wall. In <a href="http://www.gotw.ca/publications/concurrency-ddj.htm"><strong>“The Free Lunch Is Over”</strong> (December 2004)</a>, I described the reasons for the then-upcoming industry transition from single-core to multi-core CPUs in mainstream machines, why it would require changes throughout the software stack from operating systems to languages to tools, and why it would permanently affect the way we as software developers have to write our code if we want our applications to continue exploiting Moore’s transistor dividend.</p>
<p>In 2005, our industry undertook a new mission: to put a personal parallel supercomputer on every desk, in every home, and in every pocket. 2011 was special: it’s the year that we completed the transition to parallel computing in all mainstream form factors, with the arrival of multicore tablets (e.g., iPad 2, Playbook, Kindle Fire, Nook Tablet) and smartphones (e.g., Galaxy S II, Droid X2, iPhone 4S). 2012 will see us continue to build out multicore with mainstream quad- and eight-core tablets (as Windows 8 brings a modern tablet experience to x86 as well as ARM), <a href="http://herbsutter.files.wordpress.com/2011/12/image_thumb99.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;float:right;padding-top:0;border-width:0;margin:20px 0 0 10px;" title="image_thumb99" border="0" alt="image_thumb99" align="right" src="http://herbsutter.files.wordpress.com/2011/12/image_thumb99_thumb.png?w=480&#038;h=228" width="480" height="228" /></a>and the last single-core gaming console holdout will go multicore (as Nintendo’s Wii U replaces Wii).</p>
<p>This time it took us just six years to deliver mainstream parallel computing in all popular form factors. And we know the transition to multicore is permanent, because multicore delivers compute performance that single-core cannot and there will always be mainstream applications that run better on a multi-core machine. There’s no going back.</p>
<p>For the first time in the history of computing, mainstream hardware is no longer a single-processor von Neumann machine, and never will be again.</p>
<p><em>That was the first act.&#160; . . .</em></p>
</blockquote>
<p>&#160;</p>
<p>I hope you enjoy it.</p>
<br />Filed under: <a href='http://herbsutter.com/category/concurrency/'>Concurrency</a>, <a href='http://herbsutter.com/category/hardware/'>Hardware</a>, <a href='http://herbsutter.com/category/opinion-editorial/'>Opinion &amp; Editorial</a>, <a href='http://herbsutter.com/category/software-development/'>Software Development</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/1271/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1271/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1271/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1271/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1271/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1271/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1271/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1271/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1271/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1271/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1271/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1271/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1271/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1271/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=1271&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/12/29/welcome-to-the-jungle/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>

		<media:content url="http://herbsutter.files.wordpress.com/2011/12/image_thumb99_thumb.png" medium="image">
			<media:title type="html">image_thumb99</media:title>
		</media:content>
	</item>
		<item>
		<title>GotW #102: Exception-Safe Function Calls (Difficulty: 7/10)</title>
		<link>http://herbsutter.com/2011/12/02/gotw-102-exception-safe-function-calls-difficulty-710/</link>
		<comments>http://herbsutter.com/2011/12/02/gotw-102-exception-safe-function-calls-difficulty-710/#comments</comments>
		<pubDate>Sat, 03 Dec 2011 01:17:53 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/?p=1109</guid>
		<description><![CDATA[JG Question 1. In each of the following statements, what can you say about the order of evaluation of the functions f, g, and h and the expressions expr1 and expr2? Assume that expr1 and expr2 do not contain more function calls. &#160; Guru Questions 2. In your travels through the dusty corners of your [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=1109&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h3><img style="display:inline;float:right;margin:0 0 0 10px;" src="http://herbsutter.files.wordpress.com/2011/11/image4.png?w=137&amp;h=244" alt="" align="right" />JG Question</h3>
<p>1. In each of the following statements, what can you say about the order of evaluation of the functions <em>f</em>, <em>g</em>, and <em>h</em> and the expressions <em>expr1 </em>and <em>expr2</em>? Assume that <em>expr1 </em>and <em>expr2 </em>do not contain more function calls.</p>
<div id="scid:C89E2BDB-ADD3-4f7a-9810-1B7EACF446C1:cd0f240e-8c2b-4bfa-b87e-c20e281fd52a" class="wlWriterEditableSmartContent" style="display:inline;float:none;margin:0;padding:0;"><pre class="brush: cpp; gutter: false; highlight: [1,5]; pad-line-numbers: true;">
// Example 1(a)
//
f( expr1, expr2 );

// Example 1(b)
//
f( g( expr1 ), h( expr2 ) );
</pre></p>
</div>
<p>&nbsp;</p>
<h3>Guru Questions</h3>
<p>2. In your travels through the dusty corners of your company&#8217;s code archives, you find the following code fragment:</p>
<div id="scid:C89E2BDB-ADD3-4f7a-9810-1B7EACF446C1:c21ad45f-ae91-4a41-9ad4-0d7b4b9fbf4f" class="wlWriterEditableSmartContent" style="display:inline;float:none;margin:0;padding:0;"><pre class="brush: cpp; first-line: 1; gutter: false; highlight: [1];">
//  Example 2

//  In some header file:
void f( T1*, T2* );

//  At some call site:
f( new T1, new T2 );
</pre></p>
</div>
<p>Does this code have any potential exception safety or other problems? Explain.</p>
<p>&nbsp;</p>
<p>3. As you continue to root through the archives, you see that someone must not have liked Example 2 because later versions of the files in question were changed as follows:</p>
<div id="scid:C89E2BDB-ADD3-4f7a-9810-1B7EACF446C1:24d44790-97b4-4cce-bc9e-43e70523f575" class="wlWriterEditableSmartContent" style="display:inline;float:none;margin:0;padding:0;"><pre class="brush: cpp; gutter: false; highlight: [1];">
//  Example 3

//  In some header file:
void f( std::unique_ptr&lt;T1&gt;, std::unique_ptr&lt;T2&gt; );

//  At some call site:
f( std::unique_ptr&lt;T1&gt;{ new T1 }, std::unique_ptr&lt;T2&gt;{ new T2 } );
</pre></p>
</div>
<p>What are the semantics of this call? What improvements does this version offer over Example 2, if any? Do any exception safety problems remain? Explain.</p>
<p>&nbsp;</p>
<p>4. Demonstrate how to write a <em>make_unique</em> facility that solves the safety problems in Question 3 and can be invoked as follows:</p>
<div id="scid:C89E2BDB-ADD3-4f7a-9810-1B7EACF446C1:791a704a-8978-410f-8fc9-e85bc951c4b1" class="wlWriterEditableSmartContent" style="display:inline;float:none;margin:0;padding:0;"><pre class="brush: cpp; gutter: false; highlight: [1];">
//  Example 4

//  In some header file:
void f( std::unique_ptr&lt;T1&gt;, std::unique_ptr&lt;T2&gt; );

//  At some call site:
f( make_unique&lt;T1&gt;(), make_unique&lt;T2&gt;() );
</pre></p>
</div>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/1109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1109/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=1109&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/12/02/gotw-102-exception-safe-function-calls-difficulty-710/feed/</wfw:commentRss>
		<slash:comments>30</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>

		<media:content url="http://herbsutter.files.wordpress.com/2011/11/image4.png?w=137&#38;h=244" medium="image" />
	</item>
		<item>
		<title>GotW #101: Solution</title>
		<link>http://herbsutter.com/2011/12/02/gotw-101-solution/</link>
		<comments>http://herbsutter.com/2011/12/02/gotw-101-solution/#comments</comments>
		<pubDate>Sat, 03 Dec 2011 01:06:11 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/?p=1107</guid>
		<description><![CDATA[The solution to GotW #101 is now live. Filed under: C++<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=1107&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://herbsutter.com/gotw/_101/"><img style="display:inline;float:right;margin:0 0 0 10px;" align="right" src="http://herbsutter.files.wordpress.com/2011/11/image_thumb31.png?w=500" /></a><a href="http://herbsutter.com/gotw/_101/">The solution to GotW #101 is now live.</a></p>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/1107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1107/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=1107&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/12/02/gotw-101-solution/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>

		<media:content url="http://herbsutter.files.wordpress.com/2011/11/image_thumb31.png" medium="image" />
	</item>
		<item>
		<title>C++ Spring: GoingNative, Feb 2-3, 2012</title>
		<link>http://herbsutter.com/2011/11/23/c-spring-goingnative-feb-2-3-2012/</link>
		<comments>http://herbsutter.com/2011/11/23/c-spring-goingnative-feb-2-3-2012/#comments</comments>
		<pubDate>Thu, 24 Nov 2011 02:05:09 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/?p=1090</guid>
		<description><![CDATA[I’m very pleased to announce the C++ event of the first half of 2012: GoingNative 2012, to be held on February 2-3 in Redmond, WA, USA. (C++ and Beyond will also be great, but won’t be till the second half of the year – and there are other C++ conferences/events coming too. I can’t remember [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=1090&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I’m very pleased to announce <strong><u>the</u></strong> C++ event of the first half of 2012: <strong><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012">GoingNative 2012</a></strong>, to be held on February 2-3 in Redmond, WA, USA. (<em>C++ and Beyond</em> will also be great, but won’t be till the second half of the year – and there are other C++ conferences/events coming too. I can’t remember a year with this many C++ conferences since, oh, about 1999.)</p>
<p>This is Microsoft’s first native-code-only developer event in years, and it’s not limited to Microsoft products or technologies – it’s about ISO C++ on all platforms. We’re taking the initiative to put on this event because we know that there’s a huge demand for information about the new ISO C++11 standard, but that information is still really hard to come by – the standard was just published last month, none of the major books has been updated yet to reflect it, and high-quality public information is just starting to trickle out (I’m trying to <a href="http://herbsutter.com/2011/11/16/gotw-100-solution/">do my part too</a>).</p>
<p>So we decided to try to do our bit to help generate that information and make it available as widely as possible – by inviting many of the world’s top C++ speakers, charging in-person attendees basically just enough to cover costs, and making the whole thing available on the web for free, live and on-demand, for everyone in the world who is interested in ISO C++.</p>
<p>The goal is to promote portable ISO C++ in all its modern C++11 glory – clean, safe, and fast – as clean and safe as code written in any other modern language. As someone famous put it:</p>
<p align="center"><strong><em>“C++11 feels like a new language.” – Bjarne Stroustrup</em></strong></p>
<p>He’s right, and we’re all still learning it and figuring it out – that includes the world’s top experts, who are busily documenting the modern best practices for this grand new language. We hope this event might help us all take a step forward on that path.</p>
<p>Key points about GoingNative:</p>
<ul>
<li><strong>It’s focused on ISO C++:</strong> Two jam-packed days about C++ on all platforms. There will be material about Microsoft tools too, but also about other technologies with speakers like Andrei Alexandrescu of Facebook, and an overall emphasis on portable C++ code and the power and simplicity of the new ISO C++11 standard just published last month.</li>
<li><strong>It’s top quality:</strong> Many of the world’s top C++ speakers will be there, starting with Bjarne Stroustrup’s opening keynote.</li>
<li><strong>It’s affordable:</strong> $112 to attend the entire event in person, which has got to make this about the cheapest technical conference anywhere, and free on the web both live and on demand.</li>
<li>Oh, and there’s a party. That’s included in the $112, not an extra bag-check-style fee.</li>
</ul>
<p>Here are my personal suggestions for how you might enjoy what we hope will be a trove of accessible C++ information:</p>
<ul>
<li><strong>Consider coming in person (but register early).</strong> If you or your group want to be there in the building, the good news is that they got the biggest room on the Microsoft campus and it can hold about 350 people. The bad news is that it can hold only about 350 people, and at this price and with all of the interest in C++11, I personally expect to see that sell out well before the conference begins.</li>
<li><strong>Consider making it a party at your own company.</strong> Clear your team’s schedule for two days, book your company’s biggest conference room with the biggest projector system (or a nearby hotel meeting room), and watch live over the Internet on the big screen. Bring chips and pop and beer. Cater lunch. This can be <em>your</em> team event. Think of it as your team’s own technical Super Bowl party (and a good warmup for the Super Bowl itself two days later).</li>
<li><strong>Consider using the material for a brownbag series.</strong> If clearing your team’s schedule for two solid days to watch it live is too hard, just use the fact that we’re making it available for free on demand – get together to watch it one talk at a time over a series of team lunch events in the weeks and months to follow. Make it a C++ Spring. Each event could be anything from a Tuesday brownbag to a Friday afternoon party – together with your colleagues and special party guests like Bjarne.</li>
<li><strong>Or something else.</strong> We’re just making the information available; how you use it is up to you. We just hope that lots of people do find it useful.</li>
</ul>
<p>I hope to see or e-see you there.</p>
<p>Pasting from the announcement:</p>
<blockquote><h3><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012">GoingNative 2012</a></h3>
<p>We know developers are hungry for information about <strong>C++11. </strong>The GoingNative conference aims to provide current technical information to as many people as possible.</p>
<p><a href="https://dynamicevents.emeetingsonline.com/emeetings/websitev2.asp?mmnno=388&amp;pagename=SITE218011"><strong>Register now!</strong></a></p>
<p><strong>GoingNative 2012</strong> is a 48 hour technical event for those who push the boundaries of general purpose computing by exploiting the true capabilities of the underlying machine: C++ developers. Distinguished speakers include the creator of C++, <strong>Bjarne Stroustrup;</strong> C++ standards committee chair, <strong>Herb Sutter;</strong> C++ template and big compute master, <strong>Andrei Alexandrescu;</strong> STL master <strong>Stephan T. Lavavej;</strong> and more! Official agenda will be be released over the next month or so. Join us!</p>
<p><strong>Event Details:</strong></p>
<p><strong>Feb 2-3, 2012       <br />Microsoft Corporate Campus        <br />Building 33        <br /></strong><strong>Redmond, WA, USA</strong></p>
<p><strong>Streamed live </strong>(on-demand &lt; 24 hours later, each day) <a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012">right here</a>.      <br /><strong>Evening event</strong> (party &#8211; great food(dinner), music, drink and people!)      <br /><strong>Shuttles</strong> from Bellevue&#8217;s Lincoln Square (where we recommend <a href="http://www.expedia.com/Lincoln-Square-Hotels.0-l6093305-0.Travel-Guide-Filter-Hotels"><strong>booking your hotel</strong></a>)      <br /><a href="https://dynamicevents.emeetingsonline.com/emeetings/websitev2.asp?mmnno=388&amp;pagename=SITE218011"><strong>Hurry up and reserve your spot</strong></a>. Come meet some of your heroes. Engage with your peers. This is going to rock and roll, C++ style!</p>
</blockquote>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/1090/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1090/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1090/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1090/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1090/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1090/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1090/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1090/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1090/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1090/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1090/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1090/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1090/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1090/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=1090&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/11/23/c-spring-goingnative-feb-2-3-2012/feed/</wfw:commentRss>
		<slash:comments>28</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>
	</item>
		<item>
		<title>GotW #101: Compilation Firewalls, Part 2 (Difficulty: 8/10)</title>
		<link>http://herbsutter.com/2011/11/16/gotw-101/</link>
		<comments>http://herbsutter.com/2011/11/16/gotw-101/#comments</comments>
		<pubDate>Wed, 16 Nov 2011 19:03:10 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[GotW]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/?p=1014</guid>
		<description><![CDATA[GotW #100 demonstrated the best way to express the Pimpl idiom using only standard C++11 features: Guru Question Is it possible to make the widget code easier to write by wrapping the Pimpl pattern in some sort of library helper? If so, how? Try to make the widget code as convenient and concise as possible [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=1014&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>GotW #100 demonstrated the best way to express the Pimpl idiom using only standard C++11 features:</p>
<div id="scid:C89E2BDB-ADD3-4f7a-9810-1B7EACF446C1:25a06b6b-e8fa-4092-8bfa-3054ee27e6c3" class="wlWriterEditableSmartContent" style="display:inline;float:none;margin:0;padding:10px;"><pre class="brush: cpp; gutter: false; highlight: [1,11];">
// in header file
class widget {
public:
    widget();
    ~widget();
private:
    class impl;
    unique_ptr&lt;impl&gt; pimpl;
};

// in implementation file
class widget::impl {
    // :::
};

widget::widget() : pimpl{ new impl{ /*...*/ } } { }
widget::~widget() { }                   // or =default
</pre></p>
</div>
<p><a href="http://herbsutter.files.wordpress.com/2011/11/image23.png"><img style="background-image:none;padding-left:10px;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" src="http://herbsutter.files.wordpress.com/2011/11/image_thumb17.png?w=244&#038;h=123" alt="image" width="244" height="123" align="right" border="0" /></a></p>
<h3>Guru Question</h3>
<p>Is it possible to make the <em>widget</em> code easier to write by wrapping the Pimpl pattern in some sort of library helper? If so, how?</p>
<p>Try to make the <em>widget</em> code as convenient and concise as possible to write, with any compiler-generated semantics either correct by default or producing compile-time errors if the <em>widget</em> author forgets to write them.</p>
<p>&nbsp;</p>
<p><em>[Update: Removed move operations from the basic pattern. Since not all Pimpl’d types need to be move-aware, it’s not really part of the core pattern.]</em></p>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>, <a href='http://herbsutter.com/category/c/gotw/'>GotW</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/1014/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1014/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1014/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1014/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1014/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1014/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1014/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1014/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1014/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1014/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1014/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1014/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1014/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1014/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=1014&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/11/16/gotw-101/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>

		<media:content url="http://herbsutter.files.wordpress.com/2011/11/image_thumb17.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>GotW #100: Solution</title>
		<link>http://herbsutter.com/2011/11/16/gotw-100-solution/</link>
		<comments>http://herbsutter.com/2011/11/16/gotw-100-solution/#comments</comments>
		<pubDate>Wed, 16 Nov 2011 18:55:23 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[GotW]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/2011/11/16/gotw-100-solution/</guid>
		<description><![CDATA[The solution to GotW #100 is now live. Filed under: C++, GotW<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=1011&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://herbsutter.files.wordpress.com/2011/11/image_thumb31.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;float:right;border-top:0;border-right:0;padding-top:0;" title="image_thumb[3]" border="0" alt="image_thumb[3]" align="right" src="http://herbsutter.files.wordpress.com/2011/11/image_thumb3_thumb.png?w=364&#038;h=181" width="364" height="181" /></a></p>
<p>The <a href="http://herbsutter.com/gotw/_100/">solution to GotW #100 is now live</a>.</p>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>, <a href='http://herbsutter.com/category/c/gotw/'>GotW</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/1011/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1011/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1011/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1011/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1011/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1011/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1011/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1011/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1011/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1011/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1011/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1011/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1011/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1011/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=1011&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/11/16/gotw-100-solution/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>

		<media:content url="http://herbsutter.files.wordpress.com/2011/11/image_thumb3_thumb.png" medium="image">
			<media:title type="html">image_thumb[3]</media:title>
		</media:content>
	</item>
		<item>
		<title>GotW #100: Compilation Firewalls</title>
		<link>http://herbsutter.com/2011/11/04/gotw-100-compilation-firewalls/</link>
		<comments>http://herbsutter.com/2011/11/04/gotw-100-compilation-firewalls/#comments</comments>
		<pubDate>Fri, 04 Nov 2011 22:52:20 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[GotW]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/2011/11/04/gotw-100-compilation-firewalls/</guid>
		<description><![CDATA[JG Questions 1. What is the Pimpl Idiom, and why is it useful? Guru Questions 2. What is the best way to express the basic Pimpl Idiom in C++11? 3. What parts of the class should go into the impl object? Some potential options include: put all private data (but not functions) into impl; put [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=900&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;float:right;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" align="right" src="http://herbsutter.files.wordpress.com/2011/11/image4.png?w=137&#038;h=244" width="137" height="244" /></p>
<h3>JG Questions</h3>
<p>1. What is the Pimpl Idiom, and why is it useful?</p>
<h3>Guru Questions</h3>
<p>2. What is the best way to express the basic Pimpl Idiom in C++11?</p>
<p>3. What parts of the class should go into the <em>impl</em> object? Some potential options include:</p>
<ul>
<li>put all private data (but not functions) into <em>impl</em>; </li>
<li>put all private members into <em>impl</em>; </li>
<li>put all private and protected members into <em>impl</em>; </li>
<li>put all private nonvirtual members into <em>impl</em>; </li>
<li>put everything into <em>impl</em>, and write the public class itself as only the public interface, each implemented as a simple forwarding function (a handle/body variant).</li>
</ul>
<p>What are the advantages/drawbacks of each? How would you choose among them?</p>
<p>4. Does the <em>impl </em>require a back pointer to the public object? If yes, what is the best way to provide it? If not, why not?</p>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>, <a href='http://herbsutter.com/category/c/gotw/'>GotW</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/900/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/900/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/900/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/900/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/900/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/900/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/900/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/900/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/900/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/900/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/900/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/900/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/900/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/900/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=900&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/11/04/gotw-100-compilation-firewalls/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>

		<media:content url="http://herbsutter.files.wordpress.com/2011/11/image4.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>A Passing of Giants</title>
		<link>http://herbsutter.com/2011/11/02/a-passing-of-giants/</link>
		<comments>http://herbsutter.com/2011/11/02/a-passing-of-giants/#comments</comments>
		<pubDate>Thu, 03 Nov 2011 06:14:16 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[Friday Thoughts]]></category>
		<category><![CDATA[Opinion & Editorial]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/2011/11/02/a-passing-of-giants/</guid>
		<description><![CDATA[I don&#8217;t normally blog poetry, but the passing of our giants this past month has put me in such a mood. . What is built becomes our future Hand-constructed, stone by stone Quarried by our elders&#8217; labors Fashioned with their strength and bone Dare to dream, and dare to conquer Fears by building castles grand [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=840&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img style="background-image:none;padding-left:0;padding-right:0;display:inline;float:right;padding-top:0;border:0;margin:0 0 0 10px;" title="image" src="http://herbsutter.files.wordpress.com/2011/11/image3.png?w=188&#038;h=244" alt="image" width="188" height="244" align="right" border="0" /><br />
I don&#8217;t normally blog poetry, but <a href="http://herbsutter.com/2011/10/06/steve-jobs/">the passing</a> <a href="http://herbsutter.com/2011/10/12/dennis-ritchie/">of our giants</a> <a href="http://herbsutter.com/2011/10/25/john-mccarthy/">this past month</a> has put me in such a mood.</p>
<p><span style="color:#ffffff;">.</span></p>
<p>What is built becomes our future<br />
Hand-constructed, stone by stone<br />
Quarried by our elders&#8217; labors<br />
Fashioned with their strength and bone<br />
Dare to dream, and dare to conquer<br />
Fears by building castles grand<br />
But ne&#8217;er forget, and e&#8217;er remember<br />
To take a new step we must stand<br />
On the shoulders of our giants<br />
Who, seeing off into the morrow,<br />
Made the dreams of past turn truth &#8211;<br />
How their passing is our sorrow.</p>
<br />Filed under: <a href='http://herbsutter.com/category/friday-thoughts/'>Friday Thoughts</a>, <a href='http://herbsutter.com/category/opinion-editorial/'>Opinion &amp; Editorial</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/840/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/840/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/840/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/840/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/840/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/840/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/840/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/840/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/840/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/840/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/840/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/840/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/840/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/840/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=840&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/11/02/a-passing-of-giants/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>

		<media:content url="http://herbsutter.files.wordpress.com/2011/11/image3.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Scott Meyers&#8217; C++11 Materials: The Best Available Overview of C++11</title>
		<link>http://herbsutter.com/2011/11/01/scott-meyerss-c11-materials-the-best-available-overview-of-c11/</link>
		<comments>http://herbsutter.com/2011/11/01/scott-meyerss-c11-materials-the-best-available-overview-of-c11/#comments</comments>
		<pubDate>Wed, 02 Nov 2011 00:14:44 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/2011/11/01/scott-meyerss-c11-materials-the-best-available-overview-of-c11/</guid>
		<description><![CDATA[&#160; People keep asking me where to find good information on C++11. Until now I’ve had to point them to blogs, and say that we’re all working on revising our books but it’ll take a while. It’s been an unsatisfying answer. Finally I have a C++11 “book” I can direct people to: Today Scott Meyers [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=819&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.artima.com/shop/overview_of_the_new_cpp"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;float:right;border-top:0;border-right:0;padding-top:0;" title="Scott Meyers Presentation Materials: Overview of the New C++ (C++11)" border="0" alt="Scott Meyers Presentation Materials: Overview of the New C++ (C++11)" align="right" src="http://herbsutter.files.wordpress.com/2011/11/image2.png?w=244&#038;h=244" width="244" height="244" /></a></p>
<p>&#160;</p>
<p>People keep asking me where to find good information on C++11. Until now I’ve had to point them to blogs, and say that we’re all working on revising our books but it’ll take a while. It’s been an unsatisfying answer.</p>
<p>Finally I have a C++11 “book” I can direct people to: Today <a href="http://scottmeyers.blogspot.com/2011/11/c11-training-materials-updated.html">Scott Meyers announced</a> that his fully-annotated C++11 training materials are now up-to-date with the final published standard.</p>
<p>This is the best overview of C++11 available today, and it’s good:</p>
<blockquote><p><strong><a href="http://www.artima.com/shop/overview_of_the_new_cpp">Presentation Materials: Overview of the New C++ (C++11)</a>        <br /></strong>by Scott Meyers</p>
<p>PDF $29.95</p>
<p>&#8230;</p>
<p>The PDF you&#8217;ll get is an exact snapshot of Scott&#8217;s full-color training materials on the day he generates the PDF. You&#8217;ll get not only the slides Scott shows in class, you&#8217;ll also get the accompanying notes—the very ones Scott uses. To see exactly what you&#8217;ll get you can <a href="http://www.artima.com/samples/cpp11NotesSample.pdf">view a free sample</a>.</p>
<p>&#8230;</p>
<p>Specification of the new version of C++ (“C++11”) is finally complete, and many compilers (e.g., Visual C++ and Gnu C++) already offer many features from the revised language. And such features! auto-declared variables reduce typing drudgery and syntactic noise; Unicode and threading support address important functionality gaps; and rvalue references and variadic templates facilitate the creation of more efficient, more flexible libraries. The standard library gains resource-managing smart pointers, new containers, additional algorithms, support for regular expressions, and more. Altogether, C++11 offers <em>much </em>more than “old” C++. This intensively technical seminar introduces the most important new features in C++11 and explains how to get the most out of them.</p>
</blockquote>
<p>I like Scott’s terms: Free updates for life, including major revisions, so it’ll never be out of date. DRM-free, so that you can copy, annotate, and print as you like.</p>
<p>If you want to know about C++11, invest the $30. You won’t regret it.</p>
<p><strong>Disclaimer:</strong> I have no financial interest in recommending Scott’s materials. I just think they’re excellent and everyone should know about them.</p>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/819/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/819/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/819/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/819/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/819/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/819/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/819/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/819/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/819/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/819/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/819/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/819/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/819/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/819/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=819&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/11/01/scott-meyerss-c11-materials-the-best-available-overview-of-c11/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>

		<media:content url="http://herbsutter.files.wordpress.com/2011/11/image2.png" medium="image">
			<media:title type="html">Scott Meyers Presentation Materials: Overview of the New C++ (C++11)</media:title>
		</media:content>
	</item>
		<item>
		<title>Elements of Modern C++ Style</title>
		<link>http://herbsutter.com/2011/10/28/elements-of-modern-c-style/</link>
		<comments>http://herbsutter.com/2011/10/28/elements-of-modern-c-style/#comments</comments>
		<pubDate>Sat, 29 Oct 2011 01:13:40 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/2011/10/28/elements-of-modern-c-style/</guid>
		<description><![CDATA[As I’m getting ready to resume writing a few new (or updated) Guru of the Week Items for the C++11 era, I’ve been looking through the wonderful features of C++11 and analyzing just which ones will affect the baseline style of how I write modern C++ code, both for myself and for publication. I’ve gathered [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=791&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img style="background-image:none;padding-left:0;padding-right:0;display:inline;float:right;padding-top:0;border-width:0;" title="image" border="0" alt="image" align="right" src="http://herbsutter.files.wordpress.com/2011/10/image3.png?w=244&#038;h=146" width="244" height="146" /></p>
<p>As I’m getting ready to resume writing a few new (or updated) Guru of the Week Items for the C++11 era, I’ve been looking through the wonderful features of C++11 and analyzing just which ones will affect the baseline style of how I write modern C++ code, both for myself and for publication.</p>
<p>I’ve gathered the results in a short page. Here’s the intro:</p>
<blockquote><p><strong><a href="http://herbsutter.com/elements-of-modern-c-style/">Elements of Modern C++ Style</a></strong></p>
<p align="center"><em>“C++11 feels like a new language.” – Bjarne Stroustrup</em></p>
<p>The C++11 standard offers many useful new features. This page focuses specifically and only on those features that make C++11 really feel like a new language compared to C++98, because:</p>
<ul>
<li>They change the styles and idioms you’ll use when writing C++ code, often including the way you’ll design C++ libraries. For example, you’ll see more smart pointers, and functions that return big objects by value. </li>
<li>They will be used so pervasively that you’ll probably see them in most code examples. For example, virtually every five-line modern C++ code example will say “auto” somewhere. </li>
</ul>
<p>Use the other great C++11 features too. But get used to these ones first, because these are the pervasive ones that show why C++11 code is clean, safe, and fast – just as clean and safe as code written in any other modern mainstream language, and with C++’s traditional to-the-metal performance as strong as ever.</p>
<p>Like Strunk &amp; White, this page is deliberately focused on brief summary guidance. It is not intended to provide exhaustive rationale and pro/con analysis; that will go into other articles.</p>
</blockquote>
<p>I hope you find it useful.</p>
<p>Apologies in advance if some of the code snippets are odd or missing template argument lists. Let me know and I’ll fix any I missed. I think I restored them all (again), but am still fighting my tools, which keep sporadically eating angle-bracket lists. Someday someone will integrate good code authoring in a good editor for a good blogging platform; today’s tools are at best “adequate.”</p>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>, <a href='http://herbsutter.com/category/software-development/'>Software Development</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/791/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/791/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/791/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/791/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/791/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/791/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/791/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/791/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/791/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/791/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/791/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/791/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/791/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/791/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=791&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/10/28/elements-of-modern-c-style/feed/</wfw:commentRss>
		<slash:comments>32</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>

		<media:content url="http://herbsutter.files.wordpress.com/2011/10/image3.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Garbage Collection Synopsis, and C++</title>
		<link>http://herbsutter.com/2011/10/25/garbage-collection-synopsis-and-c/</link>
		<comments>http://herbsutter.com/2011/10/25/garbage-collection-synopsis-and-c/#comments</comments>
		<pubDate>Tue, 25 Oct 2011 23:44:51 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C# / .NET]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/2011/10/25/garbage-collection-synopsis-and-c/</guid>
		<description><![CDATA[In response to my note about John McCarthy’s inventing automatic (non ref-counted) garbage collection, rosen4obg asked: OK, GC was invented half a century ago. When it is going to land in the C++ world? Here’s a short but detailed answer, which links to illuminating reading and videos. The Three Kinds of GC The three major [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=752&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img style="background-image:none;padding-left:0;padding-right:0;display:inline;float:right;padding-top:0;border:0;" title="Insert your favorite &quot;stop the world&quot; joke here." src="http://herbsutter.files.wordpress.com/2011/10/image2.png?w=175&#038;h=244" alt="Insert your favorite &quot;stop the world&quot; joke here." width="175" height="244" align="right" border="0" /></p>
<p>In response to my <a href="http://herbsutter.com/2011/10/25/john-mccarthy/">note about John McCarthy’s inventing automatic (non ref-counted) garbage collection</a>, rosen4obg asked:</p>
<blockquote><p>OK, GC was invented half a century ago. When it is going to land in the C++ world?</p></blockquote>
<p>Here’s a short but detailed answer, which links to illuminating reading and videos.</p>
<h3>The Three Kinds of GC</h3>
<p>The three major families of garbage collection are:</p>
<ol>
<li>Reference counting.</li>
<li>Mark-sweep (aka non-moving) collectors, where objects are collected but live objects don&#8217;t move. This is what McCarthy first invented.</li>
<li>Mark-compact (aka moving) collectors, where live objects are moved together to make allocated memory more compact. Note that doing this involves updating pointers&#8217; values on the fly. This category includes semispace collectors as well as the more efficient modern ones like the .NET CLR&#8217;s that don&#8217;t use up half your memory or address space.</li>
</ol>
<p>When I say &#8220;automatic GC&#8221; I mean #2 or #3.</p>
<h3>GC and C++</h3>
<p>C++ has always supported #1 well via reference counted smart pointers. Those are now standard in C++11 in the form of unique_ptr, shared_ptr, weak_ptr. C++98 had auto_ptr, but it was never great and has been deprecated.</p>
<p>C++ has long supported #2, but less formally because the products were nonstandard, conservative, and not as portable. The major prior art is the Boehm (later Great Circle and Symantec) mark-sweep garbage collector. The new C++11 standard has just added a minimal GC ABI to more formally bless such non-moving collectors; see <a href="http://www2.research.att.com/~bs/C++0xFAQ.html#gc-abi">Stroustrup&#8217;s GC FAQ</a> for more.</p>
<p>C++ cannot support #3 without at least a new pointer type, because C/C++ pointer values are required to be stable (not change their values), so that you can cast them to an int and back, or write them to a file and back; this is why we created the ^ pointer type for C++/CLI which can safely point into #3-style compacting GC heaps. See section 3.3 of my paper <a href="http://www.gotw.ca/publications/C++CLIRationale.pdf">A Design Rationale for C++/CLI</a> for more rationale about ^ and gcnew.</p>
<h3>Other GC Resources</h3>
<p>For a wonderful 57-minute conversation on garbage collection by one of the world&#8217;s top GC experts, run don&#8217;t walk to the <a href="http://channel9.msdn.com/Shows/Going+Deep/E2E-Erik-Meijer-and-Patrick-Dussud-Inside-Garbage-Collection">C9 “Inside Garbage Collection” interview with Patrick Dussud</a>. Patrick wrote the .NET CLR&#8217;s GC, and it was far from his first; before that he had deep experience implementing Lisp runtimes, and I&#8217;m sure has forgotten more about GC than I&#8217;ll ever know. He&#8217;s also a great guy to work with.</p>
<p>For a great book on GC, I love <a href="http://www.amazon.com/Garbage-Collection-Algorithms-Automatic-Management/dp/0471941484"><em>Garbage Collection</em> by Jones and Lins</a>.</p>
<br />Filed under: <a href='http://herbsutter.com/category/c-net/'>C# / .NET</a>, <a href='http://herbsutter.com/category/c/'>C++</a>, <a href='http://herbsutter.com/category/software-development/'>Software Development</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/752/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/752/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/752/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/752/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/752/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/752/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/752/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/752/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/752/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/752/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/752/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/752/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/752/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/752/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=752&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/10/25/garbage-collection-synopsis-and-c/feed/</wfw:commentRss>
		<slash:comments>34</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>

		<media:content url="http://herbsutter.files.wordpress.com/2011/10/image2.png" medium="image">
			<media:title type="html">Insert your favorite &#34;stop the world&#34; joke here.</media:title>
		</media:content>
	</item>
		<item>
		<title>John McCarthy</title>
		<link>http://herbsutter.com/2011/10/25/john-mccarthy/</link>
		<comments>http://herbsutter.com/2011/10/25/john-mccarthy/#comments</comments>
		<pubDate>Tue, 25 Oct 2011 08:15:08 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[Opinion & Editorial]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/2011/10/25/john-mccarthy/</guid>
		<description><![CDATA[What a sad, horrible month. First Steve Jobs, then Dennis Ritchie, and now John McCarthy. We are losing many of the greats all at once. If you haven’t heard of John McCarthy, you’re probably learning about his many important contributions now. Some examples: He’s the inventor of Lisp, the second-oldest high-level programming language, younger than [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=749&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img style="background-image:none;padding-left:0;padding-right:0;display:inline;float:right;padding-top:0;border:0;" title="image" src="http://herbsutter.files.wordpress.com/2011/10/image.png?w=244&#038;h=164" alt="image" width="244" height="164" align="right" border="0" /></p>
<p>What a sad, horrible month. First <a href="http://herbsutter.com/2011/10/06/steve-jobs/">Steve Jobs</a>, then <a href="http://herbsutter.com/2011/10/12/dennis-ritchie/">Dennis Ritchie</a>, and now John McCarthy. We are losing many of the greats all at once.</p>
<p>If you haven’t heard of John McCarthy, you’re probably learning about his many important contributions now. Some examples:</p>
<ul>
<li>He’s the inventor of Lisp, the second-oldest high-level programming language, younger than Fortran by just one year. Lisp is one of the most influential programming languages in history. Granted, however, most programmers don’t use directly Lisp-based languages, so its great influence has been mostly indirect.</li>
<li>He coined the term “artificial intelligence.” Granted, however, AI has got a bad rap from being oversold by enthusiasts like Minsky; for the past 20 years or so it’s been safer to talk in euphemisms like “expert systems.” So here too McCarthy’s great influence has been less direct.</li>
<li>He developed the idea of time-sharing, the first step toward multitasking. Okay, now we’re talking about a contribution that’s pretty directly influential to our modern systems and lives.</li>
</ul>
<p>But perhaps McCarthy’s most important single contribution to modern computer science is still something else, yet another major technology you won’t hear nearly enough about as being his invention:</p>
<p><strong>Automatic garbage collection. </strong>Which he invented circa 1959.</p>
<p>No, really, that’s not a typo: <strong>1959.</strong> For context, that year’s first quarter alone saw the beginning of the space age as Sputnik 1 came down at the end of its three-month orbit; Fidel Castro take Cuba; Walt Disney release <em>Sleeping Beauty</em>; <a href="http://en.wikipedia.org/wiki/The_Day_the_Music_Died">The Day the Music Died</a>; the first Barbie doll; and President Eisenhower signing a bill to enable Hawaii to become a state.</p>
<p>GC is <em>ancient</em>. Electronic computers with core memory were still something of a novelty (RAM didn’t show up until a decade or so later), machine memory was measured in scant kilobytes, and McCarthy was already managing those tiny memories with automatic garbage collection.</p>
<p>I’ve encountered people who think GC was invented by Java in 1995. It was actually invented more than half a century ago, when our industry barely even existed.</p>
<p>Thanks, John.</p>
<p>And here’s hoping we can take a break for a while from writing these memorials to our giants.</p>
<br />Filed under: <a href='http://herbsutter.com/category/opinion-editorial/'>Opinion &amp; Editorial</a>, <a href='http://herbsutter.com/category/software-development/'>Software Development</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/749/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/749/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/749/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/749/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/749/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/749/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/749/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/749/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/749/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/749/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/749/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/749/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/749/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/749/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=749&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/10/25/john-mccarthy/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>

		<media:content url="http://herbsutter.files.wordpress.com/2011/10/image.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Your First C Program</title>
		<link>http://herbsutter.com/2011/10/16/your-first-c-program/</link>
		<comments>http://herbsutter.com/2011/10/16/your-first-c-program/#comments</comments>
		<pubDate>Mon, 17 Oct 2011 01:12:19 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/2011/10/16/your-first-c-program/</guid>
		<description><![CDATA[As a tribute in honor of Dennis Ritchie’s passing, I’d like to invite you to share your thoughts in this post’s comments about your first C program – either the code if you remember it approximately, or a story about when you wrote it. Here’s mine. I wrote my first C program in 1988 as [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=728&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img style="display:inline;float:right;" align="right" src="http://ecx.images-amazon.com/images/I/41NH37S7YRL._SS500_.jpg" width="229" height="240" /></p>
<p>As a tribute in honor of <a href="http://herbsutter.com/2011/10/12/dennis-ritchie/">Dennis Ritchie’s passing</a>, I’d like to invite you to share your thoughts in this post’s comments about your first C program – either the code if you remember it approximately, or a story about when you wrote it.</p>
<p>Here’s mine.</p>
<p>I wrote my first C program in 1988 as a lab assignment for a fourth-year course in computer graphics at the University of Waterloo. In the first day or two of the course, our prof gave us our first assignment: Write a program that displays and controls a 3D animated robot with moving head, arms, and legs. Successive assignments would let us swoop around him, controlling point of view and zoom with a mouse, and other nifty features, but the first assignment was just to get him on-screen and capable of a little basic motion.</p>
<p>Oh, and the program was to be written:</p>
<ul>
<li>to run on one of the lab’s four brand-new <a href="http://en.wikipedia.org/wiki/SGI_IRIS">SGI IRIS</a> workstations (oh, here’s the manual);</li>
<li>using a custom UofW internal library (oh, here’s the manual);</li>
<li>in C (we assume you know it, use man to learn this compiler’s command line switches if you need to);</li>
</ul>
<p>and it’s due in a few days. I can’t remember exactly now, but I think we had something like five days. After all, this was just a warm-up initial exercise for the course.</p>
<p>Here’s the thing: I had never used C. Never even seen it.</p>
<p>Oh, I’d used many different languages in my undergrad career, from Cobol to Pascal to Prolog to 6809 assembler and many points between, but just never C. Don’t get the wrong impression, C <em>was</em> already used widely at UofW at the time and most of the other undergrads in the class knew it, but by some freak of course selection combined with professor allocation I somehow had managed to come across pretty much everything <em>but </em>C so far for the first three years.</p>
<p>Fortunately, there was <a href="http://www.amazon.com/Programming-Language-Brian-W-Kernighan/dp/0131101633/ref=ntt_at_ep_dpt_2">K&amp;R</a>.</p>
<p>Armed with K&amp;R and a printed-out C tutorial, I had a few days to learn a new language <em>(huh? whaddayamean #include? oh, okay&#8230;)</em>, an unfamiliar compiler, an unfamiliar graphics library, and the quirks of this particular flavor of Unix – to produce a working program in an unfamiliar domain with unfamiliar concepts (graphics). And only that last bit was the actual topic material for the course. The language, compiler, library, etc. was just uninteresting scaffolding you were expected to know or just pick up on the fly, don’t bother the professor with questions about those when you can look it all up yourself.</p>
<p>I don’t remember what mark I got on the assignment, but the code worked.</p>
<p>I was glad that C was easy to learn, and that its manual in the form of K&amp;R was so clear to read and understand. Thanks again, Dennis.</p>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>, <a href='http://herbsutter.com/category/software-development/'>Software Development</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/728/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/728/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/728/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/728/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/728/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/728/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/728/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/728/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/728/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/728/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/728/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/728/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/728/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/728/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=728&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/10/16/your-first-c-program/feed/</wfw:commentRss>
		<slash:comments>42</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>

		<media:content url="http://ecx.images-amazon.com/images/I/41NH37S7YRL._SS500_.jpg" medium="image" />
	</item>
		<item>
		<title>2000 Interview: Dennis Ritchie, Bjarne Stroustrup, and James Gosling</title>
		<link>http://herbsutter.com/2011/10/13/2000-interview-dennis-ritchie-bjarne-stroustrup-and-james-gosling/</link>
		<comments>http://herbsutter.com/2011/10/13/2000-interview-dennis-ritchie-bjarne-stroustrup-and-james-gosling/#comments</comments>
		<pubDate>Thu, 13 Oct 2011 23:37:04 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Opinion & Editorial]]></category>

		<guid isPermaLink="false">http://herbsutter.com/?p=693</guid>
		<description><![CDATA[Dennis Ritchie gave very few interviews, but I was lucky enough to be able to get one of them. Back in 2000, when I was editor of C++ Report, I interviewed the creators of C, C++, and Java all together: The C Family of Languages: Interview with Dennis Ritchie, Bjarne Stroustrup, and James Gosling This [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=693&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="attachment_694" class="wp-caption alignright" style="width: 310px"><a href="http://herbsutter.files.wordpress.com/2011/10/dmr-bs-jg.png"><img class="size-medium wp-image-694" title="dmr-bs-jg" src="http://herbsutter.files.wordpress.com/2011/10/dmr-bs-jg.png?w=300&#038;h=116" alt="" width="300" height="116" /></a><p class="wp-caption-text">Ritchie, Stroustrup, and Gosling</p></div>
<p>Dennis Ritchie gave very few interviews, but I was lucky enough to be able to get one of them.</p>
<p>Back in 2000, when I was editor of <em>C++ Report</em>, I interviewed the creators of C, C++, and Java all together:</p>
<blockquote><p><strong><span style="color:#006666;font-family:Verdana, Arial, Helvetica;"><a href="http://www.gotw.ca/publications/c_family_interview.htm">The C Family of Languages: Interview with Dennis Ritchie, Bjarne Stroustrup, and James Gosling</a></span></strong></p>
<p><em><span style="color:#008080;">This article appeared in <strong>Java Report, 5(7), July 2000</strong> and <strong>C++ Report, 12(7), July/August 2000</strong>.</span></em></p></blockquote>
<p>Their extensive comments &#8212; on everything from language history and design (of course) and industry context and crystal-ball prognostication, to personal preferences and war stories and the first code they ever wrote &#8212; are well worth re-reading and remarkably current now, some 11 years on.</p>
<p>As far as I know, it&#8217;s the only time these three have spoken together. It&#8217;s also the only time a feature article ran simultaneously in both <em>C++ Report</em> and <em>Java Report</em>.</p>
<p>Grab a cup of coffee, fire up your tablet, and enjoy.</p>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>, <a href='http://herbsutter.com/category/java/'>Java</a>, <a href='http://herbsutter.com/category/opinion-editorial/'>Opinion &amp; Editorial</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/693/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/693/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/693/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/693/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/693/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/693/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/693/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/693/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/693/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/693/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/693/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/693/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/693/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/693/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=693&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/10/13/2000-interview-dennis-ritchie-bjarne-stroustrup-and-james-gosling/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>

		<media:content url="http://herbsutter.files.wordpress.com/2011/10/dmr-bs-jg.png?w=300" medium="image">
			<media:title type="html">dmr-bs-jg</media:title>
		</media:content>
	</item>
		<item>
		<title>Dennis Ritchie</title>
		<link>http://herbsutter.com/2011/10/12/dennis-ritchie/</link>
		<comments>http://herbsutter.com/2011/10/12/dennis-ritchie/#comments</comments>
		<pubDate>Thu, 13 Oct 2011 05:24:49 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[Opinion & Editorial]]></category>

		<guid isPermaLink="false">http://herbsutter.com/?p=686</guid>
		<description><![CDATA[What a sad week. Rob Pike reports that Dennis Ritchie also has passed away. Ritchie was one of the pioneers of computer science, and a well-deserved Turing winner for his many contributions, notably the creation of C &#8212; by far the most influential programming language in history, and still going strong today. Aside: Speaking of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=686&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" title="dmr" src="http://cm.bell-labs.com/cm/cs/who/dmr/dmr.gif" alt="dmr (Dennis Ritchie)" width="125" height="145" /></p>
<p>What a sad week.</p>
<p>Rob Pike <a href="https://plus.google.com/u/2/101960720994009339267/posts/ENuEDDYfvKP?hl=en">reports</a> that Dennis Ritchie also has passed away. Ritchie was one of the pioneers of computer science, and a well-deserved Turing winner for his many contributions, notably the creation of C &#8212; by far the most influential programming language in history, and still going strong today.</p>
<p style="padding-left:30px;">Aside: Speaking of &#8220;still going strong,&#8221; this is a landmark week for the ISO Standard C Programming Language as well. Just a couple of days ago, the new C standard passed what turned out to be its final ballot,[*] and so <strong>we now have the new ISO C11 standard</strong>. C11 includes a number of new features that parallel those in C++11, notably a memory model and a threads/mutexes/atomics concurrency library that is tightly aligned with C++11. The new C standard should be published by ISO in the coming weeks.</p>
<p style="padding-left:30px;">[*] ISO rules are that if you pass the penultimate ballot with unanimous international support, you get to skip the formality of the final ballot and proceed directly to publication.</p>
<p>Bjarne Stroustrup made an eloquent point about the importance of Ritchie&#8217;s contributions to our field: <strong><em>&#8220;They said it couldn&#8217;t be done, and he did it.&#8221;</em></strong></p>
<p>Here&#8217;s what Bjarne meant:</p>
<p>Before C, there was far more hardware diversity than we see in the industry today. Computers proudly sported not just deliciously different and offbeat instruction sets, but varied wildly in almost everything, right down to even things as fundamental as character bit widths (8 bits per byte doesn&#8217;t suit you? how about 9? or 7? or how about sometimes 6 and sometimes 12?) and memory addressing (don&#8217;t like 16-bit pointers? how about 18-bit pointers, and oh by the way those aren&#8217;t pointers to bytes, they&#8217;re pointers to words?).</p>
<p>There was no such thing as a general-purpose program that was both portable across a variety of hardware and also efficient enough to compete with custom code written for just that hardware. Fortran did okay for array-oriented number-crunching code, but nobody could do it for general-purpose code such as what you&#8217;d use to build just about anything down to, oh, say, an operating system.</p>
<p>So this young upstart whippersnapper comes along and decides to try to specify a language that will let people write programs that are: (a) high-level, with structures and functions; (b) portable to just about any kind of hardware; and (c) efficient on that hardware so that they&#8217;re competitive with handcrafted nonportable custom assembler code on that hardware. A high-level, portable, efficient systems programming language.</p>
<p>How silly. <em>Everyone</em> knew it couldn&#8217;t be done.</p>
<p>C is a poster child for why it&#8217;s essential to keep those people who know a thing can&#8217;t be done from bothering the people who are doing it. (And keep them out of the way while the same inventors, being anything but lazy and always in search of new problems to conquer, go on to use the world&#8217;s first portable and efficient programming language to build the world&#8217;s <a href="http://en.wikipedia.org/wiki/Unix">first portable operating system</a>, not knowing that was impossible too.)</p>
<p>Thanks, Dennis.</p>
<br />Filed under: <a href='http://herbsutter.com/category/opinion-editorial/'>Opinion &amp; Editorial</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/686/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/686/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/686/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/686/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/686/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/686/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/686/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/686/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/686/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/686/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/686/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/686/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/686/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/686/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=686&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/10/12/dennis-ritchie/feed/</wfw:commentRss>
		<slash:comments>79</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>

		<media:content url="http://cm.bell-labs.com/cm/cs/who/dmr/dmr.gif" medium="image">
			<media:title type="html">dmr</media:title>
		</media:content>
	</item>
		<item>
		<title>ISO C++11 Published</title>
		<link>http://herbsutter.com/2011/10/10/iso-c11-published/</link>
		<comments>http://herbsutter.com/2011/10/10/iso-c11-published/#comments</comments>
		<pubDate>Mon, 10 Oct 2011 19:48:27 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">http://herbsutter.com/?p=681</guid>
		<description><![CDATA[ISO has now published the new C++11 standard and issued a press release: English here, French here. Thanks again to everyone who made this happen, most especially Bjarne Stroustrup, who not only invented the language three decades ago, but as Evolution Working Group subgroup chair continues to be an active guiding force in its continued evolution. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=681&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" title="ISO" src="http://www.iso.org/iso/logo_iso.gif" alt="ISO" width="202" height="58" /></p>
<p>ISO has now published the new C++11 standard and issued a press release: <a href="http://www.iso.org/iso/pressrelease.htm?refid=Ref1472">English here</a>, <a href="http://www.iso.org/iso/fr/pressrelease.htm?refid=Ref1472">French here</a>.</p>
<p>Thanks again to everyone who made this happen, most especially <a href="http://www2.research.att.com/~bs/">Bjarne Stroustrup</a>, who not only invented the language three decades ago, but as Evolution Working Group subgroup chair continues to be an active guiding force in its continued evolution. C++11 wouldn&#8217;t be the same without the wisdom of his experience and his able direction.</p>
<p>Preemptive note for those who are concerned that ISO charges money for the final official text of the standard: There are, or will soon be, several good options ranging from cheap to free. First, all of the C++11 working drafts and papers are freely available at the <a href="http://www.open-std.org/jtc1/sc22/wg21/">WG21 committee page</a>, including near-final drafts of the standard, except only for the final text where ISO asserts copyright. Second, as national bodies ratify and publish the standard themselves, you will be able to purchase the final text of the standard from them instead of ISO if you prefer (the only difference will be the cover page); for example, ANSI published the previous C++ standard in PDF form for $18, which is much less than most C++ books.</p>
<p>ISO&#8217;s bulletin text follows:</p>
<blockquote><p>ISO PRESS RELEASE / COMMUNIQUE DE PRESSE DE L&#8217;ISO (VERSION FRANCAISE CI-APRES)</p>
<p><strong>C++ language gets high marks on performance with new ISO/IEC standard</strong></p>
<p>C++, one of the most popular programming languages used in everything from Web browsers to 3D video games, has been fully updated and published as, ISO/IEC 14882:2011, Information technology – Programming languages – C++.</p>
<p>C++11’s improvements incorporate many of the best features of managed languages. Its new features extend C++’s traditional strengths of flexibility and efficiency.</p>
<p><strong>MORE:</strong> <a href="http://www.iso.org/iso/pressrelease.htm?refid=Ref1472">http://www.iso.org/iso/pressrelease.htm?refid=Ref1472</a></p>
<p>Follow ISO on Twitter www.twitter.com/isostandards</p>
<p>Join us on Facebook: www.facebook.com/isostandards</p>
<p><strong>Le langage C++ remarqué pour sa performance grâce à une nouvelle norme ISO/CEI</strong></p>
<p>C++, un des langages de programmation les plus populaires utilisé dans tout, du moteur de recherche Internet aux jeux vidéo en 3D, a fait l’objet d’une mise à jour complète, publiée dans le document ISO/CEI 14882:2011, Technologies de l’information – Langages de programmation – C++.</p>
<p>Les améliorations apportées à C++11 intègrent un bon nombre des points forts des langages managés. De nouvelles fonctionnalités viennent rehausser la souplesse et l’efficacité de C++.</p>
<p><strong>PLUS D&#8217;INFO:</strong> <a href="http://www.iso.org/iso/fr/pressrelease.htm?refid=Ref1472">http://www.iso.org/iso/fr/pressrelease.htm?refid=Ref1472</a></p>
<p>Suivre l&#8217;ISO sur Twitter www.twitter.com/isostandards</p>
<p>Joignez-nous sur Facebook: www.facebook.com/isostandards</p></blockquote>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/681/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/681/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/681/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/681/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/681/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/681/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/681/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/681/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/681/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/681/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/681/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/681/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/681/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/681/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=681&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/10/10/iso-c11-published/feed/</wfw:commentRss>
		<slash:comments>32</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>

		<media:content url="http://www.iso.org/iso/logo_iso.gif" medium="image">
			<media:title type="html">ISO</media:title>
		</media:content>
	</item>
		<item>
		<title>Why no container-based algorithms?</title>
		<link>http://herbsutter.com/2011/10/07/why-no-container-based-algorithms/</link>
		<comments>http://herbsutter.com/2011/10/07/why-no-container-based-algorithms/#comments</comments>
		<pubDate>Sat, 08 Oct 2011 00:45:45 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">http://herbsutter.com/?p=662</guid>
		<description><![CDATA[A few minutes ago, a colleague on another team asked: I really enjoyed your talk on Modern C++ from the Build conference, and have a quick question: Could there be a simpler syntax – something like: foreach(collection, lambda_function) // or some other syntactic name for “foreach” which would expand to for_each(begin(collection), end(collection), lambda_function) Same for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=662&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A few minutes ago, a colleague on another team asked:</p>
<blockquote><p>I really enjoyed your <a href="http://channel9.msdn.com/Events/BUILD/BUILD2011/TOOL-835T">talk on Modern C++</a> from the Build conference, and have a quick question: Could there be a simpler syntax – something like:</p>
<p>foreach(collection, lambda_function) // or some other syntactic name for “foreach”</p>
<p>which would expand to</p>
<p>for_each(begin(collection), end(collection), lambda_function)</p>
<p>Same for find_if, etc.</p></blockquote>
<p>This was considered and is desirable. In today&#8217;s C++ it’s easy to do for some algorithms, but not others. The main problem is overloading, which needs better template support (i.e., C++0x concepts which were proposed but didn’t make it) and/or adding enable_if.</p>
<p>Briefly, the basic problem is that you already have predicate overloads for some algorithms:</p>
<div id="scid:C89E2BDB-ADD3-4f7a-9810-1B7EACF446C1:0f9a8b7a-4768-46c7-8b7c-eeaeb4730e25" class="wlWriterEditableSmartContent" style="display:inline;float:none;margin:0;padding:0;"><pre class="brush: cpp;">
template&lt;typename Iter&gt;
void sort( Iter, Iter ); // 1

template&lt;typename Iter, typename Pred&gt;
void sort( Iter, Iter, Pred ); // 2
</pre></p>
</div>
<p>So far, so good. But what we want to add is:</p>
<div id="scid:C89E2BDB-ADD3-4f7a-9810-1B7EACF446C1:f01b6b08-9d9d-4731-89b8-346005df4fc7" class="wlWriterEditableSmartContent" style="display:inline;float:none;margin:0;padding:0;"><pre class="brush: cpp;">
template&lt;typename Container&gt;
void sort( Container&amp; ); // 3

template&lt;typename Container, typename Pred&gt;
void sort( Container&amp;, Pred ); // 4
</pre></p>
</div>
<p>And 4 is difficult to distinguish cleanly from 1 today. Both are match-anything function templates taking two parameters, and 1 would be preferred by the language when the argument types are identical, but in common cases you encounter unfortunate effects. For example, Howard Hinnant points out that if you try to call sort with (say) an iterator and a const_iterator, if we had only 1 you’d get a reasonably clear error message, but now because 4 is able to match different parameter types the compiler will instead try to invoke 4, which isn’t at all close to the original intent, and you’ll get a deeply strange template error message somewhere in the bowels of 4’s implementation because it wasn’t expecting anything like an iterator for either parameter.</p>
<p>Of course, not all algorithms have this issue where there are already overloads with different numbers of parameters. I&#8217;m hopeful that the standard library will get range-based overloads of all standard algorithms that are enable_if&#8217;d to avoid the problem or can use concepts if those make it into a future standard.</p>
<p>Here&#8217;s what the enable_if workaround might look like (I haven&#8217;t actually tried this though):</p>
<div id="scid:C89E2BDB-ADD3-4f7a-9810-1B7EACF446C1:31f6f9d5-a355-4fde-9be3-96b17d513fba" class="wlWriterEditableSmartContent" style="display:inline;float:none;margin:0;padding:0;"><pre class="brush: cpp;">
template&lt;typename Iter&gt;
typename enable_if&lt; !CallableWithBeginAndEnd&lt; Iter &gt;::value, void &gt;::type
sort( Iter, Iter ); // 1

template&lt;typename Iter, typename Pred&gt;
void sort( Iter, Iter, Pred ); // 2

template&lt;typename Container&gt;
void sort( Container&amp; ); // 3

template&lt;typename Container, typename Pred&gt;
typename enable_if&lt; CallableWithBeginAndEnd&lt;Container&gt;::value, void &gt;::type
sort( Container&amp;, Pred ); // 4
</pre></p>
</div>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/662/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/662/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/662/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/662/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/662/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/662/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/662/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/662/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/662/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/662/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/662/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/662/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/662/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/662/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=662&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/10/07/why-no-container-based-algorithms/feed/</wfw:commentRss>
		<slash:comments>35</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>
	</item>
		<item>
		<title>WordPress.com expertise</title>
		<link>http://herbsutter.com/2011/10/07/wordpress-com-expertise/</link>
		<comments>http://herbsutter.com/2011/10/07/wordpress-com-expertise/#comments</comments>
		<pubDate>Fri, 07 Oct 2011 19:24:13 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://herbsutter.com/?p=642</guid>
		<description><![CDATA[I&#8217;m generally satisfied with the look and feel of this blog, but would like to tweak it in a few small ways to get a cleaner look, nicer formatting for code examples, and such. If you or someone you know is familiar with WordPress.com blog customization, and is interested in a small project along these [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=642&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m generally satisfied with the look and feel of this blog, but would like to tweak it in a few small ways to get a cleaner look, nicer formatting for code examples, and such.</p>
<p>If you or someone you know is familiar with WordPress.com blog customization, and is interested in a small project along these lines, please <a href="mailto:herb.sutter@gmail.com?subject=WordPress.com blog customization">send me mail</a>. Thanks.</p>
<br />Filed under: <a href='http://herbsutter.com/category/uncategorized/'>Uncategorized</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/642/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/642/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/642/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/642/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/642/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/642/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/642/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/642/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/642/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/642/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/642/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/642/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/642/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/642/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=642&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/10/07/wordpress-com-expertise/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>
	</item>
		<item>
		<title>Steve Jobs</title>
		<link>http://herbsutter.com/2011/10/06/steve-jobs/</link>
		<comments>http://herbsutter.com/2011/10/06/steve-jobs/#comments</comments>
		<pubDate>Thu, 06 Oct 2011 17:16:31 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[Opinion & Editorial]]></category>

		<guid isPermaLink="false">http://herbsutter.com/?p=636</guid>
		<description><![CDATA[Today our industry is much less than it was yesterday. We have lost one of the great innovators. Even more importantly, Steve Jobs&#8217; family has lost a husband and brother and father, and our thoughts are with them. What can be said that hasn&#8217;t been said? Steve has been arguably the single most influential driver [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=636&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://herbsutter.files.wordpress.com/2011/10/stevejobs.png"><img class="alignright size-medium wp-image-637" title="stevejobs" src="http://herbsutter.files.wordpress.com/2011/10/stevejobs.png?w=201&#038;h=300" alt="" width="201" height="300" /></a></p>
<p>Today our industry is much less than it was yesterday. We have lost one of the great innovators. Even more importantly, Steve Jobs&#8217; family has lost a husband and brother and father, and our thoughts are with them.</p>
<p>What can be said that hasn&#8217;t been said? Steve has been arguably the single most influential driver and shaper of personal computing in every one of its five decades, from the 1970s to the 2010s. It&#8217;s obviously true for the 1970s (Apple, Apple ][) and 1980s (Mac). As for the 1990s, it should be enough that the Mac shaped essentially all of that decade&#8217;s desktop and notebook platforms, and icing on the cake that technologies pioneered at NeXT and Pixar so heavily influenced personal gaming and other personal computing. In the 2000s, suffice it to say that Steve put the personal  <em><strong>i</strong></em>  into modern computing and again transformed this industry, and other industries. Looking forward, absent some other world-changing event, it&#8217;s clear that the rest of the 2010s will see personal computing develop along the trail he and his teams have blazed already in this decade.</p>
<p>Here is a measure of a man&#8217;s impact: Imagine how different &#8212; how diminished &#8212; the world would be today if Steve had passed away ten years ago.</p>
<p>Makes our hearts fade a little, doesn&#8217;t it?</p>
<p>Now imagine how different &#8212; how much more &#8212; the world would be if Steve had lived another ten years.</p>
<p>Or another twenty. Or another fifty, as though what we have seen were but the first half of his life &#8212; and if the second half were not as a slowly aging, diminishing man, but with his health and strength and faculties as strong as ever for that much more time, a true fifty more years.</p>
<p>We are all cut down too soon.</p>
<p>Thanks, Steve.</p>
<br />Filed under: <a href='http://herbsutter.com/category/opinion-editorial/'>Opinion &amp; Editorial</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/636/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/636/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/636/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/636/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/636/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/636/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/636/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/636/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/636/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/636/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/636/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/636/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/636/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/636/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=636&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/10/06/steve-jobs/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>

		<media:content url="http://herbsutter.files.wordpress.com/2011/10/stevejobs.png?w=201" medium="image">
			<media:title type="html">stevejobs</media:title>
		</media:content>
	</item>
		<item>
		<title>My two //build/ talks online</title>
		<link>http://herbsutter.com/2011/09/19/my-two-build-talks-online/</link>
		<comments>http://herbsutter.com/2011/09/19/my-two-build-talks-online/#comments</comments>
		<pubDate>Mon, 19 Sep 2011 23:37:11 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Talks & Events]]></category>

		<guid isPermaLink="false">http://herbsutter.com/?p=632</guid>
		<description><![CDATA[My two talks from last week&#8217;s //build/ conference are online. My personal favorite is Writing Modern C++ Code: How C++ Has Evolved Over the Years. The thesis is simple: Modern ISO Standard C++ code is clean, safe, and fast. C++ has got a bad rap over the years, partly earned, but that&#8217;s history. This talk [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=632&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://herbsutter.files.wordpress.com/2011/09/build.png"><img class="alignright size-medium wp-image-656" title="//build/" src="http://herbsutter.files.wordpress.com/2011/09/capture.png?w=300&#038;h=151" alt="//build/" width="300" height="151" /></a></p>
<p>My two talks from last week&#8217;s <a href="http://buildwindows.com">//build/</a> conference are online.</p>
<p>My personal favorite is <strong><a href="http://channel9.msdn.com/Events/BUILD/BUILD2011/TOOL-835T">Writing Modern C++ Code: How C++ Has Evolved Over the Years</a></strong>. The thesis is simple: Modern ISO Standard C++ code is clean, safe, and fast. C++ has got a bad rap over the years, partly earned, but that&#8217;s history. This talk is a &#8220;welcome to modern C++&#8221; for programmers who may never have seen C++ before, or are familiar only with older and more difficult C++.</p>
<p>If you&#8217;re already a modern C++ developer you may be thinking, &#8220;but I do most of those things already, why is there a whole talk on this at a Microsoft conference?&#8221; Because as interest and use of Standard C++ is heating up again, it&#8217;s important to ensure that people have a good experience as they return to C++, or turn to it for the first time. Thus we sometimes have called this the &#8220;happy path&#8221; talk &#8212; designed to show the simple happy path through modern C++ that avoids needless pitfalls.</p>
<p>My other talk was <strong><a href="http://channel9.msdn.com/Events/BUILD/BUILD2011/TOOL-532T">Using the Windows Runtime From C++</a></strong>. This is Windows 8-specific and talks about the &#8220;foreign object model&#8221; language extensions used by Visual C++ 11 to talk to the new native ABI-safe WinRT types. These extensions should be used sparingly, only on the thin module boundaries around otherwise nice and portable Standard C++ code, and it was necessary to add them only because Standard C++ types aren&#8217;t ABI-safe and accessible safely from other languages. (If ISO C++ were to get a module system at some point that includes being able to talk about ABI-safe types on module boundaries, that would be happiness indeed!) There is also a template library called <a href="http://msdn.microsoft.com/en-us/library/hh309536%28VS.85%29.aspx">Windows Runtime C++ Template Library (WRL)</a> that is another way to access basically the same functionality using template syntax; pick whichever you like best.</p>
<p>Thanks to all who attended!</p>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>, <a href='http://herbsutter.com/category/microsoft/'>Microsoft</a>, <a href='http://herbsutter.com/category/software-development/'>Software Development</a>, <a href='http://herbsutter.com/category/talks-events/'>Talks &amp; Events</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/632/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/632/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/632/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/632/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/632/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/632/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/632/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/632/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/632/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/632/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/632/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/632/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/632/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/632/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=632&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/09/19/my-two-build-talks-online/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>

		<media:content url="http://herbsutter.files.wordpress.com/2011/09/capture.png?w=300" medium="image">
			<media:title type="html">//build/</media:title>
		</media:content>
	</item>
		<item>
		<title>Ars: Searching Win8</title>
		<link>http://herbsutter.com/2011/09/13/ars-searching-win8/</link>
		<comments>http://herbsutter.com/2011/09/13/ars-searching-win8/#comments</comments>
		<pubDate>Tue, 13 Sep 2011 19:00:32 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://herbsutter.com/?p=630</guid>
		<description><![CDATA[Check out Ars&#8217; choice of search term about 2/3 of the way down the page. Hi-res here. Filed under: C++, Microsoft, Software Development<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=630&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://herbsutter.files.wordpress.com/2011/09/build-search.png"><img class="alignright size-medium wp-image-658" title="//build/ search" src="http://herbsutter.files.wordpress.com/2011/09/capture1.png?w=290&#038;h=300" alt="//build/ search" width="290" height="300" /></a></p>
<p>Check out Ars&#8217; choice of search term about 2/3 of the way down the <a href="http://arstechnica.com/microsoft/news/2011/09/hands-on-with-windows-8-a-pc-operating-system-for-the-tablet-age.ars">page</a>.</p>
<p>Hi-res <a href="http://static.arstechnica.com/09-13-2011/windows-8/search-build-app.png">here</a>.</p>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>, <a href='http://herbsutter.com/category/microsoft/'>Microsoft</a>, <a href='http://herbsutter.com/category/software-development/'>Software Development</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/630/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/630/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/630/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/630/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/630/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/630/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/630/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/630/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/630/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/630/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/630/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/630/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/630/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/630/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=630&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/09/13/ars-searching-win8/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>

		<media:content url="http://herbsutter.files.wordpress.com/2011/09/capture1.png?w=290" medium="image">
			<media:title type="html">//build/ search</media:title>
		</media:content>
	</item>
		<item>
		<title>My C++ and Beyond Intro: C++ Renaissance</title>
		<link>http://herbsutter.com/2011/09/07/my-c-and-beyond-intro-c-renaissance/</link>
		<comments>http://herbsutter.com/2011/09/07/my-c-and-beyond-intro-c-renaissance/#comments</comments>
		<pubDate>Wed, 07 Sep 2011 22:00:01 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C# / .NET]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://herbsutter.com/?p=627</guid>
		<description><![CDATA[Channel 9 has just posted a recording of my intro talk at C++ and Beyond 2011 last month in Banff. Here&#8217;s the link: C++ and Beyond 2011: Why C++. It&#8217;s a keynote-y talk, not a technical talk, but we felt it was important to address an important trend involving the language. The goal is to share a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=627&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://herbsutter.files.wordpress.com/2011/09/why-c++.png"><img class="alignright size-medium wp-image-660" title="Why C++" src="http://herbsutter.files.wordpress.com/2011/09/capture2.png?w=300&#038;h=166" alt="Why C++" width="300" height="166" /></a></p>
<p>Channel 9 has just posted a recording of my intro talk at <a href="http://cppandbeyond.com">C++ and Beyond 2011</a> last month in Banff. Here&#8217;s the link: <strong><a href="http://channel9.msdn.com/posts/C-and-Beyond-2011-Herb-Sutter-Why-C" target="_blank">C++ and Beyond 2011: Why C++</a>.</strong></p>
<p>It&#8217;s a keynote-y talk, not a technical talk, but we felt it was important to address an important trend involving the language. The goal is to share a perspective and rationale for why of late there&#8217;s such a resurgence of interest in C++ &#8212; both across the industry, and within Microsoft.</p>
<p>Whether or not you agree with the perspective and rationale, I hope you enjoy it!</p>
<br />Filed under: <a href='http://herbsutter.com/category/c-net/'>C# / .NET</a>, <a href='http://herbsutter.com/category/c/'>C++</a>, <a href='http://herbsutter.com/category/java/'>Java</a>, <a href='http://herbsutter.com/category/microsoft/'>Microsoft</a>, <a href='http://herbsutter.com/category/software-development/'>Software Development</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/627/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/627/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/627/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/627/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/627/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/627/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/627/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/627/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/627/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/627/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/627/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/627/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/627/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/627/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=627&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/09/07/my-c-and-beyond-intro-c-renaissance/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>

		<media:content url="http://herbsutter.files.wordpress.com/2011/09/capture2.png?w=300" medium="image">
			<media:title type="html">Why C++</media:title>
		</media:content>
	</item>
		<item>
		<title>C9 interview with Scott Meyers, Andrei Alexandrescu, and me</title>
		<link>http://herbsutter.com/2011/08/24/c9-interview-with-scott-meyers-andrei-alexandrescu-and-me/</link>
		<comments>http://herbsutter.com/2011/08/24/c9-interview-with-scott-meyers-andrei-alexandrescu-and-me/#comments</comments>
		<pubDate>Thu, 25 Aug 2011 01:55:29 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Talks & Events]]></category>

		<guid isPermaLink="false">http://herbsutter.com/?p=619</guid>
		<description><![CDATA[After the end of the C++ and Beyond event earlier this month, Charles Torre interviewed all three of us for Channel 9. I thought it came out really well, and stayed firmly focused on C++ &#8212; including even during the parts we talked about D and other languages, where the focus was on how their best parts could be applied to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=619&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="attachment_622" class="wp-caption alignright" style="width: 310px"><a href="http://herbsutter.files.wordpress.com/2011/08/2011-post-interview-frame.png"><img class="size-medium wp-image-622 " title="Scott Andrei Herb at C&amp;B 2011" src="http://herbsutter.files.wordpress.com/2011/08/2011-post-interview-frame.png?w=300&#038;h=169" alt="Scott Andrei Herb at C&amp;B 2011" width="300" height="169" /></a><p class="wp-caption-text">Scott Andrei &amp; Herb at C&amp;B 2011</p></div>
<p>After the end of the <a href="http://cppandbeyond.com">C++ and Beyond</a> event earlier this month, Charles Torre <a href="http://channel9.msdn.com/posts/Scott-Meyers-Andrei-Alexandrescu-and-Herb-Sutter-C-and-Beyond">interviewed all three of us</a> for Channel 9.</p>
<p>I thought it came out really well, and stayed firmly focused on C++ &#8212; including even during the parts we talked about D and other languages, where the focus was on how their best parts could be applied to C++.</p>
<p>Charles also taped more of the seminar, including the panels and my opening &#8216;keynote-y&#8217; talk about the what&#8217;s and why&#8217;s of the C++ Renaissance. Some of those will also appear on C9 over time; I&#8217;ll blog about them as they go up.</p>
<p>Some highlights of this particular interview:</p>
<p style="padding-left:30px;"><a href="http://channel9.msdn.com/posts/Scott-Meyers-Andrei-Alexandrescu-and-Herb-Sutter-C-and-Beyond#time=00m00s">[00:00]</a> Event debriefing</p>
<p style="padding-left:30px;"><a href="http://channel9.msdn.com/posts/Scott-Meyers-Andrei-Alexandrescu-and-Herb-Sutter-C-and-Beyond#time=01m38s">[01:38]</a> Scott on C++ developers</p>
<p style="padding-left:30px;"><a href="http://channel9.msdn.com/posts/Scott-Meyers-Andrei-Alexandrescu-and-Herb-Sutter-C-and-Beyond#time=03m18s">[03:18]</a> Modern C++</p>
<p style="padding-left:30px;"><a href="http://channel9.msdn.com/posts/Scott-Meyers-Andrei-Alexandrescu-and-Herb-Sutter-C-and-Beyond#time=04m17s">[04:17]</a> Why D, Andrei? And what from D could and should be brought into C++?</p>
<p style="padding-left:30px;"><a href="http://channel9.msdn.com/posts/Scott-Meyers-Andrei-Alexandrescu-and-Herb-Sutter-C-and-Beyond#time=17m25s">[17:25]</a> What problems does D solve that C++ can&#8217;t?</p>
<p style="padding-left:30px;"><a href="http://channel9.msdn.com/posts/Scott-Meyers-Andrei-Alexandrescu-and-Herb-Sutter-C-and-Beyond#time=22m03s">[22:03]</a> C++ and D interoperability (COM is old, but COM is good)!</p>
<p style="padding-left:30px;"><a href="http://channel9.msdn.com/posts/Scott-Meyers-Andrei-Alexandrescu-and-Herb-Sutter-C-and-Beyond#time=24m22s">[24:22]</a> C++11 and Beyond</p>
<p style="padding-left:30px;"><a href="http://channel9.msdn.com/posts/Scott-Meyers-Andrei-Alexandrescu-and-Herb-Sutter-C-and-Beyond#time=26m01s">[26:01]</a> Herb, ISO C++ Committee&#8217;s next phase &#8211; what are you going to do? <em>[note: see also <a href="http://herbsutter.com/2011/08/24/trip-report-2011-08/">more details in my trip report for the standards meeting held the following week</a>]</em></p>
<p style="padding-left:30px;"><em></em><a href="http://channel9.msdn.com/posts/Scott-Meyers-Andrei-Alexandrescu-and-Herb-Sutter-C-and-Beyond#time=28m22s">[28:22]</a> Scott, Andrei and Herb share perspectives on the ISO standards process, philosophies of language design, what C++ gets wrong, what it gets right</p>
<p style="padding-left:30px;"><a href="http://channel9.msdn.com/posts/Scott-Meyers-Andrei-Alexandrescu-and-Herb-Sutter-C-and-Beyond#time=49m48s">[49:48]</a> Perspectives on this year&#8217;s event and if/when C++ and Beyond will happen again</p>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>, <a href='http://herbsutter.com/category/talks-events/'>Talks &amp; Events</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/619/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/619/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/619/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/619/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/619/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/619/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/619/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/619/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/619/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/619/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/619/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/619/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/619/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/619/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=619&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/08/24/c9-interview-with-scott-meyers-andrei-alexandrescu-and-me/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>

		<media:content url="http://herbsutter.files.wordpress.com/2011/08/2011-post-interview-frame.png?w=300" medium="image">
			<media:title type="html">Scott Andrei Herb at C&#38;B 2011</media:title>
		</media:content>
	</item>
		<item>
		<title>Trip Report: August 2011 C++ Standards Meeting</title>
		<link>http://herbsutter.com/2011/08/24/trip-report-2011-08/</link>
		<comments>http://herbsutter.com/2011/08/24/trip-report-2011-08/#comments</comments>
		<pubDate>Thu, 25 Aug 2011 01:42:11 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">http://herbsutter.com/?p=617</guid>
		<description><![CDATA[The summer 2011 ISO C++ meeting was held on August 15-19 in Bloomington, Indiana, USA on the wonderful Indiana University campus. The minutes will be available at the 2011 papers page in a couple of weeks. As previously announced, C++11 was unanimously approved just days before the standards meeting, so this was the first post-C++11 meeting. As [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=617&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The summer 2011 ISO C++ meeting was held on August 15-19 in Bloomington, Indiana, USA on the wonderful Indiana University campus. The minutes will be available at the<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/"> 2011 papers page</a> in a couple of weeks.</p>
<p>As <a href="http://herbsutter.com/2011/08/12/we-have-an-international-standard-c0x-is-unanimously-approved/">previously announced</a>, C++11 was unanimously approved just days before the standards meeting, so this was the first post-C++11 meeting. As planned, at this meeting we focused on processing some bug reports (defect reports, aka DRs) and have some initial discussion of the &#8216;what&#8217;s next&#8217; variety. As expected, no decisions were made about whether we should consider new language extensions soon &#8212; that discussion will likely happen at our next meeting in February.</p>
<p>The big news out of last week&#8217;s meeting was on the standard library side: There was a clear decision that <strong>the library working group is ready to consider new library extensions</strong>, starting with the file system library proposal that was already accepted for post-C++11. The following announcement and instructions were read into the minutes:</p>
<blockquote><p>The C++ committee Library Working Group welcomes proposals for library extensions which will be considered starting in the February 2012 meeting. We have not yet set out an overall timeline for future library extensions, but are ready to consider new proposals at this point.</p>
<p>To increase the chances of your proposal being accepted by the committee, we strongly recommend that a committee member willing to champion your proposal (this could be you yourself, or a delegate) attend upcoming meetings to help shepherd your proposal through the process.</p></blockquote>
<p>It&#8217;s possible that this will take the form of a second library extensions technical report along the lines of the <a href="http://en.wikipedia.org/wiki/C%2B%2B_Technical_Report_1">very successful Library Extensions Technical Report 1 (aka TR1)</a>. Whatever the form, it&#8217;s clear that the first order of business besides maintenance of the C++11 standard will be a new round of extensions to the C++ standard library.</p>
<p>Personally, I think that&#8217;s exactly what needed to happen at this meeting, and I&#8217;m very happy to see it take place. ASIO or thread pools, anyone? Maybe parallel algorithms, and concurrent containers? Stay tuned.</p>
<h3>Looking forward</h3>
<p>It’s our tradition to schedule one meeting a year outside the continental United States, and preferably outside North America, because this helps international participation by making it easier for people from all parts of the world to attend. Next year, as we’ve done before, this “un-American” meeting will be the Kona meeting, which is closer for folks in eastern Asia and Australia who may wish to attend.</p>
<p>Here are the planned dates and locations for upcoming ISO C++ standards committee meetings:</p>
<ul>
<li><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3299.htm">February 6-10, 2012</a>: Kona, HI, USA</li>
<li>August or October, 2012: Portland, OR, USA</li>
</ul>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/617/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/617/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/617/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/617/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/617/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/617/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/617/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/617/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/617/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/617/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/617/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/617/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/617/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/617/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=617&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/08/24/trip-report-2011-08/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>
	</item>
		<item>
		<title>We have an international standard: C++0x is unanimously approved</title>
		<link>http://herbsutter.com/2011/08/12/we-have-an-international-standard-c0x-is-unanimously-approved/</link>
		<comments>http://herbsutter.com/2011/08/12/we-have-an-international-standard-c0x-is-unanimously-approved/#comments</comments>
		<pubDate>Fri, 12 Aug 2011 21:24:16 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">http://herbsutter.com/?p=610</guid>
		<description><![CDATA[[Update: "C++11" is now the confirmed name -- Geneva informs me that they plan to have it published in a matter of weeks, and then we'll have ISO/IEC 14882:2011(E) Programming Languages -- C++, Third Edition. The second edition was C++03, a Technical Corrigendum, or bug patch, that contained no new features. This is the first [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=610&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><em>[Update: "C++11" is now the confirmed name -- Geneva informs me that they plan to have it published in a matter of weeks, and then we'll have </em>ISO/IEC 14882:2011(E) Programming Languages -- C++, Third Edition<em>. The second edition was C++03, a Technical Corrigendum, or bug patch, that contained no new features. This is the first major revision with new features.]</em></p>
<p>The final ISO ballot on C++0x closed on Wednesday, and we just received the results: <strong>Unanimous approval.</strong></p>
<p><strong></strong>The next revision of C++ that we&#8217;ve been calling &#8220;C++0x&#8221; is now an International Standard! Geneva will take several months to publish it, but we hope it will be published well within the year, and then we&#8217;ll be able to call it &#8220;C++11.&#8221;</p>
<p>I want to extend my thanks again to Bjarne Stroustrup for sharing his work with the world and continuing to help move it forward, and to all of the participants whose hard work went into achieving this important milestone in the history of a great language. Thanks!</p>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/610/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/610/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/610/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/610/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/610/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/610/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/610/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/610/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/610/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/610/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/610/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/610/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/610/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/610/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=610&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/08/12/we-have-an-international-standard-c0x-is-unanimously-approved/feed/</wfw:commentRss>
		<slash:comments>156</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>
	</item>
		<item>
		<title>C++ Renaissance: The &#8220;Going Native&#8221; Channel</title>
		<link>http://herbsutter.com/2011/07/28/c-renaissance-the-going-native-channel/</link>
		<comments>http://herbsutter.com/2011/07/28/c-renaissance-the-going-native-channel/#comments</comments>
		<pubDate>Thu, 28 Jul 2011 21:22:29 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://herbsutter.com/?p=607</guid>
		<description><![CDATA[I&#8217;m happy to report there&#8217;s a new show on Channel 9 that focuses on native code development in C++. It&#8217;s called &#8220;Going Native&#8221;&#8230; iTunes podcast here, Twitter @C9GoingNative. From the description: C9::GoingNative is a show dedicated to native development with an emphasis on C++ and C++ developers. Each episode will have a segment including an interview with a native [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=607&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" title="C9::GoingNative" src="http://a2.mzstatic.com/us/r30/Podcasts/92/6c/4b/ps.oflbfyzg.170x170-75.jpg" alt="" width="170" height="170" />I&#8217;m happy to report there&#8217;s a new show on Channel 9 that focuses on native code development in C++. It&#8217;s called <strong><a href="http://channel9.msdn.com/Shows/C9-GoingNative">&#8220;Going Native&#8221;</a></strong>&#8230; iTunes podcast <a href="http://itunes.apple.com/us/podcast/c9-goingnative-hd-channel-9/id453292594">here</a>, Twitter <a href="http://twitter.com/#!/C9GoingNative">@C9GoingNative</a>.</p>
<p>From the description:</p>
<blockquote><p><strong>C9::GoingNative</strong> is a show dedicated to native development with an emphasis on C++ and C++ developers. Each episode will have a segment including an interview with a native dev in his/her native habitat (office) where we&#8217;ll talk about what they do and how they use native code and associated toolchains, as well as get their insights and wisdom—geek out. There will be a small news component or segment, but the show will primarily focus on technical tips and conversations with active C/C++ coders, demonstrations of new core language features, libraries, compilers, toolchains, etc.</p>
<p>We will bring in guests from around the industry for conversations, tutorials, and demos. As we<br />
progress, we will also have segments on other native languages (C, D, Go, etc&#8230;). It&#8217;s all native all the time.</p>
<p>You, our viewers, fly first class. We&#8217;ll deliver what <strong>you</strong> want to see. That&#8217;s how it works.</p>
<p>Go native!</p></blockquote>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>, <a href='http://herbsutter.com/category/microsoft/'>Microsoft</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/607/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/607/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/607/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/607/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/607/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/607/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/607/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/607/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/607/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/607/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/607/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/607/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/607/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/607/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=607&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/07/28/c-renaissance-the-going-native-channel/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>

		<media:content url="http://a2.mzstatic.com/us/r30/Podcasts/92/6c/4b/ps.oflbfyzg.170x170-75.jpg" medium="image">
			<media:title type="html">C9::GoingNative</media:title>
		</media:content>
	</item>
		<item>
		<title>My Final C++ and Beyond 2011 Sessions</title>
		<link>http://herbsutter.com/2011/07/08/my-final-c-and-beyond-2011-sessions/</link>
		<comments>http://herbsutter.com/2011/07/08/my-final-c-and-beyond-2011-sessions/#comments</comments>
		<pubDate>Sat, 09 Jul 2011 03:52:39 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Talks & Events]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://herbsutter.com/?p=600</guid>
		<description><![CDATA[I just posted two more sessions I&#8217;ll be giving next month at C++ and Beyond. (Aside: If you&#8217;re interested in coming, register soon; there are now only 11 seats left.) &#8220;C++ Renaissance.&#8221; I’ve been asked to give the opening “Welcome, Everyone!” keynote talk at C&#38;B 2011, and it’s time to cover an increasingly open secret: After [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=600&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I just posted two more sessions I&#8217;ll be giving next month at <em><a href="http://cppandbeyond.com">C++ and Beyond</a></em>. (Aside: If you&#8217;re interested in coming, <a href="http://cppandbeyond2011.eventbrite.com/">register</a> soon; there are now only 11 seats left.)</p>
<ul>
<li><strong><em><a href="http://cppandbeyond.com/2011/07/08/session-announcement-c-renaissance/">&#8220;C++ Renaissance.&#8221;</a></em></strong> I’ve been asked to give the opening “Welcome, Everyone!” keynote talk at C&amp;B 2011, and it’s time to cover an increasingly open secret: After a decade-long affair with managed languages where it became unfashionable to be interested in C++, C++’s power and efficiency are now getting very fashionable again. At the same time, C++ has been getting easier to use; key productivity features from the C++0x standard (aka C++11), like auto and lambdas, are increasingly widely available in commercial compilers and making using C++ easier than ever before without sacrificing its cornerstone — efficiency.This opening 40-minute talk covers the reasons why C++ is now enjoying a major <a href="http://www.google.com/search?q=C%2B%2B+renaissance">renaissance</a>, and why that will continue to grow over the next few years because of industry trends from processor design to mobile computing to cloud and datacenter environments.We already know that C++ is “the” language of choice for demanding applications. Here, we’ll cover why “demanding applications” increasingly means “most applications” and will be the bread and butter of our industry for the foreseeable future. We’ll see why and where other languages are still appropriate, but why C++’s applicability and demand is now again on an upswing more so than it has been for over a decade.</li>
<li><strong><em><a href="http://cppandbeyond.com/2011/07/08/session-announcement-how-to-teach-todays-c/">&#8220;How to Teach Today&#8217;s C++.&#8221;</a></em></strong>  With the <a href="http://www.google.com/search?q=C%2B%2B+renaissance">C++ Renaissance</a> gathering steam, I’ve personally noticed a growing need to train developers who are now turning or returning to C++. These developers don’t need to be taught how to program, but they aren’t familiar with how clean it is to write code using today’s C++. The key is: What is the best and clearest way to teach the essentials of today’s C++ — both what to teach, and what not to teach?This session shows that it is possible to show a very clean path through today’s C++ that is available to production developers right now, including use of key C++0x features already supported in many compilers, that shows how clean C++ code can be and how it compares favorably to code written in managed languages while still retaining its longstanding efficiency advantage.Many attendees coming to <em>C++ and Beyond</em> are experienced developers, often in senior or leadership positions. Your company may look to you to define or personally provide training in the best development techniques, whether through team brownbags or formal training sessions. As developers continue to come back to C++, you will find yourself increasingly called upon to help them quickly learn what “modern C++” really means today, and how clear and compelling it can be. This “train the trainers” session is intended to provide the foundation for that training, and give you the tools you need to train others, as we welcome them (and welcome them back) to our good friend C++.</li>
</ul>
<p>I&#8217;ve already posted these other sessions, which round out my solo talk slots (not counting panels where Scott and Andrei and I will also all participate):</p>
<ul>
<li><strong><em><a href="http://cppandbeyond.com/2011/04/02/session-announcement-c-and-the-gpu-and-beyond/">“C++ and the GPU… and Beyond.”</a></em></strong> I’ll cover the state of the art for using C++ (not just C) for <a href="http://en.wikipedia.org/wiki/GPGPU">general-purpose computation on graphics processing units (GPGPU)</a>. The first half of the talk discusses the most important issues and techniques to consider when using GPUs for high-performance computation, especially where we have to change our traditional advice for doing the same computation on the CPU. The second half focuses on upcoming C++ language and library extensions that bring key abstractions for GPGPU — and in time considerably more — directly into C++.</li>
<li> <em><strong><a href="http://cppandbeyond.com/2011/04/12/session-announcement-exceptional-c0x-aka-c11/">“Exceptional C++0x (aka C++11)”</a></strong></em> that shows how the new features in C++0x change the way we solve problems, our C++ coding style, and even the way we think about our code. I’ll demonstrate that with code that works today on existing compilers, using selected familiar examples from my <em>Exceptional C++ </em>books. This is not rehashed material, as I’ll assume you’re already familiar with the pre-C++0x solutions (I’ll provide links to read as refreshers before the course), and then we’ll analyze and solve them entirely the 21st-century C++ way and see why C++0x feels like a whole new fresh language that leads to different approaches, new and changed guidelines, and even better solutions. As Bjarne <a href="http://www2.research.att.com/~bs/C++0xFAQ.html">put it</a>: “Surprisingly, C++0x feels like a new language: The pieces just fit together better than they used to and I find a higher-level style of programming more natural than before and as efficient as ever.” This talk will show why — deeply, madly, and truly.</li>
</ul>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>, <a href='http://herbsutter.com/category/software-development/'>Software Development</a>, <a href='http://herbsutter.com/category/talks-events/'>Talks &amp; Events</a>, <a href='http://herbsutter.com/category/uncategorized/'>Uncategorized</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/600/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/600/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/600/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/600/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/600/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/600/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/600/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/600/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/600/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/600/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/600/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/600/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/600/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/600/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=600&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/07/08/my-final-c-and-beyond-2011-sessions/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>
	</item>
		<item>
		<title>Daniel Moth&#8217;s C++ AMP session is now online</title>
		<link>http://herbsutter.com/2011/06/19/c-amp-overview/</link>
		<comments>http://herbsutter.com/2011/06/19/c-amp-overview/#comments</comments>
		<pubDate>Mon, 20 Jun 2011 00:58:18 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Concurrency]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Talks & Events]]></category>

		<guid isPermaLink="false">http://herbsutter.com/?p=597</guid>
		<description><![CDATA[In my keynote on Wednesday, I highlighted just the top two important features in the C++ AMP programming model. That afternoon, my coding colleague and demo demigod Daniel Moth gave a 45-minute session covering the entire C++ AMP programming model that walked through all the features with more examples. Daniel&#8217;s talk is now also online [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=597&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In my keynote on Wednesday, I highlighted just the top two important features in the C++ AMP programming model. That afternoon, my coding colleague and demo demigod Daniel Moth gave a 45-minute session covering the entire C++ AMP programming model that walked through all the features with more examples. Daniel&#8217;s talk is now <a href="http://channel9.msdn.com/Events/AMD-Fusion-Developer-Summit/AMD-Fusion-Developer-Summit-11/DanielMothAMP">also online at Channel 9</a>. I hope you enjoy it.</p>
<p>Note: The <a href="http://ecn.channel9.msdn.com/content/DanielMoth_CppAMP_Intro.pdf">PDF slides</a> link is small but important &#8212; the screen isn&#8217;t easy to see in the video itself.</p>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>, <a href='http://herbsutter.com/category/concurrency/'>Concurrency</a>, <a href='http://herbsutter.com/category/hardware/'>Hardware</a>, <a href='http://herbsutter.com/category/microsoft/'>Microsoft</a>, <a href='http://herbsutter.com/category/talks-events/'>Talks &amp; Events</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/597/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/597/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/597/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/597/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/597/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/597/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/597/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/597/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/597/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/597/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/597/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/597/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/597/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/597/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=597&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/06/19/c-amp-overview/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>
	</item>
		<item>
		<title>C++ AMP keynote is online</title>
		<link>http://herbsutter.com/2011/06/16/c-amp-keynote/</link>
		<comments>http://herbsutter.com/2011/06/16/c-amp-keynote/#comments</comments>
		<pubDate>Fri, 17 Jun 2011 00:21:25 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Concurrency]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Talks & Events]]></category>

		<guid isPermaLink="false">http://herbsutter.com/?p=593</guid>
		<description><![CDATA[Yesterday I had the privilege of talking about some of the work we&#8217;ve been doing to support massive parallelism on GPUs in the next version of Visual C++. The video of my talk announcing C++ AMP is now available on Channel 9. (Update: Here&#8217;s an alternate link; it seems to be posted twice.) The first 20 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=593&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Yesterday I had the privilege of talking about some of the work we&#8217;ve been doing to support massive parallelism on GPUs in the next version of Visual C++. The video of my talk announcing C++ AMP <strong><a href="http://channel9.msdn.com/posts/AFDS-Keynote-Herb-Sutter-Heterogeneous-Computing-and-C-AMP">is now available on Channel 9</a></strong>. (Update: Here&#8217;s an <a href="http://channel9.msdn.com/Events/AMD-Fusion-Developer-Summit/AMD-Fusion-Developer-Summit-11/KEYNOTE">alternate link</a>; it seems to be posted twice.)</p>
<p>The first 20 minutes has nothing to do with C++ in particular or any platform in particular, but tries to make the case that the right way to view the &#8220;trends&#8221; of multicore computing, GPU computing, and cloud computing (HaaS) is that they are not three trends at all, but merely facets of the same single trend &#8212; heterogeneous parallel computing.</p>
<p>If they are, then one programming model should be able to address them all. We think we&#8217;ve found one.</p>
<p>The main reasons we decided to build a new model is that we believe there needs to be a single model that has all of the following attributes:</p>
<ul>
<li><strong>C++, not C:</strong> It should leverage C++&#8217;s power for strong abstraction without sacrificing performance, not just be a dialect of C.</li>
<li><strong>Mainstream:</strong> It should be programmable by millions of developers, not just by a priesthood. Litmus test: Is the Hello World parallel GPU program a page and half, or a couple of lines?</li>
<li><strong>Minimal:</strong> It adds just one general-purpose language extension that addresses not only the immediate problem (dealing with cores that can&#8217;t support full C++) but many others. With the right general-purpose extension, the rest can be done as just a library.</li>
<li><strong>Portable:</strong> It allows shipping a single EXE that can use any combination of GPU vendors&#8217; hardware. The initial implementation uses DirectCompute and supports all devices that are DX11 capable; DirectCompute is just an implementation detail of the first release, and the model can (and I expect will) be implemented to directly talk to any interesting hardware.</li>
<li><strong>General and future-proof:</strong> The initial release will focus on GPU computing, but it&#8217;s intended to enable people to write code for the GPU in a way that in the future we can recompile with few or no changes to spread across any and all accessible compute cores, including ones in the cloud.</li>
<li><strong>Open:</strong> I mentioned that Microsoft intends to make the C++ AMP specification open, and encourages its implementation on other C++ compilers for any hardware or OS target. AMD announced that they will implement C++ AMP in their FSA reference compiler. NVidia also announced support.</li>
</ul>
<p>We&#8217;re really excited about this, and I hope you find the information in the talk to be useful. A prerelease implementation in Visual C++ that runs on Windows will be available later this year. More to come&#8230;</p>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>, <a href='http://herbsutter.com/category/concurrency/'>Concurrency</a>, <a href='http://herbsutter.com/category/hardware/'>Hardware</a>, <a href='http://herbsutter.com/category/microsoft/'>Microsoft</a>, <a href='http://herbsutter.com/category/software-development/'>Software Development</a>, <a href='http://herbsutter.com/category/talks-events/'>Talks &amp; Events</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/593/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/593/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/593/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/593/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/593/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/593/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/593/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/593/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/593/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/593/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/593/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/593/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/593/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/593/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=593&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/06/16/c-amp-keynote/feed/</wfw:commentRss>
		<slash:comments>31</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>
	</item>
		<item>
		<title>AFDS Keynote Live Stream</title>
		<link>http://herbsutter.com/2011/06/14/afds-live-tream/</link>
		<comments>http://herbsutter.com/2011/06/14/afds-live-tream/#comments</comments>
		<pubDate>Wed, 15 Jun 2011 00:10:31 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Concurrency]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Talks & Events]]></category>

		<guid isPermaLink="false">http://herbsutter.com/?p=589</guid>
		<description><![CDATA[Just a reminder for those interested in using C++ to harness GPUs for fast code: My keynote at AMD Fusion Developer&#8217;s Conference will be webcast live. I&#8217;ll post another link when the recorded talk is available for on-demand viewing. The talk starts at 8:30am U.S. Pacific time tomorrow (Wed June 15). Today Jem Davies of ARM [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=589&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Just a reminder for those interested in using C++ to harness GPUs for fast code: My keynote at AMD Fusion Developer&#8217;s Conference will be <strong><a href="http://developer.amd.com/afds/pages/webcast.aspx">webcast live</a></strong>. I&#8217;ll post another link when the recorded talk is available for on-demand viewing.</p>
<p>The talk starts at 8:30am U.S. Pacific time tomorrow (Wed June 15).</p>
<p>Today Jem Davies of ARM also gave a keynote. He&#8217;s a great speaker with a great message; look for it when it becomes available on demand. Recommended viewing whether or not you target ARM processors.</p>
<p>&nbsp;</p>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>, <a href='http://herbsutter.com/category/concurrency/'>Concurrency</a>, <a href='http://herbsutter.com/category/microsoft/'>Microsoft</a>, <a href='http://herbsutter.com/category/software-development/'>Software Development</a>, <a href='http://herbsutter.com/category/talks-events/'>Talks &amp; Events</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/589/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/589/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/589/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/589/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/589/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/589/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/589/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/589/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/589/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/589/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/589/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/589/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/589/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/589/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=589&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/06/14/afds-live-tream/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>
	</item>
		<item>
		<title>&#8220;Ask Me Anything&#8221; interview is now live on Channel 9</title>
		<link>http://herbsutter.com/2011/06/07/c9-ama/</link>
		<comments>http://herbsutter.com/2011/06/07/c9-ama/#comments</comments>
		<pubDate>Tue, 07 Jun 2011 16:00:26 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Talks & Events]]></category>

		<guid isPermaLink="false">http://herbsutter.com/?p=586</guid>
		<description><![CDATA[The &#8220;Ask Me Anything&#8221; interview is now live. Thanks again for all your questions; we took as many of the most popular ones as we could. I hope you enjoy it. Filed under: C++, Software Development, Talks &#38; Events<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=586&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The &#8220;Ask Me Anything&#8221; interview <a href="http://channel9.msdn.com/Shows/Going+Deep/Herb-Sutter-C-Questions-and-Answers">is now live</a>.</p>
<p>Thanks again for all your <a href="http://herbsutter.com/2011/05/17/c9-questions/">questions</a>; we took as many of the most popular ones as we could. I hope you enjoy it.</p>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>, <a href='http://herbsutter.com/category/software-development/'>Software Development</a>, <a href='http://herbsutter.com/category/talks-events/'>Talks &amp; Events</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/586/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/586/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/586/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/586/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/586/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/586/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/586/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/586/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/586/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/586/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/586/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/586/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/586/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/586/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=586&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/06/07/c9-ama/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>
	</item>
		<item>
		<title>Reminder: Vote on AMA questions by tomorrow night</title>
		<link>http://herbsutter.com/2011/05/31/ama-reminder/</link>
		<comments>http://herbsutter.com/2011/05/31/ama-reminder/#comments</comments>
		<pubDate>Tue, 31 May 2011 16:00:00 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Talks & Events]]></category>

		<guid isPermaLink="false">http://herbsutter.com/?p=580</guid>
		<description><![CDATA[As promised, reminder: The followup interview on Channel 9 has been scheduled, and will be shot on Thursday, June 2. You have until midnight June 1 (North American Pacific time) to post new questions, and to vote others&#8217; questions up/down. If you haven&#8217;t been back to the call for questions page for a few days, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=580&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>As promised, reminder: The <a href="http://herbsutter.com/2011/05/17/c9-questions/">followup interview</a> on Channel 9 has been scheduled, and will be shot on Thursday, June 2. You have until midnight June 1 (North American Pacific time) to post new questions, and to vote others&#8217; questions up/down.</p>
<p>If you haven&#8217;t been back to the call for questions page for a few days, please take a minute now to go back and <strong><a href="http://herbsutter.com/2011/05/17/c9-questions/">vote for/against the questions that have been submitted in the comments</a></strong>. Your votes matter to help us know which questions are of most interest to the most people, and we&#8217;ll take as many of the highest-rated ones that we can.</p>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>, <a href='http://herbsutter.com/category/talks-events/'>Talks &amp; Events</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/580/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/580/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/580/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/580/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/580/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/580/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/580/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/580/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/580/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/580/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/580/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/580/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/580/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/580/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=580&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/05/31/ama-reminder/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>
	</item>
		<item>
		<title>My lambdas talk @NWCPP is now online</title>
		<link>http://herbsutter.com/2011/05/20/my-lambdas-talk-nwcpp-is-now-online/</link>
		<comments>http://herbsutter.com/2011/05/20/my-lambdas-talk-nwcpp-is-now-online/#comments</comments>
		<pubDate>Fri, 20 May 2011 16:59:03 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Talks & Events]]></category>

		<guid isPermaLink="false">http://herbsutter.com/?p=574</guid>
		<description><![CDATA[Lloyd Moore of NWCPP did record some video and post slides of my C++ lambdas talk two days ago. The video and slides (PDF) are now online. You can see Lloyd&#8217;s friendly smile in the foreground of the final frame. The room lighting and layout weren&#8217;t great for video recording, but the audio is quite clear and you can [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=574&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Lloyd Moore of <a href="http://nwcpp.org">NWCPP</a> did record some video and post slides of my C++ lambdas talk two days ago. The <strong><a href="http://vimeo.com/23975522">video</a></strong> and <strong><a href="http://www.nwcpp.org/images/stories/lambda.pdf">slides (PDF)</a></strong> are now online. You can see Lloyd&#8217;s friendly smile in the foreground of the final frame.</p>
<p>The room lighting and layout weren&#8217;t great for video recording, but the audio is quite clear and you can refer to the PDF to see everything on the slides in detail.</p>
<p>If your name is Scott Meyers, skip to 41:50. :)</p>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>, <a href='http://herbsutter.com/category/talks-events/'>Talks &amp; Events</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/574/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/574/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/574/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/574/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/574/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/574/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/574/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/574/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/574/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/574/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/574/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/574/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/574/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/574/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=574&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/05/20/my-lambdas-talk-nwcpp-is-now-online/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>
	</item>
		<item>
		<title>Post your questions for a followup C9 interview</title>
		<link>http://herbsutter.com/2011/05/17/c9-questions/</link>
		<comments>http://herbsutter.com/2011/05/17/c9-questions/#comments</comments>
		<pubDate>Tue, 17 May 2011 22:03:49 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Talks & Events]]></category>

		<guid isPermaLink="false">http://herbsutter.com/?p=568</guid>
		<description><![CDATA[The last Channel 9 video interview seems to have been well-received, and some people suggested Charles should have asked about additional topics. So here&#8217;s my idea: Let&#8217;s do another C9 interview, this time with your questions &#8212; hard or soft, big or small, just not too bizarre or personal please. :) Here&#8217;s how I&#8217;ll try [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=568&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://herbsutter.com/2011/05/04/interview-on-channel-9-2/">last Channel 9 video interview</a> seems to have been well-received, and some people suggested Charles should have asked about additional topics.</p>
<p>So here&#8217;s my idea: Let&#8217;s do another C9 interview, this time with your questions &#8212; hard or soft, big or small, just not too bizarre or personal please. :)</p>
<p>Here&#8217;s how I&#8217;ll try to take them:</p>
<ul>
<li>Post your question(s) below as a reply to this post. Post as many questions as you like, but please make each one a separate reply for better clarity.</li>
<li>Return often to vote your and others&#8217; questions up or down. That way I know what&#8217;s of interest to lots of people, rather than spending 10% of the interview answering something of interest to only one person.</li>
<li>Charles will pepper me with the top-rated questions and we&#8217;ll get through as many as we can in some reasonable time (30 minutes? though once we get going we tend to be hard to stop). We&#8217;ll try to do it somewhere with a whiteboard as I expect that&#8217;ll be handy.</li>
</ul>
<p>So, now it&#8217;s all yours&#8230; reply below as often as you like, and vote the questions up/down early and often.</p>
<p><strong><em>Update, June 7: </em></strong><em>The followup interview <a href="http://channel9.msdn.com/Shows/Going+Deep/Herb-Sutter-C-Questions-and-Answers">is now live</a>. Thanks for all your questions, and we took as many of the most popular ones as we could!</em></p>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>, <a href='http://herbsutter.com/category/talks-events/'>Talks &amp; Events</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/568/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/568/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/568/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/568/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/568/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/568/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/568/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/568/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/568/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/568/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/568/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/568/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/568/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/568/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=568&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/05/17/c9-questions/feed/</wfw:commentRss>
		<slash:comments>132</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>
	</item>
		<item>
		<title>Lambdas Talk: Tomorrow night @ NWCPP, Redmond WA USA</title>
		<link>http://herbsutter.com/2011/05/17/lambdas-talk-tomorrow-night-nwcpp-redmond-wa-usa/</link>
		<comments>http://herbsutter.com/2011/05/17/lambdas-talk-tomorrow-night-nwcpp-redmond-wa-usa/#comments</comments>
		<pubDate>Tue, 17 May 2011 17:06:29 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Talks & Events]]></category>

		<guid isPermaLink="false">http://herbsutter.com/?p=565</guid>
		<description><![CDATA[For those of you who are local to the greater Seattle area, tomorrow night at 6:30pm in Redmond I&#8217;ll be giving a reprise of one my talks that premiered last fall at C++ and Beyond 2010. The talk I&#8217;ll be giving is Lambdas, Lambdas Everywhere about all the wild and wonderful uses of C++0x lambda functions. It&#8217;s [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=565&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>For those of you who are local to the greater Seattle area, tomorrow night at 6:30pm in Redmond I&#8217;ll be giving a reprise of one my talks that premiered last fall at <a href="http://cppandbeyond.com">C++ and Beyond 2010</a>.</p>
<p>The talk I&#8217;ll be giving is <strong><a href="http://herbsutter.com/2010/10/07/c-and-beyond-session-lambdas-lambdas-everywhere/">Lambdas, Lambdas Everywhere</a></strong> about all the wild and wonderful uses of C++0x lambda functions. It&#8217;s hosted by the <a href="http://nwcpp.org">Northwest C++ Users Group</a> (NWCPP) which meets at Microsoft Building 41 in Redmond, WA.</p>
<p>Here are the coordinates, with a map link:</p>
<p style="padding-left:30px;"><strong>Lambdas, Lambdas Everywhere</strong><br />
Herb Sutter</p>
<p style="padding-left:30px;"><strong>Wednesday, May 18, 2011</strong><br />
6:30pm &#8211; pizza provided by Corensic<br />
7:00pm &#8211; talk starts</p>
<p style="padding-left:30px;"><strong><a href="http://www.bing.com/maps/#JnE9Lm1pY3Jvc29mdCUyYmJ1aWxkaW5nJTJiNDElN2Vzc3QuMCU3ZXBnLjEmYmI9NzQuNTcyMDk0NjM3NjAzMiU3ZS05Mi4zNDgwNjgyMzclN2UtNS45NDU3MjMyNjQ2NDE1JTdlLTE1MS45Mzc5MTE5ODc=">Microsoft Building 41</a></strong><br />
Townsend Room (main floor directly off the lobby)<br />
Southwest corner of NE 31st St and 156th Ave NE<br />
Redmond, WA 98052</p>
<p style="text-align:left;">I look forward to seeing many of you tomorrow night.</p>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>, <a href='http://herbsutter.com/category/talks-events/'>Talks &amp; Events</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/565/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/565/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/565/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/565/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/565/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/565/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/565/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/565/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/565/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/565/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/565/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/565/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/565/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/565/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=565&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/05/17/lambdas-talk-tomorrow-night-nwcpp-redmond-wa-usa/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>
	</item>
		<item>
		<title>Interview on Channel 9</title>
		<link>http://herbsutter.com/2011/05/04/interview-on-channel-9-2/</link>
		<comments>http://herbsutter.com/2011/05/04/interview-on-channel-9-2/#comments</comments>
		<pubDate>Wed, 04 May 2011 23:33:09 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C# / .NET]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Concurrency]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Talks & Events]]></category>

		<guid isPermaLink="false">http://herbsutter.com/?p=561</guid>
		<description><![CDATA[Channel 9 just posted a new interview with me about ISO C++0x, C++&#8217;s place in the modern world, and all things C++. The topics we talked about ranged pretty widely, as you can see from the questions below. Here&#8217;s the blurb as posted on Channel 9 with links to specific questions in the interview. Enjoy. Herb [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=561&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Channel 9 just posted a new <a href="http://channel9.msdn.com/Shows/Going+Deep/Conversation-with-Herb-Sutter-Perspectives-on-Modern-C0x11">interview with me</a> about ISO C++0x, C++&#8217;s place in the modern world, and all things C++. The topics we talked about ranged pretty widely, as you can see from the questions below.</p>
<p>Here&#8217;s the blurb as posted on Channel 9 with links to specific questions in the interview. Enjoy.</p>
<p>Herb</p>
<blockquote><p>I was lucky enough to catch up with <a href="http://herbsutter.com/" target="_blank">Herb Sutter</a> not too long after the <a href="http://herbsutter.com/2011/03/25/we-have-fdis-trip-report-march-2011-c-standards-meeting/" target="_blank">FDIS announcement</a> (Final Draft International Standard is complete).</p>
<p>As usual when talking to Herb, the conversation is all about C++ (well, we <em>do</em> talk about C# for a little while, but in the context of C++. Why? Tune in&#8230;).</p>
<p>See below for the specific questions that were asked. You can simply click on a link to move directly to that point in the conversation. I do, however, strongly recommend that <em>you watch the entire thing</em>. I also recommend that you don&#8217;t get used to this level of categorization in my videos (it takes a fair amount of time to do this sort of thing, so enjoy the times when I actually do this, but don&#8217;t expect me to do this all of the time).</p>
<p>It&#8217;s always great to talk to Herb and get a glimpse of what goes on in the C++ Standards Committee (which Herb chairs). In this specific conversation, it&#8217;s uplifting to see how excited Herb is for the future of one of the world&#8217;s most capable and widely used general purpose programming languages. C++ is a modern programming language for power and performance, but it&#8217;s also a highly abstracted general purpose language for building user mode applications, mobile apps, etc. The amazing part is how C++ can provide rich general programming abstractions and also ensure that your code can run at machine speeds. We talk about this, of course.</p>
<p>Tune in. Learn. Go native!</p>
<p><a href="http://channel9.msdn.com/Shows/Going+Deep/Conversation-with-Herb-Sutter-Perspectives-on-Modern-C0x11#time=1m37s">1:37 -&gt; What were the goals of the C++0x standard, at a high level?</a></p>
<p><a href="http://channel9.msdn.com/Shows/Going+Deep/Conversation-with-Herb-Sutter-Perspectives-on-Modern-C0x11#time=2m40s">2:40 -&gt; Language and Library abstractions and performance (how high can you go and still be fast as possible?)&#8230;</a></p>
<p><a href="http://channel9.msdn.com/Shows/Going+Deep/Conversation-with-Herb-Sutter-Perspectives-on-Modern-C0x11#time=5m23s">5:23 -&gt; C++ as an application development language (in addition to the traditional C++ is a systems programming language meme)&#8230;</a></p>
<p><a href="http://channel9.msdn.com/Shows/Going+Deep/Conversation-with-Herb-Sutter-Perspectives-on-Modern-C0x11#time=7m17s">07:17 -&gt; C++0x or can we now call it C++11?</a></p>
<p><a href="http://channel9.msdn.com/Shows/Going+Deep/Conversation-with-Herb-Sutter-Perspectives-on-Modern-C0x11#time=9m21s">09:21 -&gt; Standards committees and real world user representation&#8230;</a></p>
<p><a href="http://channel9.msdn.com/Shows/Going+Deep/Conversation-with-Herb-Sutter-Perspectives-on-Modern-C0x11#time=10m39s">10:39 -&gt; Who comes up with the new features that get standardized (or not&#8230;)?</a></p>
<p><a href="http://channel9.msdn.com/Shows/Going+Deep/Conversation-with-Herb-Sutter-Perspectives-on-Modern-C0x11#time=13m1s">13:01 -&gt; What were the goals of the C++0x standard (non-canned answer)?</a></p>
<p><a href="http://channel9.msdn.com/Shows/Going+Deep/Conversation-with-Herb-Sutter-Perspectives-on-Modern-C0x11#time=14m21s">14:21 -&gt; What does Bjarne mean by C++0x being a better C++ for novice programmers?</a></p>
<p><a href="http://channel9.msdn.com/Shows/Going+Deep/Conversation-with-Herb-Sutter-Perspectives-on-Modern-C0x11#time=15m51s">15:51 -&gt; Why can&#8217;t C++ look more like C#?</a></p>
<p><a href="http://channel9.msdn.com/Shows/Going+Deep/Conversation-with-Herb-Sutter-Perspectives-on-Modern-C0x11#time=18m50s">18:50 -&gt; At the end of the day, everything(in terms of programmer-controlled computing) boils down to memory, right?</a></p>
<p><a href="http://channel9.msdn.com/Shows/Going+Deep/Conversation-with-Herb-Sutter-Perspectives-on-Modern-C0x11#time=23m12s">23:12 -&gt; What are some of the most significant new features in C++0x?</a></p>
<p><a href="http://channel9.msdn.com/Shows/Going+Deep/Conversation-with-Herb-Sutter-Perspectives-on-Modern-C0x11#time=25m5s">25:05 -&gt; What can VC++ developers expect to see in terms of C++0x implementation in Visual C++ next?</a></p>
<p><a href="http://channel9.msdn.com/Shows/Going+Deep/Conversation-with-Herb-Sutter-Perspectives-on-Modern-C0x11#time=27m9s">27:09 -&gt; C++ and type safety&#8230;</a></p>
<p><a href="http://channel9.msdn.com/Shows/Going+Deep/Conversation-with-Herb-Sutter-Perspectives-on-Modern-C0x11#time=29m5s">29:05 -&gt; C++0x and backwards compatibility: any big breaking changes?</a></p>
<p><a href="http://channel9.msdn.com/Shows/Going+Deep/Conversation-with-Herb-Sutter-Perspectives-on-Modern-C0x11#time=34m16s">34:16 -&gt; C++0x in the Standard Library&#8230;</a></p>
<p><a href="http://channel9.msdn.com/Shows/Going+Deep/Conversation-with-Herb-Sutter-Perspectives-on-Modern-C0x11#time=37m1s">37:01 -&gt; Any thinking in the Committee about doing more frequent experimental releases C++?</a></p>
<p><a href="http://channel9.msdn.com/Shows/Going+Deep/Conversation-with-Herb-Sutter-Perspectives-on-Modern-C0x11#time=39m4s">39:04 -&gt; Are their features that didn&#8217;t make it into the standard that you really wanted to be standardized?</a></p>
<p><a href="http://channel9.msdn.com/Shows/Going+Deep/Conversation-with-Herb-Sutter-Perspectives-on-Modern-C0x11#time=41m45s">41:45 -&gt; Are you comfortable with C++&#8217;s current state? Is it modern enough?</a></p>
<p><a href="http://channel9.msdn.com/Shows/Going+Deep/Conversation-with-Herb-Sutter-Perspectives-on-Modern-C0x11#time=43m22s">43:22 -&gt; Conclusion (or Charles doesn&#8217;t end the conversation when his farewell begins &#8211; where does it go from there? )</a></p></blockquote>
<br />Filed under: <a href='http://herbsutter.com/category/c-net/'>C# / .NET</a>, <a href='http://herbsutter.com/category/c/'>C++</a>, <a href='http://herbsutter.com/category/concurrency/'>Concurrency</a>, <a href='http://herbsutter.com/category/microsoft/'>Microsoft</a>, <a href='http://herbsutter.com/category/software-development/'>Software Development</a>, <a href='http://herbsutter.com/category/talks-events/'>Talks &amp; Events</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/561/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/561/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/561/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/561/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/561/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/561/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/561/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/561/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/561/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/561/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/561/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/561/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/561/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/561/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=561&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/05/04/interview-on-channel-9-2/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>
	</item>
		<item>
		<title>Two More C&amp;B Sessions: C++0x Memory Model (Scott) and Exceptional C++0x (me)</title>
		<link>http://herbsutter.com/2011/04/14/two-more-cnb-sessions/</link>
		<comments>http://herbsutter.com/2011/04/14/two-more-cnb-sessions/#comments</comments>
		<pubDate>Thu, 14 Apr 2011 18:35:00 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Talks & Events]]></category>

		<guid isPermaLink="false">http://herbsutter.com/?p=548</guid>
		<description><![CDATA[Scott Meyers, Andrei Alexandrescu and I are continuing to craft and announce the technical program for C++ and Beyond (C&#38;B) 2011, and two more sessions are now posted. All talks are brand-new material created specifically for C&#38;B 2011. Here are short blurbs; follow the links for longer descriptions. Scott will give a great new talk [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=548&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Scott Meyers, Andrei Alexandrescu and I are continuing to craft and announce the technical program for <strong><a href="http://cppandbeyond.com/">C++ and Beyond (C&amp;B) 2011</a></strong>, and two more sessions are now posted. All talks are brand-new material created specifically for C&amp;B 2011. Here are short blurbs; follow the links for longer descriptions.</p>
<ul>
<li>Scott will give a great new talk on <em><strong><a href="http://cppandbeyond.com/2011/04/11/session-announcement-the-c0x-memory-model-and-why-you-care/">&#8220;The C++0x Memory Model and Why You Care&#8221;</a></strong></em> that will cover topics of interest to anybody who cares about concurrency and parallel programming under C++0x: everything from compiler optimizations and memory access reorderings, to “sequenced before” and “happens before” relations, to atomic types and memory consistency models, and how they all relate to both correctness and performance. This is stuff that in a perfect world nobody should ever have to know, but in our actual world every modern C++ developer who cares about correct high-performance code has to understand it thoroughly.</li>
<li>I&#8217;ll be giving a brand-new talk  <em><strong><a href="http://cppandbeyond.com/2011/04/12/session-announcement-exceptional-c0x-aka-c11/">&#8220;Exceptional C++0x (aka C++11)&#8221;</a></strong></em> that shows how the new features in C++0x change the way we solve problems, our C++ coding style, and even the way we think about our code. I&#8217;ll demonstrate that with code that works today on existing compilers, using selected familiar examples from my <em>Exceptional C++</em> books. This is not rehashed material, as I&#8217;ll assume you&#8217;re already familiar with the pre-C++0x solutions (I&#8217;ll provide links to read as refreshers before the course), and then we&#8217;ll analyze and solve them entirely the 21st-century C++ way and see why C++0x feels like a whole new fresh language that leads to different approaches, new and changed guidelines, and even better solutions. As Bjarne <a href="http://www2.research.att.com/~bs/C++0xFAQ.html">put it</a>: &#8220;Surprisingly, C++0x feels like a new language: The pieces just fit together better than they used to and I find a higher-level style of programming more natural than before and as efficient as ever.&#8221; This talk will show why &#8212; deeply, madly, and truly.</li>
</ul>
<p>The other two talks already announced are the following, which I <a href="http://herbsutter.com/2011/04/05/c-and-beyond-2011/">previously reported last week</a>:</p>
<ul>
<li>Andrei will be giving an in-depth talk on <strong><em><a href="http://cppandbeyond.com/2011/03/31/session-announcement-big/">“BIG: C++ Strategies, Data Structures, and Algorithms Aimed at Scalability.”</a></em></strong> Briefly, it’s about writing high-performance C++ code for  highly distributed architectures, focusing on translating C++’s strong modeling capabilities directly to great scaling and/or great savings, and finding the right but non-intuitive C++ techniques and data structures to get there.</li>
<li>I’ll be giving a brand-new talk on <strong><em><a href="http://cppandbeyond.com/2011/04/02/session-announcement-c-and-the-gpu-and-beyond/">“C++ and the GPU… and Beyond.”</a></em></strong> I’ll cover the state of the art for using C++ (not just C) for <a href="http://en.wikipedia.org/wiki/GPGPU">general-purpose computation on graphics processing units (GPGPU)</a>. The first half of the talk discusses the most important issues and techniques to consider when using GPUs for high-performance computation, especially where we have to change our traditional advice for doing the same computation on the CPU. The second half focuses on upcoming C++ language and library extensions that bring key abstractions for GPGPU — and in time considerably more — directly into C++.</li>
</ul>
<p>I hope to see many of you there this August. Last year&#8217;s event sold out during the early-bird period, and although we&#8217;ve increased the attendance cap this year to make room for more, if you&#8217;re interested in coming you may want to <a href="http://cppandbeyond2011.eventbrite.com/">register</a> soon to reserve a place.</p>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>, <a href='http://herbsutter.com/category/hardware/'>Hardware</a>, <a href='http://herbsutter.com/category/software-development/'>Software Development</a>, <a href='http://herbsutter.com/category/talks-events/'>Talks &amp; Events</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/548/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/548/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/548/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/548/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/548/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/548/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/548/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/548/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/548/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/548/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/548/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/548/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/548/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/548/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=548&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/04/14/two-more-cnb-sessions/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>
	</item>
		<item>
		<title>Keynote at the AMD Fusion Developer Summit</title>
		<link>http://herbsutter.com/2011/04/06/fusion/</link>
		<comments>http://herbsutter.com/2011/04/06/fusion/#comments</comments>
		<pubDate>Wed, 06 Apr 2011 19:52:35 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Concurrency]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Talks & Events]]></category>

		<guid isPermaLink="false">http://herbsutter.com/?p=542</guid>
		<description><![CDATA[In a couple of months, I&#8217;ll be giving a keynote at the AMD Fusion Developer&#8217;s Summit, which will be held on June 13-16, 2011, in Bellevue, WA, USA. Here&#8217;s my talk&#8217;s description as it appears on the conference website: AFDS Keynote: “Heterogeneous Parallelism at Microsoft” Herb Sutter, Microsoft Principal Architect, Native Languages Parallelism is not [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=542&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In a couple of months, I&#8217;ll be giving a keynote at the <a href="http://developer.amd.com/afds/">AMD Fusion Developer&#8217;s Summit</a>, which will be held on June 13-16, 2011, in Bellevue, WA, USA.</p>
<p>Here&#8217;s my talk&#8217;s description as it <a href="http://developer.amd.com/afds/pages/keynote.aspx">appears</a> on the conference website:</p>
<blockquote><p><strong><a href="http://developer.amd.com/afds/pages/keynote.aspx">AFDS Keynote: “Heterogeneous Parallelism at Microsoft”</a></strong><br />
<em>Herb Sutter, Microsoft Principal Architect, Native Languages</em></p>
<p>Parallelism is not just in full bloom, but increasingly in full variety. We know that getting full computational performance out of most machines—nearly all desktops and laptops, most game consoles, and the newest smartphones—already means harnessing local parallel hardware, mainly in the form of multicore CPU processing. This is the commoditization of the supercomputer.</p>
<p>More and more, however, getting that full performance can also mean using gradually ever-more-heterogeneous processing, from local GPGPU and Accelerated Processing Unit (APU) flavors to “often-on” remote parallel computing power in the form of elastic compute clouds. This is the generalization of the heterogeneous cluster in all its NUMA glory, and it’s appearing at all scales from on-die to on-machine to on-cloud.</p>
<p>In this talk, Microsoft’s chief native languages architect shares a vision of what this will mean for native software on Microsoft platforms from servers to devices, and showcases upcoming innovations that bring access to increasingly heterogeneous compute resources — from vector units and multicore, to GPGPU and APU, to elastic cloud — directly into the world’s most popular native languages.</p></blockquote>
<p>If you&#8217;re interested in high performance code for <a href="http://en.wikipedia.org/wiki/GPGPU">GPUs</a>, <a href="http://sites.amd.com/us/fusion/apu/Pages/fusion.aspx">APUs</a>, and other high-performance <a href="http://en.wikipedia.org/wiki/Three-letter_acronym">TLAs</a>, I hope to see you there.</p>
<p>Note: This talk is related to, but different from, the <a href="http://cppandbeyond.com/2011/04/02/session-announcement-c-and-the-gpu-and-beyond/">GPU talk I&#8217;ll be presenting</a> in August at <em><a href="http://herbsutter.com/2011/04/05/c-and-beyond-2011/">C++ and Beyond 2011</a></em> (aka C&amp;B). You can expect the above keynote to be, well, keynote-y&#8230; oriented toward software product features and of course AMD&#8217;s hardware, with plenty of forward-looking industry vision style material. My <a href="http://cppandbeyond.com/2011/04/02/session-announcement-c-and-the-gpu-and-beyond/">August C&amp;B technical talk</a> will be just that, an in-depth performance-oriented and sometimes-gritty technical session that will also mention product-related and hardware-specific stuff but is primarily about heterogeneous hardware, with a more pragmatically focused forward-looking eye.</p>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>, <a href='http://herbsutter.com/category/concurrency/'>Concurrency</a>, <a href='http://herbsutter.com/category/hardware/'>Hardware</a>, <a href='http://herbsutter.com/category/microsoft/'>Microsoft</a>, <a href='http://herbsutter.com/category/software-development/'>Software Development</a>, <a href='http://herbsutter.com/category/talks-events/'>Talks &amp; Events</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/542/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/542/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/542/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/542/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/542/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/542/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/542/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/542/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/542/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/542/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/542/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/542/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/542/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/542/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=542&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/04/06/fusion/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>
	</item>
		<item>
		<title>C++ and Beyond 2011</title>
		<link>http://herbsutter.com/2011/04/05/c-and-beyond-2011/</link>
		<comments>http://herbsutter.com/2011/04/05/c-and-beyond-2011/#comments</comments>
		<pubDate>Wed, 06 Apr 2011 00:32:22 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Concurrency]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Talks & Events]]></category>

		<guid isPermaLink="false">http://herbsutter.com/?p=539</guid>
		<description><![CDATA[I&#8217;m very much looking forward to C++ and Beyond 2011 this August, again with Scott Meyers and Andrei Alexandrescu. All of my own talks will be brand-new material never given publicly before. This year&#8217;s program will be heavily oriented toward performance (first) and C++0x (second). There are two talks announced so far: Andrei will be giving [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=539&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" title="Beautiful Banff" src="http://cppandbeyond.files.wordpress.com/2011/02/banffsprings.jpg?w=240&#038;h=165" alt="" width="240" height="165" />I&#8217;m very much looking forward to <strong><a href="http://cppandbeyond.com">C++ and Beyond 2011</a></strong> this August, again with Scott Meyers and Andrei Alexandrescu. All of my own talks will be brand-new material never given publicly before.</p>
<p>This year&#8217;s program will be heavily oriented toward performance (first) and C++0x (second). There are two talks announced so far:</p>
<ul>
<li>Andrei will be giving an in-depth talk on <strong><em><a href="http://cppandbeyond.com/2011/03/31/session-announcement-big/">&#8220;BIG: C++ Strategies, Data Structures, and Algorithms Aimed at Scalability.&#8221;</a></em></strong> Briefly, it&#8217;s about writing high-performance C++ code for  highly distributed architectures, focusing on translating C++&#8217;s strong modeling capabilities directly to great scaling and/or great savings, and finding the right but non-intuitive C++ techniques and data structures to get there.</li>
<li>I&#8217;ll be giving a brand-new talk on <strong><em><a href="http://cppandbeyond.com/2011/04/02/session-announcement-c-and-the-gpu-and-beyond/">&#8220;C++ and the GPU&#8230; and Beyond.&#8221;</a></em></strong> I&#8217;ll cover the state of the art for using C++ (not just C) for <a href="http://en.wikipedia.org/wiki/GPGPU">general-purpose computation on graphics processing units (GPGPU)</a>. The first half of the talk discusses the most important issues and techniques to consider when using GPUs for high-performance computation, especially where we have to change our traditional advice for doing the same computation on the CPU. The second half focuses on upcoming C++ language and library extensions that bring key abstractions for GPGPU — and in time considerably more — directly into C++.</li>
</ul>
<p>An announcement for a third (also performance-focused) talk should be posted within the week, with more to come as we continue to announce the talk schedule as it firms up.</p>
<p><a href="http://cppandbeyond2011.eventbrite.com/">Registration is now open.</a> I hope many of you will be able to make it.</p>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>, <a href='http://herbsutter.com/category/concurrency/'>Concurrency</a>, <a href='http://herbsutter.com/category/software-development/'>Software Development</a>, <a href='http://herbsutter.com/category/talks-events/'>Talks &amp; Events</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/539/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/539/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/539/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/539/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/539/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/539/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/539/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/539/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/539/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/539/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/539/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/539/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/539/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/539/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=539&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/04/05/c-and-beyond-2011/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>

		<media:content url="http://cppandbeyond.files.wordpress.com/2011/02/banffsprings.jpg" medium="image">
			<media:title type="html">Beautiful Banff</media:title>
		</media:content>
	</item>
		<item>
		<title>We Have FDIS! (Trip Report: March 2011 C++ Standards Meeting)</title>
		<link>http://herbsutter.com/2011/03/25/we-have-fdis-trip-report-march-2011-c-standards-meeting/</link>
		<comments>http://herbsutter.com/2011/03/25/we-have-fdis-trip-report-march-2011-c-standards-meeting/#comments</comments>
		<pubDate>Sat, 26 Mar 2011 03:22:41 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">http://herbsutter.com/?p=528</guid>
		<description><![CDATA[News flash: This afternoon, the ISO C++ committee approved the final technical changes to the C++0x standard. The new International Standard for Programming Language C++ is expected to be published in summer 2011. The spring 2011 ISO C++ meeting was held on March 21-25 in Madrid, Spain. As previously reported, the goal of this meeting was [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=528&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:right;"><strong> </strong></p>
<p><strong>News flash: This afternoon, the ISO C++ committee approved the final technical changes to the C++0x standard. The new International Standard for Programming Language C++ is expected to be published in summer 2011.</strong></p>
<p>The spring 2011 ISO C++ meeting was held on March 21-25 in Madrid, Spain. As <a href="http://herbsutter.com/2010/12/08/trip-report-november-2010-c-standards-meeting/">previously reported</a>, the goal of this meeting was to finish responding to national body comments on the Final Committee Draft (FCD), and to accept the last set of technical changes and approve a Final Draft International Standard (FDIS) for the final international ballot.</p>
<p><a href="http://cppandbeyond.com"><img class="alignright size-full wp-image-537" title="C++ and Beyond 2011: Registration is now open" src="http://herbsutter.files.wordpress.com/2011/03/fb112.png?w=500" alt=""   /></a>We reached that goal. Indeed, thanks to everyone&#8217;s hard work not just at this meeting but at and in between the meetings leading up to Madrid, we were done early enough in the week that we also got to work on resolving a number of lower-priority features and still end a day early on Friday, instead of also working all day Saturday as originally planned. (That said, it wasn&#8217;t a holiday &#8212; as usual for ISO C++ meetings, pretty much every day you could find roughly half of committee members working long past midnight in technical group sessions on particular issues and updating and reviewing proposed wording changes, then starting up again bright and early the next morning.)</p>
<h3>Where are we in the process?</h3>
<p>At around 16:00 Madrid time on Friday, the committee voted to approve the FDIS document, to many rounds of applause and thanks to our hosts, our project editor Pete Becker, our subgroup chairs Bjarne Stroustrup, Steve Adamczyk, Alisdair Meredith, Howard Hinnant, Lawrence Crowl, and Hans Boehm, and everyone else who has worked so hard over the last few years to bring us to this point.</p>
<p>The work isn&#8217;t quite done yet. The project editor now needs to update the working draft with the changes approved at this meeting, and a review committee of over a dozen volunteers will review it to help make sure those edits were made correctly. The result will be the FDIS draft. Once that happens, which we expect to take about three weeks, we will transmit the FDIS to ITTF in Geneva to kick off the final up/down international ballot which should be complete this summer.</p>
<p>If all goes well, and we expect it will, the International Standard will be approved and published in 2011, henceforth to be known as C++ 2011.</p>
<h3>A word about quality</h3>
<p>Just like the first time a decade and a half ago, this time we again took longer than we initially thought to produce the second C++ standard. Partly it was because of early ambitious feature scope, but primarily it was in the name of quality.</p>
<p>Perhaps the most heartening thing to me is that this standard is widely considered among committee old-timers as the highest-quality FDIS document we have shipped in the history of WG21, and we believe it to be clearly in superbly better shape than the first standard&#8217;s FDIS that we approved in November 1997 for ballot in early 1998. This time, virtually all features have actually been implemented in at least some shipping compilers, and design churn and overall design risk are significantly lower. This is particularly thanks to having shipped a large set of C++0x&#8217;s extensions first in the form of the (non-normative) Library Extensions TR (aka Library TR, aka TR1) which encouraged early vendor implementation of its features in a form that the committee could still tweak, even with breaking changes as needed, before incorporating them in an international standard.</p>
<p>Of course, we know there are bugs and as usual we expect to have a tail of Defect Reports (DRs, aka bug fixes and patches) to process over the next few meetings; but the tail is smaller, and many of those most involved expressed clear confidence that it will be far less than the five-year tail we had on the first standard.</p>
<p>But, as Josee Lajoie said so eloquently in Morristown in November 1997, and as Bjarne Stroustrup and others echoed this afternoon: &#8220;Hey, we&#8217;re done!&#8221;</p>
<p>Let me once again express my personal thanks and appreciation to everyone who has contributed in person and electronically to this standard. We couldn&#8217;t have done it without you. Thank you, and enjoy the moment!</p>
<h3>Looking forward</h3>
<p>It&#8217;s our tradition to schedule one meeting a year outside the continental United States, and preferably outside North America, because this helps international participation by making it easier for people from all parts of the world to attend. Next year, as we&#8217;ve done before, this &#8220;un-American&#8221; meeting will be the Kona meeting, which is closer for folks in eastern Asia and Australia who may wish to attend.</p>
<p><span style="font-size:13px;font-weight:normal;">Here are the planned dates and locations for the remaining 2011 and 2012 ISO C++ standards committee meetings:</span></p>
<ul>
<li><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3244.pdf">August 15-19, 2011</a>: Bloomington, IN, USA</li>
<li>March, 2012: Kona, HI, USA</li>
<li>September, 2012: Portland, OR, USA</li>
</ul>
<p>Herb</p>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/528/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/528/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/528/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/528/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/528/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/528/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/528/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/528/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/528/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/528/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/528/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/528/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/528/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/528/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=528&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/03/25/we-have-fdis-trip-report-march-2011-c-standards-meeting/feed/</wfw:commentRss>
		<slash:comments>82</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>

		<media:content url="http://herbsutter.files.wordpress.com/2011/03/fb112.png" medium="image">
			<media:title type="html">C++ and Beyond 2011: Registration is now open</media:title>
		</media:content>
	</item>
		<item>
		<title>Book on PPL is now available</title>
		<link>http://herbsutter.com/2011/03/24/book-on-ppl-is-now-available/</link>
		<comments>http://herbsutter.com/2011/03/24/book-on-ppl-is-now-available/#comments</comments>
		<pubDate>Thu, 24 Mar 2011 22:12:53 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[Concurrency]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://herbsutter.com/?p=524</guid>
		<description><![CDATA[For those of you who may be interested in concurrency and parallelism using Microsoft tools, there&#8217;s a new book now available on the Visual C++ 2010 Parallel Patterns Library (PPL). I hope you enjoy it. Normally I don&#8217;t write about other people&#8217;s platform-specific books, but I happened to be involved in the design of PPL, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=524&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>For those of you who may be interested in concurrency and parallelism using Microsoft tools, there&#8217;s a <a href="http://blogs.msdn.com/b/vcblog/archive/2011/03/15/10139453.aspx">new book</a> now available on the Visual C++ 2010 Parallel Patterns Library (PPL). I hope you enjoy it.</p>
<p>Normally I don&#8217;t write about other people&#8217;s platform-specific books, but I happened to be involved in the design of PPL, thought the book was nicely done, and contributed a <a href="http://msdn.microsoft.com/en-us/library/gg663537.aspx">Foreword</a>. Here&#8217;s what I wrote to introduce the book:</p>
<blockquote><p>This timely book comes as we navigate a major turning point in our industry: parallel hardware + mobile devices = the pocket supercomputer as the mainstream platform for the next 20 years.</p>
<p>Parallel applications are increasingly needed to exploit all kinds of target hardware. As I write this, getting full computational performance out of most machines—nearly all desktops and laptops, most game consoles, and the newest smartphones—already means harnessing local parallel hardware, mainly in the form of multicore CPU processing; this is the commoditization of the supercomputer. Increasingly in the coming years, getting that full performance will also mean using gradually ever-more-heterogeneous processing, from local general-purpose computation on graphics processing units (GPGPU) flavors to harnessing &#8220;often-on&#8221; remote parallel computing power in the form of elastic compute clouds; this is the generalization of the heterogeneous cluster in all its NUMA glory, with instantiations ranging from on-die to on-machine to on-cloud, with early examples of each kind already available in the wild.</p>
<p>Starting now and for the foreseeable future, for compute-bound applications, &#8220;fast&#8221; will be synonymous not just with &#8220;parallel,&#8221; but with &#8220;<em>scalably</em> parallel.&#8221; Only scalably parallel applications that can be shipped with lots of latent concurrency beyond what can be exploited in this year’s mainstream machines will be able to enjoy the new Free Lunch of getting substantially faster when today’s binaries can be installed and blossom on tomorrow’s hardware that will have more parallelism.</p>
<p>Visual C++ 2010 with its Parallel Patterns Library (PPL), described in this book, helps enable applications to take the first steps down this new path as it continues to unfold. During the design of PPL, many people did a lot of heavy lifting. For my part, I was glad to be able to contribute the heavy emphasis on lambda functions as the key central language extension that enabled the rest of PPL to be built as Standard Template Library (STL)-like algorithms implemented as a normal library. We could instead have built a half-dozen new kinds of special-purpose parallel loops into the language itself (and almost did), but that would have been terribly invasive and non-general. Adding a single general-purpose language feature like lambdas that can be used everywhere, including with PPL but not limited to only that, is vastly superior to baking special cases into the language.</p>
<p>The good news is that, in large parts of the world, we have as an industry already achieved pervasive computing: the vision of putting a computer on every desk, in every living room, and in everyone’s pocket. But now we are in the process of delivering pervasive and even elastic supercomputing: putting a supercomputer on every desk, in every living room, and in everyone’s pocket, with both local and non-local resources. In 1984, when I was just finishing high school, the world’s fastest computer was a Cray X-MP with four processors, 128MB of RAM, and peak performance of 942MFLOPS—or, put another way, a fraction of the parallelism, memory, and computational power of a 2005 vintage Xbox, never mind modern &#8220;phones&#8221; and Kinect. We’ve come a long way, and the pace of change is not only still strong, but still accelerating.</p>
<p>The industry turn to parallelism that has begun with multicore CPUs (for the reasons I outlined a few years ago in my essay &#8220;The Free Lunch Is Over&#8221;) will continue to be accelerated by GPGPU computing, elastic cloud computing, and other new and fundamentally parallel trends that deliver vast amounts of new computational power in forms that will become increasingly available to us through our mainstream programming languages. At Microsoft, we’re very happy to be able to be part of delivering this and future generations of tools for mainstream parallel computing across the industry. With PPL in particular, I’m very pleased to see how well the final product has turned out and look forward to seeing its capabilities continue to grow as we re-enable the new Free Lunch applications—scalable parallel applications ready for our next 20 years.</p>
<p>Herb Sutter<br />
Principal Architect, Microsoft<br />
Bellevue, WA, USA</p>
<p>February 2011</p>
<p>&nbsp;</p></blockquote>
<br />Filed under: <a href='http://herbsutter.com/category/concurrency/'>Concurrency</a>, <a href='http://herbsutter.com/category/microsoft/'>Microsoft</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/524/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/524/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/524/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/524/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/524/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/524/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/524/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/524/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/524/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/524/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/524/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/524/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/524/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/524/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=524&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/03/24/book-on-ppl-is-now-available/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>
	</item>
		<item>
		<title>Interview on Channel 9</title>
		<link>http://herbsutter.com/2011/01/14/interview-on-channel-9/</link>
		<comments>http://herbsutter.com/2011/01/14/interview-on-channel-9/#comments</comments>
		<pubDate>Sat, 15 Jan 2011 04:08:24 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C# / .NET]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Concurrency]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://herbsutter.com/?p=516</guid>
		<description><![CDATA[Over the holidays, Erik Meijer interviewed me on Channel 9. We covered a wide variety of topics, mostly centered on C++ with some straying into C#/Java/Haskell/Clojure/Erlang, but ranging from auto and closures to why (not?) derive future&#60;T&#62; from T, and from what the two most important problems in parallelism are in 2011 to why and how [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=516&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Over the holidays, Erik Meijer <a href="http://channel9.msdn.com/Shows/Going+Deep/E2E-Herb-Sutter-and-Erik-Meijer-Perspectives-on-C">interviewed me on Channel 9</a>. We covered a wide variety of topics, mostly centered on C++ with some straying into C#/Java/Haskell/Clojure/Erlang, but ranging from auto and closures to why (not?) derive future&lt;T&gt; from T, and from what the two most important problems in parallelism are in 2011 to why and how to taste new programming languages regularly. I think it turned out well. Enjoy!</p>
<br />Filed under: <a href='http://herbsutter.com/category/c-net/'>C# / .NET</a>, <a href='http://herbsutter.com/category/c/'>C++</a>, <a href='http://herbsutter.com/category/concurrency/'>Concurrency</a>, <a href='http://herbsutter.com/category/java/'>Java</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/516/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/516/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/516/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/516/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/516/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/516/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/516/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/516/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/516/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/516/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/516/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/516/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/516/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/516/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=516&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2011/01/14/interview-on-channel-9/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>
	</item>
		<item>
		<title>2010: Cyberpunk World</title>
		<link>http://herbsutter.com/2010/12/31/2010-cyberpunk-world/</link>
		<comments>http://herbsutter.com/2010/12/31/2010-cyberpunk-world/#comments</comments>
		<pubDate>Fri, 31 Dec 2010 22:35:36 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[Friday Thoughts]]></category>
		<category><![CDATA[Opinion & Editorial]]></category>

		<guid isPermaLink="false">http://herbsutter.com/?p=495</guid>
		<description><![CDATA[Speaking as a neutral observer with exactly zero opinion on any political question, and not even a cyberpunk reader given that I&#8217;ve read about two such novels in my life: Is it just me, or do the last few months&#8217; global news headlines read like they were ghostwritten by Neal Stephenson? I wonder if we [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=495&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Speaking as a neutral observer with exactly zero opinion on any political question, and not even a cyberpunk reader given that I&#8217;ve read about two such novels in my life: Is it just me, or do the last few months&#8217; global news headlines read like they were ghostwritten by <a href="http://www.nealstephenson.com/">Neal Stephenson</a>?</p>
<p>I wonder if we may look back on 2010 as the year it became widely understood that we now live in a cyberpunk world. Many of 2010&#8242;s top stories read like sci-fi:</p>
<ul>
<li><strong>Stuxnet:</strong> Sovereign nations (apparently) carry out <a href="http://www.wired.com/threatlevel/2010/11/stuxnet-sabotage-centrifuges/">successful attacks</a> on each other with <a href="http://en.wikipedia.org/wiki/Stuxnet">surgically crafted malware</a> &#8212; viruses and worms that target specific nuclear facilities, possibly causing more damage and delay to their targets&#8217; weapons programs than might have been achieved with a conventional military strike.</li>
<li><strong>Wikileaks:</strong> <a href="http://www.shirky.com/weblog/2010/12/half-formed-thought-on-wikileaks-global-action/">Stateless &#8216;Net organizations</a> operating outside national laws fight information battles with major governments, up to and including the strongest industrial and military superpowers. The governments react by <a href="http://www.guardian.co.uk/media/2010/dec/01/wikileaks-website-cables-servers-amazon">applying political pressure to powerful multinational corporations</a> to try to force the stateless organizations off the &#8216;Net and cut off their support and funding, but these efforts succeed only temporarily as the target keeps moving and reappearing.</li>
<li><strong>Anonymous:</strong> Small vigilante groups of private cybergunners retaliate by (or just latch onto a handy excuse to go) carrying out global attacks on the websites of multinational corporations, inflicting enough damage on <a href="http://money.cnn.com/2010/12/08/news/companies/mastercard_wiki/index.htm">Visa and Mastercard</a> to temporarily take them off the &#8216;Net, while being <a href="http://money.cnn.com/2010/12/09/technology/amazon_wikileaks_attack/index.htm">repelled by cyberfortresses like Amazon</a> and Paypal that have stronger digital defenses. But before we get too confident about Amazon&#8217;s strength, remember that this definitely ain&#8217;t the biggest attack they&#8217;ll ever see, just a 21st-century-cyberwar <em>hors d&#8217;oeuvre: </em>Who were these global attackers? About 100 people, many of them teenagers.</li>
<li><strong>Assange:</strong> <a href="http://en.wikipedia.org/wiki/Julian_Assange">Charismatic cyberpersonalities</a> operating principally on the &#8216;Net live as permanent residents of no nation, and roam the world (until arrested) wherever they can jack in, amid <a href="http://www.bing.com/search?q=assassinate+assange">calls for their arrest and/or assassination</a>.</li>
<li><strong>Kinect:</strong> Your benevolent (you hope) living room game console <a href="http://www.youtube.com/watch?v=nvvQJxgykcU">can see you</a>. Insert obligatory <em>Minority Report UIs no longer sci-fi</em> line here, with optional reference to <em><a href="http://en.wikipedia.org/wiki/Nineteen_Eighty-Four">Nineteen Eighty-Four</a></em>.</li>
<li><strong>Other:</strong> Never mind that organized crime has for years now been well-known to be behind much of the phishing, spam, <a href="http://www.bankinfosecurity.com/articles.php?art_id=3199">card skimming</a>, and other electronic and &#8216;Net crimes. Not new to 2010, but seeing a significant uptick in the continued transition from boutique crime to serious organization and <a href="http://www.fbi.gov/news/stories/2009/april/spearphishing_040109">spear-phishing</a> targeting specific high-profile organizations <a href="http://www.securitynewsdaily.com/phishing-scam-targets-us-military-0252/">including the U.S. military</a>.</li>
</ul>
<p>Over the coming months and years, it will be interesting to see how multinational corporations and sovereign governments react to what some of them no doubt view as a new stateless &#8212; transnational? extranational? supernational? &#8212; and therefore global threat to their normal way of doing business.</p>
<br />Filed under: <a href='http://herbsutter.com/category/friday-thoughts/'>Friday Thoughts</a>, <a href='http://herbsutter.com/category/opinion-editorial/'>Opinion &amp; Editorial</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/495/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/495/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/495/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/495/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/495/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/495/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/495/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/495/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/495/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/495/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/495/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/495/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/495/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/495/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=495&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2010/12/31/2010-cyberpunk-world/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>
	</item>
		<item>
		<title>Trip Report: November 2010 C++ Standards Meeting</title>
		<link>http://herbsutter.com/2010/12/08/trip-report-november-2010-c-standards-meeting/</link>
		<comments>http://herbsutter.com/2010/12/08/trip-report-november-2010-c-standards-meeting/#comments</comments>
		<pubDate>Thu, 09 Dec 2010 01:54:51 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://herbsutter.com/?p=485</guid>
		<description><![CDATA[The fall 2010 ISO C++ meeting was held on November 8-13 in Batavia, IL, USA. The post-meeting mailing is now live, including meeting minutes and other information. I attended this meeting virtually, as I was still recovering from some shoulder surgery. Fermilab&#8217;s teleconference facilities are excellent &#8212; I think it&#8217;s safe to say they&#8217;re the best [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=485&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The fall 2010 ISO C++ meeting was held on November 8-13 in Batavia, IL, USA. The <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/">post-meeting mailing</a> is now live, including meeting minutes and other information.</p>
<p>I attended this meeting virtually, as I was still recovering from some shoulder surgery. Fermilab&#8217;s teleconference facilities are excellent &#8212; I think it&#8217;s safe to say they&#8217;re the best I&#8217;ve ever used, and it was very helpful for several of us telecommuters to participate actively in the key design discussions below.</p>
<h3><strong>Where are we in the process?</strong></h3>
<p>For this and the next meeting (Madrid in March), the committee is doing ballot resolution and dealing with national body comments. Because we issued a Final Committee Draft, ISO C++0x can officially no longer add new features. All that we can do is address national body comments, and make any other bug fixes we find.</p>
<p>Things are going well and we are on track to complete the Final Draft International Standard (FDIS) for the C++0x standard after the Madrid meeting in March. If that happens and that ballot succeeds, the C++0x standard will be published in 2011. If it turns out we need another meeting to be able to handle the last of the comment tail, the fallback will be to target FDIS at the following meeting (Indiana in August).</p>
<p>For about five years now we&#8217;ve been having three six-day meetings a year, besides smaller unofficial subgroup meetings in person or by teleconference in between official meetings. Because things are going well, we also decided to scale back to two five-day meetings a year starting in 2011, which is what we had after C++98 shipped until work on C++0x began in earnest.</p>
<h3><strong>Key design decisions at this meeting</strong></h3>
<p><em>Note: For the first item, I&#8217;ll repeat much of the text from the August meeting trip report to make this a standalone post.</em></p>
<p><strong>Attributes: alignment, noreturn, and virtual control.</strong> As reported in the <a href="http://herbsutter.com/2010/08/28/trip-report-august-2010-iso-c-standards-meeting/">previous trip report</a>, my personal hot button for these past two meetings was that C++0x syntax for override control in particular not look like the following example:</p>
<pre><span style="font-family:Consolas, Monaco, 'Courier New', Courier, monospace;line-height:18px;font-size:12px;white-space:pre;">class [[base_check]] Derived : public Base {
</span>public:
  virtual void f [[override]] ();
  virtual double g [[final]] ( int );
  virtual void h [[hiding]] ();
};</pre>
<p>The committee has now decided replace these attributes with keywords. The two main options for keywords were:</p>
<ul>
<li>fully reserved words, which can break existing user code that uses the words as variable or type names and so would mean we need to pick uglier names; and</li>
<li>contextual keywords as done in C++/CLI, which does not break existing user code and so lets us pick the ideal nice names, but which would be the first contextual keywords in ISO C++ (and there’s always resistance to being the first).</li>
</ul>
<p>It was decided to follow the latter &#8212; contextual keywords pretty much as used in <a href="http://www.ecma-international.org/publications/standards/Ecma-372.htm">C++/CLI</a>, down to renaming <strong>[[hiding]]</strong> as <strong>new</strong>. <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3206.htm">Here&#8217;s the paper with the wording changes</a>, and here&#8217;s how the above example now looks:</p>
<pre>class Derived explicit : public Base {
public:
  virtual void f () override;
  virtual double g( int ) final;
  virtual void h() new;
};</pre>
<p>The other two kinds of attributes that we considered changing to keywords were [[align]] to specify the alignment of a type, and [[noreturn]] to specify that a function never return. The committee confirmed the decision reported as tentative in the previous trip report, namely to change [[align]] to a keyword and leave [[noreturn]] alone.</p>
<p>With these changes, the only two standard attributes are [[noreturn]] and [[carries_dependency]].</p>
<p><strong>noexcept, part 1: Destructor and delete operators noexcept by default.</strong> This tentative resolution from Rapperswil was mostly adopted. Briefly, every destructor will be noexcept by default unless a member or base destructor is noexcept(false); you can of course still explicitly override the default and write noexcept(false) on any destructor. This means that the vast majority of classes should be noexcept. The papers containing the exact wording changes are <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3204.htm">here (destructors)</a> and <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3205.htm">here (delete operators)</a>. For detailed rationale and ranting about why this is a Good Thing, see the <a href="http://herbsutter.com/2010/08/28/trip-report-august-2010-iso-c-standards-meeting/">previous trip report</a>.</p>
<p><strong>noexcept, part 2: noexcept now partly applied to the standard library.</strong> We also passed the first set of papers to apply noexcept to the standard library, including changing functions marked throw() or specified &#8220;Throws: Nothing&#8221; to be marked noexcept, and removing non-empty exception specifications from the standard library.</p>
<p><strong>Restricting implicit move generation.</strong> A hot topic going into this meeting was that move operations could be generated implicitly for an existing type in ways that would be surprising and incorrect (i.e., break the invariants that should hold on all objects of that type). The previous rule was to generate a move constructor and move assignment operator implicitly if the class had no user-declared copy constructor and the move constructor would not be implicitly defined as deleted. Several options were discussed at length, including not generating move implicitly at all. In the end, the decision was that implicit move was both desirable but needed to be generated less aggressively to ensure correctness, and so now the rule is to generate a move constructor and move assignment operator implicitly if the class had no user-declared copy constructor and the move constructor would not be implicitly defined as deleted (same as before) <em>and</em> the class has no user-declared copy or move assignment operator or user-declared destructor. <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3203.htm">Here&#8217;s the paper with the wording changes.</a></p>
<h3>Looking forward</h3>
<p>Finally, here are the scheduled dates and locations for next year&#8217;s ISO C++ standards committee meetings:</p>
<ul>
<li>March 21-26, 2011: <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3101.pdf">Madrid, Spain</a></li>
<li>August 15-19, 2011: Bloomington, IN, USA</li>
</ul>
<p>Herb</p>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>, <a href='http://herbsutter.com/category/uncategorized/'>Uncategorized</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/485/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/485/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/485/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/485/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/485/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/485/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/485/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/485/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/485/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/485/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/485/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/485/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/485/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/485/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=485&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2010/12/08/trip-report-november-2010-c-standards-meeting/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>
	</item>
		<item>
		<title>PDC Languages Panel and (Shortened) Lambdas Talk</title>
		<link>http://herbsutter.com/2010/10/30/pdc-languages-panel-andshortened-lambdas-talk/</link>
		<comments>http://herbsutter.com/2010/10/30/pdc-languages-panel-andshortened-lambdas-talk/#comments</comments>
		<pubDate>Sun, 31 Oct 2010 00:03:43 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C# / .NET]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Talks & Events]]></category>

		<guid isPermaLink="false">http://herbsutter.com/?p=481</guid>
		<description><![CDATA[At PDC 2010 this week, I participated in a panel and gave one talk. Both are now online for live on-demand viewing. Note: The talks should work on any browser. They do not require Silverlight. If you get a message that Silverlight is needed, it just made a mistake in auto-detecting your browser (I&#8217;m told this happens [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=481&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>At PDC 2010 this week, I participated in a panel and gave one talk. Both are now online for live on-demand viewing.</p>
<p><strong>Note: The talks should work on any browser.</strong> They <span style="text-decoration:underline;">do not</span> require Silverlight. If you get a message that Silverlight is needed, it just made a mistake in auto-detecting your browser (I&#8217;m told this happens with Firefox sometimes), so just click on one of the alternate formats and <a href="http://en.wikipedia.org/wiki/Bob's_your_uncle">Bob&#8217;s your uncle</a>.</p>
<p>Here they are:</p>
<p><strong><a href="http://bit.ly/bU23S2">1. Languages Panel</a> (update: <a href="http://channel9.msdn.com/Events/PDC/PDC10/FT11">new link</a>)</strong></p>
<p>I got to participate again this year on a fun panel on programming languages and software development, together with fellow panelists <a href="http://www.microsoft.com/presspass/exec/techfellow/hejlsberg/default.mspx">Anders Hejlsberg</a> (creator of Turbo Pascal, Delphi, and C#), <a href="http://bracha.org/Site/Home.html">Gilad Bracha</a> (of Java and Newspeak fame), and <a href="http://www.caplet.com/">Mark S. Miller</a> (of Ecmascript and E and general security fame). Our esteemed moderator, <a href="http://research.microsoft.com/en-us/um/people/emeijer/">Erik Meijer</a>, is one of the original designers of LINQ in C# and has contributed heavily to many other languages.</p>
<p><strong><a href="http://bit.ly/dcJcXN">2. Lambdas, Lambdas Everywhere</a> (update: <a href="http://channel9.msdn.com/Events/PDC/PDC10/FT13">new link</a>)</strong></p>
<p>This is a shortened version of the full lambdas talk I gave at C&amp;B on Wednesday, and will be giving again at <a href="http://cppandbeyond.com/">C++ and Beyond Encore</a> this December. To get the full talk, come to C&amp;B Encore&#8230; but to get a good chunk of it, check out this version online.</p>
<p>Note: Just before the talk, I went around the room to chat with individual attendees, and discovered that a lot of the audience members were C# programmers who didn&#8217;t realize this was a C++ talk. Just before we went live, I spoke up to the room and alerted everywhere about that, and nearly everyone stayed anyway, which was nice. But if you wonder why I mentioned C# lambdas a number of times to this audience, that&#8217;s why.</p>
<br />Filed under: <a href='http://herbsutter.com/category/c-net/'>C# / .NET</a>, <a href='http://herbsutter.com/category/c/'>C++</a>, <a href='http://herbsutter.com/category/microsoft/'>Microsoft</a>, <a href='http://herbsutter.com/category/talks-events/'>Talks &amp; Events</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/481/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/481/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/481/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/481/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/481/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/481/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/481/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&amp;blog=3379246&amp;post=481&amp;subd=herbsutter&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2010/10/30/pdc-languages-panel-andshortened-lambdas-talk/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Herb Sutter</media:title>
		</media:content>
	</item>
	</channel>
</rss>
