<?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>Tue, 29 May 2012 05:16:35 +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>Two Sessions: C++ Concurrency and Parallelism &#8211; 2012 State of the Art (and Standard)</title>
		<link>http://herbsutter.com/2012/05/28/two-sessions-c-concurrency-and-parallelism-2012-state-of-the-art-and-standard/</link>
		<comments>http://herbsutter.com/2012/05/28/two-sessions-c-concurrency-and-parallelism-2012-state-of-the-art-and-standard/#comments</comments>
		<pubDate>Tue, 29 May 2012 00:09:27 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Concurrency]]></category>
		<category><![CDATA[Effective Concurrency]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Talks & Events]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/?p=1531</guid>
		<description><![CDATA[It’s time for, not one, but two brand-new, up-to-date talks on the state of the art of concurrency and parallelism in C++. I’m going to put them together especially and only for C++ and Beyond 2012, and I’ll be giving them nowhere else this year: C++ Concurrency – 2012 State of the Art (and Standard) [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1531&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>It’s time for, not one, but two brand-new, up-to-date talks on the state of the art of concurrency and parallelism in C++. I’m going to put them together <strong>especially and only for <em><a href="http://cppandbeyond.com/">C++ and Beyond 2012</a></em></strong>, and I’ll be giving them nowhere else this year:</p>
<ul>
<li><strong><font size="3">C++ Concurrency – 2012 State of the Art (and Standard)</font></strong> </li>
<li><strong><font size="3">C++ Parallelism – 2012 State of the Art (and Standard)</font></strong> </li>
</ul>
<p>And there’s a lot to tell. 2012 has already been a busy year for the pushing the boundaries of both “shipping-and-practical” and “proto-standard” concurrency and parallelism in C++:</p>
<ul>
<li><strong>In February</strong>, the <a href="http://herbsutter.com/2012/03/08/trip-report-february-2012-c-standards-meeting/">spring ISO C++ standards meeting</a> saw record attendance at 73 experts (normal is 50-55), and spent the full week primarily on new language and library proposals, with notable emphasis on the area of concurrency and parallelism. There was so much interest that I formed four Study Groups and appointed chairs: the largest on concurrency and parallelism (SG1, Hans Boehm), and three others on modules (SG2, Doug Gregor), filesystem (SG3, Beman Dawes), and networking (SG4, Kyle Kloepper). </li>
<li><strong>Three weeks ago</strong>, we hosted another three-day face-to-face meeting for SG1 and SG4 – and at nearly 40 people the SG1 attendance rivaled that of a normal full ISO C++ meeting, with a who’s-who of the world’s concurrency and parallelism experts in attendance and <a href="http://herbsutter.com/2012/04/06/we-want-await-a-c-talk-thats-applicable-to-c/">further proposal presentations</a> from companies like IBM, Intel, and Microsoft. There was so much interest that I had to form a new Study Group 5 for Transactional Memory (SG5), and appointed Michael Wong of IBM as chair. </li>
<li>Over the summer, we’ll all be working on updated proposals for the October ISO C++ meeting in Portland. </li>
</ul>
<p>Things are heating up, and we’re narrowing down which areas to focus on.</p>
<p>I’ve spoken and written on these topics before. Here’s what’s different about these talks:</p>
<ul>
<li><strong>Brand new: </strong>This material goes beyond what I’ve written and taught about before in my <em>Effective Concurrency</em> articles and courses. </li>
<li><strong>Cutting-edge current:</strong> It covers the best-practices state of the art <strong>techniques</strong> and <strong>shipping tools</strong>, and what parts of that are standardized <strong>in C++11 already</strong> (the answer to that one may surprise you!) and what’s en route to <strong>near-term standardization</strong> and why, with coverage of the latest discussions. </li>
<li><strong>Mainstream hardware – many kinds of parallelism:</strong> What’s the relationship among <strong>multi-core</strong> CPUs, <strong>hardware threads</strong>, SIMD <strong>vector units</strong> (Intel <a href="http://en.wikipedia.org/wiki/Streaming_SIMD_Extensions">SSE</a> and <a href="http://en.wikipedia.org/wiki/Advanced_Vector_Extensions">AVX</a>, ARM <a href="http://www.arm.com/products/processors/technologies/neon.php">Neon</a>), and <strong>GPGPU </strong>(general-purpose computation on GPUs, which I covered at <em>C++ and Beyond 2011</em>)? Which are most interesting, what technologies are available now, and what’s being considered for near-term standardization? </li>
<li><strong>Blocking vs. non-blocking:</strong> What’s the difference between blocking and non-blocking styles, why on earth would you care, which kinds does C++11 support, and how are we looking at rounding it out in C++1<em>y</em>? </li>
<li><strong>Task and data parallelism:</strong> What’s the difference between task parallelism and data parallelism, which kind of of hardware does each allow you to exploit, and why? </li>
<li><strong>Work stealing: </strong>What’s the difference between thread pools and work stealing, what are the major flavors of work stealing, which of these (if any) does C++11 already support and is already shipping on some advanced commercial C++ compilers today (this answer will likely surprise you), and what needs to be done in the next round for a complete state-of-the-art parallelism story in C++1<em>y</em>? </li>
</ul>
<p>The answers all matter to you – even the ones not yet in the C++ standard – because they are real, available in shipping products, and affect how you design your software today.</p>
<p>This will be a broad and deep dive. At C++ and Beyond 2011, the <em>attendees</em> (audience!) included some of the world’s leading experts on parallelism and compilers. At these sessions of C&amp;B 2012, I expect anyone who wasn’t personally at the SG1 meeting this month, even world-class experts, will learn something new in these talks. I certainly did, and that’s why I’m motivated to turn the information into talks and share. This isn’t just cool stuff – it’s important and useful in production code today.</p>
<p>I hope to see many of you at C&amp;B 2012. I’m excited about these topics, and about Scott’s and Andrei’s new material – you just can’t get this stuff anywhere else.</p>
<p>Asheville is going to be blast. I can’t wait.</p>
<p>Herb</p>
<hr />
<p>P.S.: I haven’t seen this much attention and investment in C++ since last century – C++ conferences at record numbers, C++ compiler investments by the biggest companies in the industry (e.g., Clang), and much more that we’ve seen already…</p>
<p>… and a little bird tells me there’s a lot more major C++ news coming this year. Stay tuned, and fasten your seat belts. 2012 ain’t done yet, not by a long shot, and I’ll be able to say more about C++ as a whole (besides the specific topics mentioned above) for the first time at C&amp;B in August. I hope to see you there.</p>
<p>FYI, C&amp;B is already over 60% full, and early bird registration ends this Friday, June 1 – so <a href="http://cppandbeyond2012.eventbrite.com/">register today</a>.</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/effective-concurrency/'>Effective Concurrency</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/1531/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1531/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1531/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1531/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1531/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1531/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1531/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1531/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1531/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1531/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1531/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1531/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1531/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1531/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1531&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2012/05/28/two-sessions-c-concurrency-and-parallelism-2012-state-of-the-art-and-standard/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>VC++ and Win8 Metro apps: May 18, livestream and on-demand</title>
		<link>http://herbsutter.com/2012/05/17/1529/</link>
		<comments>http://herbsutter.com/2012/05/17/1529/#comments</comments>
		<pubDate>Thu, 17 May 2012 17:06:03 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://herbsutter.com/2012/05/17/1529/</guid>
		<description><![CDATA[Reblogged from Sutter’s Mill: Want to know how to write cool tablet apps using Visual C++? On May 18, Microsoft is hosting a one-day free technical event for developers who want to write Metro apps for Windows 8 using Visual C++. I’m giving the opening talk, and the rest of the day is full of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1529&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div class="reblog-post"><p class="reblog-from"><img alt='' src='http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=25&amp;d=identicon&amp;r=G' class='avatar avatar-25' height='25' width='25' /> <a href="http://herbsutter.com/2012/05/07/vc-and-win8-metro-apps-may-18-livestream-and-on-demand/">Reblogged from Sutter’s Mill:</a></p><div class="wpcom-enhanced-excerpt">
<p>Want to know how to write cool tablet apps using Visual C++?</p>
<p>On May 18, Microsoft is hosting a <a href="http://channel9.msdn.com/posts/Announcing-Building-Windows-8-Metro-Style-Apps-with-C-A-Free-Event">one-day free technical event for developers who want to write Metro apps for Windows 8 using Visual C++</a>. I’m giving the opening talk, and the rest of the day is full of useful technical information on everything from XAML and DirectX to networking and VC++ compiler flags.</p>
 <p class="read-more"><a href="http://herbsutter.com/2012/05/07/vc-and-win8-metro-apps-may-18-livestream-and-on-demand/" target="_self"><span>Read more&hellip;</span> 364 more words</a></p></div></div><div class="reblogger-note"><img alt='' src='http://0.gravatar.com/avatar/c0ba56bfd231f8f04feb057728975181?s=25&amp;d=identicon&amp;r=G' class='avatar avatar-25' height='25' width='25' /><div class='reblogger-note-content'>
Day-before reminder: If you are interested in tablet apps using VC++, check out the livestream starting at 9am U.S. Pacific time tomorrow, or come back later to watch the talks on demand.
</div></div>]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2012/05/17/1529/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>
	</item>
		<item>
		<title>VC++ and Win8 Metro apps: May 18, livestream and on-demand</title>
		<link>http://herbsutter.com/2012/05/07/vc-and-win8-metro-apps-may-18-livestream-and-on-demand/</link>
		<comments>http://herbsutter.com/2012/05/07/vc-and-win8-metro-apps-may-18-livestream-and-on-demand/#comments</comments>
		<pubDate>Mon, 07 May 2012 14:42:14 +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">https://herbsutter.wordpress.com/?p=1527</guid>
		<description><![CDATA[Want to know how to write cool tablet apps using Visual C++? On May 18, Microsoft is hosting a one-day free technical event for developers who want to write Metro apps for Windows 8 using Visual C++. I’m giving the opening talk, and the rest of the day is full of useful technical information on [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1527&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Want to know how to write cool tablet apps using Visual C++?</p>
<p>On May 18, Microsoft is hosting a <a href="http://channel9.msdn.com/posts/Announcing-Building-Windows-8-Metro-Style-Apps-with-C-A-Free-Event">one-day free technical event for developers who want to write Metro apps for Windows 8 using Visual C++</a>. I’m giving the opening talk, and the rest of the day is full of useful technical information on everything from XAML and DirectX to networking and VC++ compiler flags.</p>
<p>Please note: This event is Windows-specific, and talks will use both portable ISO C++ as well as Visual C++-specific libraries and compiler extensions; for brevity these are being referred to as &quot;C++&quot; to highlight to a Microsoft-specific audience that that this day is about Visual C++, not about Visual C# or Visual Basic or JavaScript.</p>
<p>From the page:</p>
<blockquote><p>Join the Microsoft Visual C++ and Windows teams in Redmond on May 18, 2012 for a free, all-day event focused on building Windows 8 Metro style apps with C++.&#160; </p>
<p>These Windows-specific talks will use both portable ISO C++ and Visual C++-specific compiler extensions; for brevity below we&#8217;ll refer to both as &quot;C++&quot; (i.e., this day is about Visual C++, not Visual C# or JavaScript).</p>
<p>We will have pragmatic advice for every developer writing Metro style apps and games with XAML and/or DirectX and C++.</p>
<p><a href="https://win8.msregistration.com/default.aspx?ID=559a9ac4-96a6-46a1-b359-598e345d25be"><strong>Register now!</strong></a></p>
<p>Agenda:</p>
<ul>
<li>Visual C++ for Windows 8, Keynote by Herb Sutter</li>
<li>Building Windows 8 apps with XAML and C++</li>
<li>Building Windows 8 games with DirectX and C++</li>
<li>Introduction to the Windows Runtime Library&#160; (WRL)</li>
<li>Writing Connected apps: Writing networking code with C++</li>
<li>Combining XAML &amp; DirectX in a Metro style apps</li>
<li>Writing WinRT components to be consumed from any language</li>
<li>VC11 compiler flags for getting the most out of C++</li>
</ul>
<p>All sessions will be recorded and available for on demand viewing on C9.</p>
</blockquote>
<p>I wish I’d blogged about it right away when it was announced a week or so ago, because registration filled immediately before I could blog it (I think on the first day), and then when the room was expanded it filled again right away again before I could blog about it. Then I procrastinated for a few days. You can still <a href="https://win8.msregistration.com/default.aspx?ID=559a9ac4-96a6-46a1-b359-598e345d25be">register here for the waitlist</a> to see it in person, but I have good news…</p>
<p><strong>All sessions will be broadcast livestream and then available for viewing on demand.</strong> If you’re halfway around the world, or just halfway across the country, it’s hard to fly somewhere for a one-day event anyway; thanks to livestream and on-demand, the Internet is our friend. I look forward to seeing and e-seeing many of you there.</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/1527/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1527/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1527/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1527/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1527/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1527/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1527/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1527/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1527/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1527/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1527/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1527/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1527/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1527/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1527&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2012/05/07/vc-and-win8-metro-apps-may-18-livestream-and-on-demand/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>Looking for compiler engineers</title>
		<link>http://herbsutter.com/2012/05/04/looking-for-compiler-engineers/</link>
		<comments>http://herbsutter.com/2012/05/04/looking-for-compiler-engineers/#comments</comments>
		<pubDate>Fri, 04 May 2012 23:16:20 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/?p=1525</guid>
		<description><![CDATA[Are you a compiler engineer or know one, and looking for interesting work on a top-notch team? We’re hiring. (That particular link says two openings, but there are more.) Filed under: C++, Microsoft<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1525&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Are you a compiler engineer or know one, and looking for interesting work on a top-notch team? </p>
<p><a href="http://www.compilerjobs.com/db/jobs_view.php?editid1=620"><strong>We’re hiring.</strong></a> (That particular link says two openings, but there are more.)</p>
<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/1525/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1525/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1525/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1525/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1525/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1525/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1525/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1525/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1525/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1525/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1525/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1525/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1525/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1525/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1525&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2012/05/04/looking-for-compiler-engineers/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>Reader Q&amp;A: What about VC++ and C99?</title>
		<link>http://herbsutter.com/2012/05/03/reader-qa-what-about-vc-and-c99/</link>
		<comments>http://herbsutter.com/2012/05/03/reader-qa-what-about-vc-and-c99/#comments</comments>
		<pubDate>Thu, 03 May 2012 17:53:28 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Reader Q&A]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/?p=1517</guid>
		<description><![CDATA[I occasionally get asked about whether, or how well, Visual C++ supports C99. This week, I just posted two replies to this questions on UserVoice (merged below). Last fall, I also answered it in an interview with Dr. Dobb’s (recommended for some rationale discussion). The short answer is that Visual C++’s focus is to support [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1517&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://herbsutter.files.wordpress.com/2012/05/image.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;float:right;padding-top:0;padding-left:0;margin:10px 0 10px 10px;border-left:0;display:inline;padding-right:0;" border="0" alt="image" align="right" src="http://herbsutter.files.wordpress.com/2012/05/image_thumb.png?w=320&h=112" width="320" height="112" /></a>I occasionally get asked about whether, or how well, Visual C++ supports C99.</p>
<ul>
<li>This week, I <a href="http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2089423-c99-support">just posted two replies to this questions on UserVoice</a> (merged below).</li>
<li>Last fall, I also <a href="http://www.drdobbs.com/cpp/231900562">answered it in an interview with Dr. Dobb’s</a> (recommended for some rationale discussion).</li>
</ul>
<p>The short answer is that Visual C++’s focus is to support ISO C code that is supported by ISO C90 or ISO C++ (98 or 11). For the longer answer, I’m combining my UserVoice answers below, plus an additional comment about <em>restrict</em> in particular.</p>
<hr />
<p>Our focus in Visual C++ is on making a world-class C++ compiler, and we&#8217;re heads-down on C++11 conformance. For C programmers, the good news is twofold:</p>
<p><strong>1. Our primary goal is to support &quot;most of C99/C11 that is a subset of ISO C++98/C++11.&quot;</strong></p>
<ul>
<li>VC++ 2010 already fully supports the C subset of C++98, including things like <strong>&lt;stdint.h&gt;</strong> and declarations in the middle of a block.[*] The C subset of C++98 is approximately C95 (with very few incompatibilities with C95; i.e., there are very few cases where legal C95 code has a different meaning or is invalid in C++98) plus a few C99 features like declaring variables in the middle of blocks).</li>
<li>VC++11 now in beta already adds partial support for the C11 subset of C++11 (e.g., it supports the new C11 <strong>atomic_int</strong> types for concurrency and parallelism).</li>
<li>Soon after VC++11 ships we have announced we will do out-of-band releases for additional C++11 conformance which will naturally also include more C11 features that are in the C subset of C++11. We intend to implement all of the C++11 standard, which includes much of C99 &#8212; roughly, it includes the C99 preprocessor and library extensions but not the language extensions like restrict.</li>
</ul>
<p>So we already support large subsets of C99 and some-and-soon-more of C11. Our immediate and long-term goal is to fully support the C subsets of ISO C++.</p>
<p><strong>2. We also for historical reasons ship a C90 compiler which accepts (only) C90 and not C++.</strong></p>
<p>For the (hopefully rare) cases where legal C90 code has a different meaning in C++98 and this matters to C developers, for backward compatibility with older C90 code we also continue to ship a C compiler that implements Standard C90 exactly (using /TC or naming files as something.c).</p>
<p>Granted, however, there is also bad news for C programmers:</p>
<p><strong>3. We do not plan to support ISO C features that are not part of either C90 or ISO C++.</strong></p>
<p>I understand C programmers may be disappointed or angry with this answer and I&#8217;m sorry to have to say no here. It&#8217;s true, and very quotable, that <a href="https://www.google.com/#sclient=psy-ab&amp;q=focus+means+saying+no">&quot;focus means saying no,&quot;</a> but that doesn&#8217;t make it easy to say &#8212; it is hard to say no to you, and I&#8217;m sorry to say it. But we have to choose a focus, and our focus is to implement (the standard) and innovate (with extensions like everyone but which we also contribute for potential standardization) in C++.</p>
<p><strong>Recommendations</strong></p>
<p>We recommend that C developers use the C++ compiler to compile C code (using /TP if the file is named something.c). This is the best choice for using Visual C++ to compile C code.</p>
<p>Alternatively, we recommend that C developers use the C90 compiler (using /TC or naming files as something.c) if you need to write C90 conforming code that exercises some of the rarer cases that in C++98 are illegal or have changed meaning. This is a fallback primarily intended to support historical C code.</p>
<p>If you really need either of the following:</p>
<ul>
<li>features in C95/C99/C11 that are not part of ISO C++; or</li>
<li>features in C that are in the C++ subset but without also enabling the writing of C++ code;</li>
</ul>
<p>then we recommend that you consider using a different compiler such as Intel or gcc (short-term) and/or pressure your standards committee representatives to have ISO C++ include more of the C standard (longer-term).</p>
<p>&#160; </p>
<p><font color="#666666">[*] Visual C++ also partly supports some C99 language features under a slightly different syntax and possibly with slightly different semantics. Notably, we support </font><a href="http://msdn.microsoft.com/en-us/library/5ft82fed(v=vs.80).aspx"><strong><font color="#666666">__restrict</font></strong></a><font color="#666666"> – we did (and could again) consider allowing the standard C99 spelling <strong>restrict</strong> here for this feature, but please understand that this is not as simple as it looks. Not only the VC++ team, but also the ISO C++ standards committee, considered adding <strong>restrict</strong> to VC++ and ISO C++, respectively. Although it was specifically suggested for ISO C++11, it was rejected, in part because it’s not always obvious how it extends to C++ code because C++ is a larger language with more options and we would want to make sure the feature works correctly across the entire language.</font></p>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>, <a href='http://herbsutter.com/category/reader-qa/'>Reader Q&amp;A</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/1517/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1517/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1517/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1517/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1517/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1517/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1517/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1517/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1517/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1517/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1517/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1517/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1517/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1517/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1517&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2012/05/03/reader-qa-what-about-vc-and-c99/feed/</wfw:commentRss>
		<slash:comments>50</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/05/image_thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>C++ Libraries: Casablanca</title>
		<link>http://herbsutter.com/2012/04/30/c-libraries-casablanca/</link>
		<comments>http://herbsutter.com/2012/04/30/c-libraries-casablanca/#comments</comments>
		<pubDate>Mon, 30 Apr 2012 23:19:59 +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>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/?p=1512</guid>
		<description><![CDATA[At GoingNative in February, I emphasized the need for more modern and portable C++ libraries, including for things like RESTful web/cloud services, HTTP, JSON, and more. The goal is to find or develop modern C++ libraries that leverage C++11 features, and then submit the best for standardization. Microsoft wants to do its part, and here’s [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1512&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://msdn.microsoft.com/en-us/devlabs/casablanca"><img style="background-image:none;float:right;padding-top:0;padding-left:0;margin:10px 0 10px 10px;display:inline;padding-right:0;border:0;" title="image" src="http://herbsutter.files.wordpress.com/2012/04/image4.png?w=380&h=230" alt="image" width="380" height="230" align="right" border="0" /></a>At <a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/C-11-VC-11-and-Beyond">GoingNative in February</a>, I emphasized the need for more modern and portable C++ libraries, including for things like RESTful web/cloud services, HTTP, JSON, and more. The goal is to find or develop modern C++ libraries that leverage C++11 features, and then submit the best for standardization.</p>
<p>Microsoft wants to do its part, and here’s a step in that direction.</p>
<p>Today I’m pleased to see Soma’s post about <strong><a href="http://blogs.msdn.com/b/somasegar/archive/2012/04/30/devlabs-c-cloud-services-and-you.aspx">“C++, Cloud Services, and You”</a></strong> announcing the <a href="http://msdn.microsoft.com/en-us/devlabs/casablanca"><strong>DevLabs release of Casablanca</strong></a>, a set of C++ libraries for Visual C++ users that start to bring the same modern conveniences already enjoyed by .NET and Node.js and Erlang users also to C++ developers on our local and cloud platforms, including modern C++ libraries for REST, HTTP, and JSON. From Soma’s announcement, adding my own <strong>emphasis </strong>and minor code edits:</p>
<blockquote><p>Historically, we’ve lacked such simple tools for developers using C++.  While there are multiple relevant native networking APIs (e.g. WinINet, WinHTTP, IXMLHttpRequest2, HTTP Server API), these are not optimized from a productivity perspective for <strong>consuming and implementing RESTful cloud services using modern C++</strong>.  They don’t compose particularly well with code based on the standard C++ libraries, and they don’t <strong>take advantage of modern C++ language features and practices</strong> in their programming models.</p>
<p>This is where “Casablanca” comes in.  “Casablanca” is a set of libraries for C++ developers, taking advantage of some recent standard language features already available through Visual Studio.</p>
<p><strong>“Casablanca” aims to make it significantly easier for C++ coders to consume and implement RESTful services.  It builds on lessons from .NET, from Node.js, from Erlang, and from other influencers to create a modern model that is meant to be easy to program while still being scalable, composable, and flexible.</strong></p>
<p>As an example, here’s a snippet that uses the client HTTP library to search Bing for my name and output the results to the console:</p>
<pre>    http_client bing( L"http://www.bing.com/search" );

    bing.request( methods::GET, L"?q=S.Somasegar" )
        .then( []( http_response response ) {
            cout &lt;&lt; "HTML SOURCE:" &lt;&lt; endl &lt;&lt; response.to_string() &lt;&lt; endl; })
        .wait();</pre>
<p>and here’s a simple web listener hosted in a console application:</p>
<pre>    listener::create( argv[1], []( http_request req ) {
            req.reply( status_codes::OK, "Namaste!" ); })
        .listen( []{ fgetc( stdin ); } )
        .wait();</pre>
<p>For those of you looking to build Azure services in C++, “Casablanca” comes with a Visual Studio wizard to set up everything up correctly.  You can target both Web and Worker roles, and you can access Azure storage using the built-in C++ library bindings. […] Taking C++ to the cloud with “Casablanca” is another exciting step in that journey.</p></blockquote>
<p>Today’s Casablanca release is as a DevLabs project, to get usability feedback and to eventually support these features in the full Visual C++ product. If you’re interested in using C++ to consume and implement cloud services, and sharing what kind of support you want and whether you think Casablanca is on the right track, please let us know in the <a href="http://social.msdn.microsoft.com/Forums/en-US/casablanca/threads">forums</a>.</p>
<p>Looking beyond Visual C++, one piece of Casablanca is already being proposed for standardization, namely the “future.then” nonblocking continuations that are required to be able to write highly responsive composable libraries – you really want all async libraries to talk about their work using the same type, and std::future already gives half of what we need (blocking synchronization) and just needs the non-blocking part too. Also being proposed as an optional layer on top of “future.then” is an “await” style of language support to make the async operations as easy to express and use in C++ as in any of the best languages in the world.</p>
<p>Note that there are other C++ libraries too for several of these facilities. Repeating what I said at GoingNative, we (Microsoft) don’t care whose libraries get standardized – whether ones we contribute or someone else’s. We care most that <em>there be</em> standard C++ libraries for these modern uses, starting with the most basic “future.then” support, and to encourage all companies and groups who have libraries in these important spaces to contribute them and take the best and make them available to C++ developers on all platforms. This is a small step in that process.</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 rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/1512/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1512/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1512/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1512/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1512/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1512/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1512/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1512/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1512/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1512/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1512/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1512/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1512/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1512/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1512&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2012/04/30/c-libraries-casablanca/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/04/image4.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>World&#8217;s youngest C++ programmer?</title>
		<link>http://herbsutter.com/2012/04/30/worlds-youngest-c-programmer/</link>
		<comments>http://herbsutter.com/2012/04/30/worlds-youngest-c-programmer/#comments</comments>
		<pubDate>Mon, 30 Apr 2012 21:59:18 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Opinion & Editorial]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/?p=1509</guid>
		<description><![CDATA[I’m seeing many younger programmers picking up C++. The average age at C++ events over the past year has been declining rapidly as the audience sizes grow with more and younger people in addition to the C++ veterans. But this one just beats all [Facebook link added]: A six-year-old child from Bangladesh is hoping to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1509&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I’m seeing many younger programmers picking up C++. The average age at C++ events over the past year has been declining rapidly as the audience sizes grow with more and younger people in addition to the C++ veterans.</p>
<p>But <a href="http://www.computeach.co.uk/IT-news/IT-Computer-Technology-News/IT-industry-news-Six-year-old-computer-whiz-aims-for-record/801352474">this one just beats all</a> [Facebook link added]:</p>
<blockquote><p>A six-year-old child from Bangladesh is hoping to be officially recognised as the world&#8217;s youngest computer programmer.</p>
<p><a href="http://www.facebook.com/people/Wasik-Farhan-Roopkotha/100000454476401">Wasik Farhan-Roopkotha</a> showed an aptitude for computing at an early age and started typing in Microsoft Word at just three years old, BBC News reports.</p>
<p>The precocious youngster was programming game emulators from the age of four and his achievements have already received extensive media coverage in his home country.</p>
<p>He has also gained knowledge of C++, the programming language developed by Danish computer scientist Bjarne Stroustrup, without any formal training.</p>
</blockquote>
<p>This kid seems pretty exceptional. Welcome, Wasik! I don’t expect the programs to be very complicated, and I’ll leave aside questions of balancing computer time with real-world time and exercise, but this is still quite an achievement.</p>
<p>How young were you when you wrote your first program? I discovered computers for the first time at age 11 when I switched to a new school that had a PET 2001, and wrote my first BASIC programs when was 11 or 12, first on paper and then a little on the PET when I could get access to it. I still fondly remember when I finally got my own Atari 800 when I was 13… thanks again for the loan for that, mum and dad! the first loan I ever took, and paid off in a year with paper-route money. Having that computer was definitely worth a year of predawn paper delivery in the rain, sleet, and snow.</p>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</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/1509/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1509/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1509/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1509/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1509/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1509/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1509/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1509/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1509/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1509/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1509/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1509/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1509/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1509/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1509&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2012/04/30/worlds-youngest-c-programmer/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>
	</item>
		<item>
		<title>C++ and Beyond Panel: Modern C++ = Clean, Safe, and Faster Than Ever</title>
		<link>http://herbsutter.com/2012/04/30/c-and-beyond-panel-modern-c-clean-safe-and-faster-than-ever/</link>
		<comments>http://herbsutter.com/2012/04/30/c-and-beyond-panel-modern-c-clean-safe-and-faster-than-ever/#comments</comments>
		<pubDate>Mon, 30 Apr 2012 21:36: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">https://herbsutter.wordpress.com/?p=1507</guid>
		<description><![CDATA[I just posted the following panel announcement to the C++ and Beyond site. The three-day event (plus evening-before reception) with me, Scott Meyers, and Andrei Alexandrescu will be held on August 5-8, and early-bird registration is open until May 31. &#160; C++11 is kind of like “C++ Dreamliner.” It’s built with world-class modern materials. It [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1507&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I just posted the following panel announcement to the <a href="http://cppandbeyond.com">C++ and Beyond site</a>. The three-day event (plus evening-before reception) with me, Scott Meyers, and Andrei Alexandrescu will be held on August 5-8, and <a href="http://cppandbeyond2012.eventbrite.com/">early-bird registration is open until May 31</a>.</p>
<p>&#160;</p>
<hr /><a href="http://herbsutter.files.wordpress.com/2012/04/image_thumb12.png"><img title="image_thumb[1]" style="border-top:0;border-right:0;background-image:none;border-bottom:0;float:right;padding-top:0;padding-left:0;margin:10px 0 10px 10px;border-left:0;display:inline;padding-right:0;" border="0" alt="image_thumb[1]" align="right" src="http://herbsutter.files.wordpress.com/2012/04/image_thumb1_thumb.png?w=324&h=184" width="324" height="184" /></a>C++11 is kind of like “C++ Dreamliner.” It’s built with world-class modern materials. It took a couple more years to finish than originally expected. But now it’s starting to roll out worldwide and flying <a href="http://www.cnngo.com/explorations/life/boeing-787-dreamliner-smashes-distance-and-sets-speed-records-284704">more safely and efficiently than ever</a>. (European readers may equally consider it <a href="http://www.airbus.com/aircraftfamilies/passengeraircraft/a380family/a380-800/">“C++ 380.”</a>)
<p>As I write and teach about C++11, I emphasize that:</p>
<blockquote><p>Modern C++ is <strong>clean, safe, and fast</strong> – modern C++ code is as readable and as type- and memory-safe as code written in any other modern language <strong>[*]</strong>, and it has always been the king of ‘fast’ and is now faster than ever with new features like move semantics.</p>
</blockquote>
<p><strong>Bjarne Stroustrup</strong> made me add, at the end of the “clean and safe” part:</p>
<blockquote><p><strong>“[*] When used in a modern style.” – Bjarne Stroustrup</strong></p>
</blockquote>
<p>Bjarne and I claim this to be true. Others have disputed various parts of this statement – whether C++11 really has a usable safe subset, whether C++ is really necessarily faster than code in other languages, and other questions. What’s the truth?</p>
<p>These answers matter. Type safety and memory safety are important not only for writing reliable code that will fail or be abused less often, but also for improving developer productivity so that developers can spend less time on overhead “taxes” like checking for unsafe casts or buffer overruns. And the claim that C++ really is the king of “fast” has been consistently challenged for most of its history.</p>
<p>In this panel, Scott, Andrei, and I will weigh in with discussion – and data – on these important and current questions.</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/1507/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1507/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1507/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1507/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1507/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1507/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1507/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1507/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1507/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1507/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1507/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1507/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1507/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1507/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1507&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2012/04/30/c-and-beyond-panel-modern-c-clean-safe-and-faster-than-ever/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>

		<media:content url="http://herbsutter.files.wordpress.com/2012/04/image_thumb1_thumb.png" medium="image">
			<media:title type="html">image_thumb[1]</media:title>
		</media:content>
	</item>
		<item>
		<title>&#8220;Mobile&#8221; vs. &#8220;PC&#8221;?</title>
		<link>http://herbsutter.com/2012/04/24/mobile-vs-pc/</link>
		<comments>http://herbsutter.com/2012/04/24/mobile-vs-pc/#comments</comments>
		<pubDate>Tue, 24 Apr 2012 22:13:37 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Opinion & Editorial]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/?p=1500</guid>
		<description><![CDATA[In answering a reader question about Flash today, I linked to Adobe’s November press release and I commented: Granted, Adobe says it’s abandoning Flash ‘only for new mobile device browsers while still supporting it for PC browsers.’ This is still a painful statement because [in part] … the distinction between mobile devices and PCs is [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1500&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In <a href="http://herbsutter.com/2012/04/24/reader-qa-flash-redux/">answering</a> a reader question about Flash today, I linked to <a href="http://blogs.adobe.com/conversations/2011/11/flash-focus.html">Adobe’s November press release</a> and I commented:</p>
<blockquote><p>Granted, Adobe says it’s abandoning Flash ‘only for new mobile device browsers while still supporting it for PC browsers.’ This is still a painful statement because [in part] … the distinction between mobile devices and PCs is quickly disappearing as of this year as PCs are becoming fully mobilized.</p></blockquote>
<p>But what’s a “mobile device” vs. a “PC” as of 2012? Here’s a current data point, at least for me.</p>
<p>For almost two weeks now, my current primary machine has been a <a href="http://www.samsung.com/global/windowspreview/">Slate 7 running Windows 8 Consumer Preview</a>, and I’m extremely pleased with it. It’s a full Windows notebook (sans keyboard), and a full modern tablet. How do I slot it between “mobile device” and “PC,” exactly? Oh, and the desktop browser still supports Flash, but the tablet style browser doesn’t…</p>
<p>Since I’ve been using it (and am using it to write this post), let me write a mini-review.</p>
<p>I loved my iPad, and still do, and so I was surprised how quickly I came to love this snappy device even more. Here are a few thoughts, in rough order from least to most important:</p>
<ul>
<li>It has a few nice touches that I miss on iOS, like task switching by simple swipe-from-left (much easier than double-clicking the home button and swiping, and my iPhone home button is started to get unreliable with all the double-clicking <em>[ETA: and I never got used to four-finger swiping probably in part because it isn't useful on the iPhone]</em>), having a second app open as a sidebar (which greatly relieves the aforementioned back-and-forth task-switching I find myself doing on iOS to refer to two apps), and some little things like including left- and right-cursor keys on the on-screen keyboard (compared to iOS’s touch-and-hold to position the cursor by finger using the magnification loupe). In general, the on-screen keyboard is not only unspeakably better than Win7’s attempt, but even slightly nicer than iPad’s as I find myself not having to switch keyboards as much to get at common punctuation symbols.</li>
<li>I was happily surprised to find that some of my key web-related apps like Live Writer came already installed.</li>
<li>The App Store, which isn’t even live yet, already had many of my major apps including Kindle, USA Today, and Cut the Rope. Most seem very reliable; a few marked “App Preview” are definitely beta quality at the moment though. The Kindle app is solid and has everything I expected, except for one complaint: It should really go to a two-column layout in landscape mode like it does on iPad, especially given the wider screen. Still, the non-“preview” apps do work, and the experience and content is surprisingly nice for a not-officially-open App Store.</li>
<li><a href="http://www.zdnet.com/blog/mobile-news/windows-8-tablets-secret-weapon-onenote-and-inking/6285">Real pen+ink support.</a> This is a Big Deal, <a href="http://herbsutter.com/2010/04/01/links-i-enjoyed-reading-this-week-3/">as I said two years ago</a>. Yes, I’ve tried several iPad pens and apps for sort-of-writing notes, and no, iOS has nothing comparable here; the best I can say for the very best of them is that they’re like using crayons. Be sure to try real “ink” before claiming otherwise – if you haven’t, you don’t know what you’re missing. iPad does have other good non-pen annotation apps, and I’ve enjoyed using <a href="http://itunes.apple.com/us/app/iannotate-pdf/id363998953?mt=8">iAnnotate PDF</a> extensively to read and annotate almost half of <a href="http://erdani.com/index.php/books/tdpl/">Andrei’s D book</a>. But for reading articles and papers I just really, really miss pen+ink.</li>
<li>All my software just works, from compilers and editors to desktop apps for full Office and other work.</li>
<li>Therefore, finally, I get my desktop environment and my modern tablet environment <strong>without carrying two devices</strong>. My entire environment, from apps to files, is always there without syncing between notebook and tablet devices, and I can finally eliminate a device. I expected I would do that this year, but I’m pleasantly surprised to be able to do it for real already this early in the year with a beta OS and beta app store.</li>
</ul>
<p>I didn’t expect to switch over to it this quickly, but within a few days of getting it I just easily switched to reading my current book-in-progress on this device while traveling (thanks to the Kindle app), reading and pen-annotating a couple of research papers on lock-free coding techniques (it’s by far my favorite OneNote device ever thanks to having both great touch and great pen+ink and light weight so I can just <em>write</em>), and using it both as a notebook and as a tablet without having to switch devices (just docking when I’m at my desk and using the usual large monitors and <a href="http://store.apple.com/us/product/MB110LL/B">my favorite keyboard</a>+mouse, or holding it and using touch+pen only). It already feels like a dream and very familiar both ways. I’m pretty sure I’ll never go back to a traditional clamshell notebook, ever.</p>
<p>Interestingly, as a side benefit, even the desktop apps are often very, and more, usable when in pure tablet+touch mode than before despite the apparently-small targets. Those small targets do sometimes matter, and I occasionally reach for my pen when using those on my lap. But I’ve found in practice they often don’t matter at all when you swipe to scroll a large region – I was surprised to find myself happily using Outlook in touch-only mode. In particular, it’s my favorite OneNote device ever.</p>
<p>By the end of this week when I install a couple of more apps, including the rest of my test C++ compilers, <strong>it will have fully replaced my previous notebook and my previous tablet, with roughly equal price and power as the former alone (4GB RAM, 128GB SSD + Micro SD slot, Intel Core i5-2467M) and roughly equal weight and touch friendliness as the latter alone (1.98lb vs. 1.44lb).</strong> Dear Windows team, my back thanks you.</p>
<p>So, then, returning to the point – in our very near future, how much sense does it really make to <a href="http://blogs.adobe.com/conversations/2011/11/flash-focus.html">distinguish between browsers for “mobile devices” and “PCs,”</a> anyway? Convergence is already upon us and is only accelerating.</p>
<br />Filed under: <a href='http://herbsutter.com/category/apple/'>Apple</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/opinion-editorial/'>Opinion &amp; Editorial</a>, <a href='http://herbsutter.com/category/web/'>Web</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/1500/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1500/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1500/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1500/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1500/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1500/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1500/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1500/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1500/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1500/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1500/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1500/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1500/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1500/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1500&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2012/04/24/mobile-vs-pc/feed/</wfw:commentRss>
		<slash:comments>22</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>Reader Q&amp;A: Flash Redux</title>
		<link>http://herbsutter.com/2012/04/24/reader-qa-flash-redux/</link>
		<comments>http://herbsutter.com/2012/04/24/reader-qa-flash-redux/#comments</comments>
		<pubDate>Tue, 24 Apr 2012 21:30:01 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Opinion & Editorial]]></category>
		<category><![CDATA[Reader Q&A]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/?p=1497</guid>
		<description><![CDATA[David Braun asked: @Tom @Herb: What’s so wrong with flash that it should be boycotted? Have I been being abused by it in some way I’m not aware of? Also,does HTML5 have any bearing on the subject? I’m not saying it should be boycotted, only that I avoid it. Here&#8217;s what I wrote two years [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1497&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>David Braun asked:</p>
<blockquote><p>@Tom @Herb: What’s so wrong with flash that it should be boycotted? Have I been being abused by it in some way I’m not aware of? Also,does HTML5 have any bearing on the subject?</p></blockquote>
<p>I’m not saying it should be boycotted, only that I avoid it. Here&#8217;s what I wrote two years ago: <a href="http://herbsutter.com/2010/03/30/flash-in-the-pan/">“Flash In the Pan”</a>.  Besides security issues and crashing a lot, Flash is a headache for servicing and seems to be architecturally unsuited for lower-power environments.</p>
<p>Since then, two more major developments:</p>
<h3>1. Even Adobe has given ground (if not given up).</h3>
<p>Adobe subsequently <a href="http://blogs.adobe.com/conversations/2011/11/flash-focus.html">abandoned Flash for mobile browsers</a> and started shipping <a href="http://html.adobe.com/">straight-to-HTML5 tools</a>.</p>
<p>Granted, Adobe says it’s abandoning Flash ‘only for new mobile device browsers while still supporting it for PC browsers.’ This is still a painful statement because:</p>
<ul>
<li>it’s obvious that ceding such <a href="http://www.zdnet.com/blog/networking/flash-is-dead-long-live-html5/1633">high-profile</a> and <a href="http://www.imore.com/2010/04/29/adobe-ceo-responds-steve-jobs-open-letter/">hard-fought</a> ground sends a message about overall direction; and</li>
<li>the distinction between mobile devices and PCs is quickly disappearing as of this year as PCs are becoming fully mobilized (more on this in my next blog post).</li>
</ul>
<h3>2. We’re moving toward plugin-avoiding browsing.</h3>
<p>Browsers are increasingly moving to reduce plugins, or eliminate them outright, for security/reliability/servicing reasons. Moving in that direction crease pressure or necessity to either:</p>
<ul>
<li>ban Flash (Mobile Safari, and <a href="http://news.cnet.com/8301-30685_3-20105870-264/microsoft-joins-the-anti-flash-crowd-with-ie10/">Metro style Internet Explorer 10</a>); or</li>
<li>deliver Flash built into the browser itself (even for plugin-allowing browsers <a href="http://support.google.com/chrome/bin/answer.py?hl=en&amp;answer=108086">like Chrome</a>).</li>
</ul>
<p>I’m not saying Flash will die off immediately or necessarily even die off entirely at all; there’s a lot of inertia, it’s still useful in many kinds of devices, and it may well hang on for some time. But its architectural problems and current trajectory are fairly clear, and it’s been months since I’ve heard someone complain that certain people were just <a href="http://www.apple.com/hotnews/thoughts-on-flash/">being unfair</a> – Jobs’ technical points are on the right side of history.</p>
<br />Filed under: <a href='http://herbsutter.com/category/apple/'>Apple</a>, <a href='http://herbsutter.com/category/microsoft/'>Microsoft</a>, <a href='http://herbsutter.com/category/opinion-editorial/'>Opinion &amp; Editorial</a>, <a href='http://herbsutter.com/category/reader-qa/'>Reader Q&amp;A</a>, <a href='http://herbsutter.com/category/software-development/'>Software Development</a>, <a href='http://herbsutter.com/category/web/'>Web</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/1497/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1497/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1497/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1497/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1497/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1497/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1497/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1497/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1497/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1497/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1497/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1497/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1497/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1497/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1497&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2012/04/24/reader-qa-flash-redux/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>
	</item>
		<item>
		<title>Talk Video: Welcome to the Jungle</title>
		<link>http://herbsutter.com/2012/04/23/talk-video-welcome-to-the-jungle/</link>
		<comments>http://herbsutter.com/2012/04/23/talk-video-welcome-to-the-jungle/#comments</comments>
		<pubDate>Mon, 23 Apr 2012 15:31:58 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[Concurrency]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Talks & Events]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://herbsutter.com/?p=1487</guid>
		<description><![CDATA[Last month in Kansas City I gave a talk on &#8220;Welcome to the Jungle,&#8221; based on my recent essay of the same name (sequel to &#8220;The Free Lunch Is Over&#8221;) concerning the turn to mainstream heterogeneous distributed computing and the end of Moore’s Law. Perceptive Software has now made the talk available online [EOA: the talk itself starts six [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1487&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Last month in Kansas City I gave a talk on &#8220;Welcome to the Jungle,&#8221; based on <a href="http://herbsutter.com/welcome-to-the-jungle/">my recent essay of the same name</a> (sequel to &#8220;The Free Lunch Is Over&#8221;) concerning the turn to mainstream heterogeneous distributed computing and the end of Moore’s Law.</p>
<p>Perceptive Software has now made the talk available online <em>[<strong>EOA</strong>: the talk itself starts six minutes in]</em>:</p>
<blockquote><p><strong><a href="http://shadow-technologies.tv/video/179">Welcome to the Jungle</a></strong></p>
<p>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. – The free lunch is over. Now welcome to the hardware jungle.</p></blockquote>
<p>I hope you enjoy it.</p>
<p>Warning: It&#8217;s two hours (with Q&amp;A) because of the broad and deep material. There&#8217;s a nice pause point between major sections at the one-hour mark that makes it convenient to split it into two one-hour lunchtime brownbag viewings.</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/software-development/'>Software Development</a>, <a href='http://herbsutter.com/category/talks-events/'>Talks &amp; Events</a>, <a href='http://herbsutter.com/category/web/'>Web</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/1487/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1487/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1487/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1487/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1487/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1487/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1487/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1487/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1487/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1487/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1487/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1487/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1487/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1487/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1487&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2012/04/23/talk-video-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>
	</item>
		<item>
		<title>GotW #104: Smart Pointers, Part 2 (Difficulty: 5/10)</title>
		<link>http://herbsutter.com/2012/04/21/gotw-104-smart-pointers-part-2-difficulty-510/</link>
		<comments>http://herbsutter.com/2012/04/21/gotw-104-smart-pointers-part-2-difficulty-510/#comments</comments>
		<pubDate>Sun, 22 Apr 2012 01:17:32 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[GotW]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/?p=1485</guid>
		<description><![CDATA[While spelunking through the code of a new project you recently joined, you find the following factory function declaration: &#160; JG Question 1. What’s wrong with this return type? &#160; Guru Questions 2. What is the recommended return type? Explain your answer, including any tradeoffs. 3. You’d like to actually change the return type to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1485&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>While spelunking through the code of a new project you recently joined, you find the following factory function declaration:</p>
<div id="scid:C89E2BDB-ADD3-4f7a-9810-1B7EACF446C1:aa686094-3ba9-45fb-8b37-b6830c3f4a8e" class="wlWriterEditableSmartContent" style="float:none;margin:0;display:inline;padding:0;">
<pre style="white-space:normal;">
<pre class="brush: cpp; gutter: false; pad-line-numbers: true;">
widget* load_widget( widget::id desired );
</pre>
</pre>
</div>
<p>&#160;</p>
<h3>JG Question</h3>
<p>1. What’s wrong with this return type?</p>
<p>&#160;</p>
<h3>Guru Questions</h3>
<p>2. What is the recommended return type? Explain your answer, including any tradeoffs.</p>
<p>3. You’d like to actually change the return type to match the recommendation in #2, but at first you worry about breaking source compatibility with existing calling code; recompiling existing callers is fine, but having to go change them all is not. Then you have an “aha!” moment, realizing that this is a fairly new project and all of your calling code is written using modern C++ idioms, and you go ahead and change the return type without fear, knowing it will require few or no code changes to callers. What makes you so confident?</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/1485/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1485/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1485/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1485/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1485/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1485/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1485/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1485/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1485/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1485/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1485/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1485/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1485/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1485/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1485&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2012/04/21/gotw-104-smart-pointers-part-2-difficulty-510/feed/</wfw:commentRss>
		<slash:comments>25</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 #103: Solution</title>
		<link>http://herbsutter.com/2012/04/21/gotw-103-solution/</link>
		<comments>http://herbsutter.com/2012/04/21/gotw-103-solution/#comments</comments>
		<pubDate>Sun, 22 Apr 2012 01:05:35 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[GotW]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/?p=1483</guid>
		<description><![CDATA[The solution to GotW #103 is now live. Filed under: C++, GotW<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1483&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://herbsutter.com/gotw/_103/">The solution to GotW #103 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/1483/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1483/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1483/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1483/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1483/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1483/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1483/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1483/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1483/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1483/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1483/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1483/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1483/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1483/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1483&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2012/04/21/gotw-103-solution/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>Steve Jobs on Programmers (via Brent Schlender)</title>
		<link>http://herbsutter.com/2012/04/19/steve-jobs-on-programmers-via-brent-schlender/</link>
		<comments>http://herbsutter.com/2012/04/19/steve-jobs-on-programmers-via-brent-schlender/#comments</comments>
		<pubDate>Fri, 20 Apr 2012 06:26:00 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[Friday Thoughts]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/?p=1458</guid>
		<description><![CDATA[Earlier this week, Brent Schlender published selected Steve Jobs quote highlights from his interview tape archives. Here’s one about us: The difference between the best worker on computer hardware and the average may be 2 to 1, if you&#8217;re lucky. With automobiles, maybe 2 to 1. But in software, it&#8217;s at least 25 to 1. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1458&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Earlier this week, Brent Schlender published <a href="http://www.fastcompany.com/magazine/165/steve-jobs-highlights">selected Steve Jobs quote highlights</a> from his interview tape archives.</p>
<p>Here’s one about us:</p>
<blockquote><h4>The difference between the best worker on computer hardware and the average may be 2 to 1, if you&#8217;re lucky. With automobiles, maybe 2 to 1. But in software, it&#8217;s at least 25 to 1. The difference between the average programmer and a great one is at least that.</h4>
</blockquote>
<p>This illustrates that there’s always lots of headroom to keep growing as a developer. We should always keep learning, and strive to become ever stronger at our craft.</p>
<p>You might also enjoy the history and observant commentary in Schlender’s other new article <a href="http://www.fastcompany.com/magazine/165/steve-jobs-legacy-tapes">The Lost Steve Jobs Tapes</a>, which focuses on “the wilderness years.”</p>
<br />Filed under: <a href='http://herbsutter.com/category/friday-thoughts/'>Friday Thoughts</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/1458/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1458/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1458/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1458/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1458/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1458/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1458/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1458/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1458/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1458/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1458/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1458/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1458/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1458/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1458&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2012/04/19/steve-jobs-on-programmers-via-brent-schlender/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>Talk + panel online: &#8220;(Not Your Father&#8217;s) C++&#8221; + &#8220;Native Languages&#8221; Panel</title>
		<link>http://herbsutter.com/2012/04/12/talk-online-not-your-fathers-c-panel/</link>
		<comments>http://herbsutter.com/2012/04/12/talk-online-not-your-fathers-c-panel/#comments</comments>
		<pubDate>Fri, 13 Apr 2012 01:23:12 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C# / .NET]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Talks & Events]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/?p=1455</guid>
		<description><![CDATA[Last week at the Lang.NEXT 2012 conference in Redmond, I gave a 40-minute C++ talk and participated on a native languages panel. Both are now online at Channel 9. Here’s the 40-min C++ talk, taken from the C9 site: (Not Your Father’s) C++ Herb Sutter&#160; What makes ISO C++11 &#34;feel like a new language&#34;? What [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1455&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2012"><img style="margin:10px 0 10px 10px;display:inline;float:right;" title="image" alt="image" align="right" src="http://herbsutter.files.wordpress.com/2012/04/image.png?w=360&h=173" width="360" height="173" /></a>Last week at the <a href="http://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2012">Lang.NEXT 2012 conference</a> in Redmond, I gave a 40-minute C++ talk and participated on a native languages panel. Both are now online at Channel 9.</p>
<p>Here’s the 40-min C++ talk, taken from the C9 site:</p>
<blockquote><p><strong><a href="http://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2012/-Not-Your-Father-s-C-">(Not Your Father’s) C++</a>        <br />Herb Sutter&#160; <br /></strong></p>
<p>What makes ISO C++11 &quot;feel like a new language&quot;? What things that we know about past C++ do we need to unlearn? Why is C++ designed the way it is – historically, and in C++11? Finally, what is the difference between managed and native languages anyway, and when is each applicable? This talk gives an overview and motivation of modern C++ and why it&#8217;s clean, safe, and fast – as clean to code in and as type-safe as any modern language, and more than ever the king of &quot;fast.&quot;</p>
</blockquote>
<p>And the panel (my favorite highlight is at <strong>24:00-28:00</strong>):</p>
<blockquote><p><strong><a href="http://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2012/Panel-Native-Languages">Lang.NEXT 2012 Expert Panel: Native Languages</a>        <br />Walter Bright, Robert Griesemer, Andrei Alexandrescu, Herb Sutter</strong></p>
<p>Native programming languages panel hosted by Martyn Lovell.</p>
</blockquote>
<p>I hope you enjoy them.</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 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/1455/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1455/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1455/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1455/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1455/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1455/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1455/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1455/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1455/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1455/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1455/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1455/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1455/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1455/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1455&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2012/04/12/talk-online-not-your-fathers-c-panel/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>

		<media:content url="http://herbsutter.files.wordpress.com/2012/04/image.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>What languages are used to build what software?</title>
		<link>http://herbsutter.com/2012/04/12/what-languages-are-used-to-build-what-software/</link>
		<comments>http://herbsutter.com/2012/04/12/what-languages-are-used-to-build-what-software/#comments</comments>
		<pubDate>Thu, 12 Apr 2012 12:43:29 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://herbsutter.com/?p=1452</guid>
		<description><![CDATA[I&#8217;ve been meaning to post a link to Vincent Lextrait&#8217;s nice (and actively maintained) catalog of what languages are used to build what modern and major mainstream software: The Programming Languages Beacon This table contains a list of major software products or utilities, with details about the programming languages used to implement them. Information on [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1452&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been meaning to post a link to Vincent Lextrait&#8217;s nice (and actively maintained) catalog of what languages are used to build what modern and major mainstream software:</p>
<blockquote><p><a href="http://www.lextrait.com/vincent/implementations.html"><strong>The Programming Languages Beacon</strong></a></p>
<p>This table contains a list of major software products or utilities, with details about the programming languages used to implement them. Information on this is difficult to find, and a few small mistakes might have escaped the <a href="mailto:vincent@lextrait.com">author</a>&#8216;s attention. Corrections, suggestions for additions or even references are welcome. &#8230;</p></blockquote>
<p>A nice data point to use to show that the world is built on C++ (and its C subset).</p>
<p>The table was compiled without bias on the part of the person who compiled it; he&#8217;s just trying to gather information. If you think a language is under-represented, send mail to Vincent with specific project data (make sure it&#8217;s something you know of first-hand or can point to an authoritative source) and I&#8217;m sure he&#8217;ll be glad to add 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 rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/1452/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1452/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1452/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1452/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1452/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1452/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1452/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1452/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1452/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1452/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1452/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1452/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1452/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1452/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1452&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2012/04/12/what-languages-are-used-to-build-what-software/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>We want await! A C# talk that&#8217;s applicable to C++</title>
		<link>http://herbsutter.com/2012/04/06/we-want-await-a-c-talk-thats-applicable-to-c/</link>
		<comments>http://herbsutter.com/2012/04/06/we-want-await-a-c-talk-thats-applicable-to-c/#comments</comments>
		<pubDate>Sat, 07 Apr 2012 06:13:01 +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[Talks & Events]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/?p=1450</guid>
		<description><![CDATA[A nice talk by Mads Torgersen just went live on Channel 9 about C#’s non-blocking Task&#60;T&#62;.ContinueWith() library feature and await language feature, which are a big hit in C# (and Visual Basic) for writing highly concurrent code that looks pretty much just like sequential code. Mads is one of the designers of await. If you’re [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1450&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A <a href="http://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2012/Language-Support-for-Asynchronous-Programming">nice talk by Mads Torgersen just went live on Channel 9</a> about C#’s non-blocking <em>Task&lt;T&gt;.ContinueWith()</em> library feature and <em>await</em> language feature, which are a big hit in C# (and Visual Basic) for writing highly concurrent code that looks pretty much just like sequential code. Mads is one of the designers of <em>await</em>.</p>
<p>If you’re a C++ programmer, you may be interested in this because I’ve worked to have these very features be offered as proposals for ISO C++, just with a few naming tweaks like renaming <em>Task&lt;T&gt;.ContinueWith()</em> to <em>std::future&lt;T&gt;::then()</em>. They were initially presented at the recent Kona meeting in February, and we’ll dig deeper next month at the special ISO C++ study group meeting on concurrency and parallelism.</p>
<p>Here’s the talk link and abstract:</p>
<blockquote><h3><a href="http://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2012/Language-Support-for-Asynchronous-Programming">Language Support for Asynchronous Programming</a></h3>
<p><strong>Mads Torgersen</strong></p>
<p>Asynchronous programming is what the doctor usually orders for unresponsive client apps and for services with thread-scaling issues. This usually means a bleak departure from the imperative programming constructs we know and love into a spaghetti hell of callbacks and signups. C# and VB are putting an end to that, reinstating all your tried-and-true control structures on top of a future-based model of asynchrony.</p>
</blockquote>
<p>While we were chatting after the talk, I managed to gently twist Mads’ arm and he has graciously agreed to come to the May 7-9 ISO C++ parallelism study group special meeting to present this to the committee members in detail and answer questions about <em>await</em>’s design and C# users’ experience with it in production code, which will help the committee decide whether or not this is something they want to pursue for ISO C++.</p>
<p>I hope you enjoy the talk. While at Lang.NEXT, I also participated in a panel and gave a C++ talk but those sessions aren’t live yet; I’ll post links once they are.</p>
<p><strong></strong></p>
<p><strong>Trivia:</strong> If you noticed the Romanian accent in the first question from the audience, it’s because it came from Andrei Alexandrescu, who was sitting beside Walter Bright, both of whom were two of the other speakers at the conference. It was fun to be in a room full of language designers and implementers sharing notes about each other’s languages and experience.</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/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/1450/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1450/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1450/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1450/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1450/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1450/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1450/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1450/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1450/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1450/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1450/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1450/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1450/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1450/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1450&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2012/04/06/we-want-await-a-c-talk-thats-applicable-to-c/feed/</wfw:commentRss>
		<slash:comments>20</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>The &#8216;Of Course&#8217; Principle of Design</title>
		<link>http://herbsutter.com/2012/04/06/the-of-course-principle-of-design/</link>
		<comments>http://herbsutter.com/2012/04/06/the-of-course-principle-of-design/#comments</comments>
		<pubDate>Fri, 06 Apr 2012 23:07:00 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[Friday Thoughts]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/?p=1446</guid>
		<description><![CDATA[Nicely put&#8230; Christian Lindholm: Most companies (including web startups), he said, are looking to “wow” with their products, when in reality what they should be looking for is an “‘of course’ reaction from their users.” Simple and obvious beats flashy. So many great designs are obvious in retrospect. Hat tip to John Gruber. Filed under: [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1446&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Nicely put&#8230; <a href="http://om.co/2012/04/05/the-of-course-principle-of-design/">Christian Lindholm</a>:</p>
<blockquote><p>Most companies (including web startups), he said, are looking to “wow” with their products, when in reality what they should be looking for is an “‘of course’ reaction from their users.”</p></blockquote>
<p>Simple and obvious beats flashy. So many great designs are obvious in retrospect.</p>
<p>Hat tip to <a href="http://daringfireball.net/">John Gruber</a>.</p>
<br />Filed under: <a href='http://herbsutter.com/category/friday-thoughts/'>Friday Thoughts</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/1446/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1446/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1446/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1446/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1446/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1446/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1446/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1446/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1446/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1446/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1446/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1446/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1446/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1446/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1446&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2012/04/06/the-of-course-principle-of-design/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>Reader Q&amp;A: What does it mean for [[attributes]] to affect language semantics?</title>
		<link>http://herbsutter.com/2012/04/05/reader-qa-what-does-it-mean-for-attributes-to-affect-language-semantics/</link>
		<comments>http://herbsutter.com/2012/04/05/reader-qa-what-does-it-mean-for-attributes-to-affect-language-semantics/#comments</comments>
		<pubDate>Thu, 05 Apr 2012 20:45:59 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Reader Q&A]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/?p=1442</guid>
		<description><![CDATA[Followup on this earlier question, @bilbothegravatar asked: @Alf, @Herb – I don’t quite get the [[noreturn]] example. While it may (not) compile on VC++, (as far as I understand) it does not carry any semantic meaning, and, what’s more, it is *perfectly* safe for any compiler that sees [[noreturn]] to just ignore it — the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1442&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Followup on <a href="http://herbsutter.com/2012/04/02/reader-qa-keywords-and-attributes">this earlier question</a>, <a href="http://herbsutter.com/2012/04/02/reader-qa-keywords-and-attributes/#comment-5100">@bilbothegravatar asked</a>:</p>
<blockquote><p>@Alf, @Herb – I don’t quite get the [[noreturn]] example. While it may (not) compile on VC++, (as far as I understand) it does not carry any semantic meaning, and, what’s more, it is *perfectly* safe for any compiler that sees [[noreturn]] to just ignore it — the runtime behaviour vs. VC++ shouldn’t be changed at all.</p>
<p>So how is [[noreturn]] in the same camp as “restrict” ??? (I agree it may(?) be in the same camp as final and override.)</p>
<p>I will quote Bjarne: (<a href="http://www2.research.att.com/~bs/C++0xFAQ.html#attributes">http://www2.research.att.com/~bs/C++0xFAQ.html#attributes</a>)<br />
&gt; There is a reasonable fear that attributes will be used to create language dialects.<br />
&gt; The recommendation is to use attributes to only control things that do not affect the meaning<br />
&gt; of a program but might help detect errors (e.g. [[noreturn]])<br />
&gt; or help optimizers (e.g. [[carries_dependency]]).</p></blockquote>
<p>Yes, this argument was used. I’m (even) more conservative than Bjarne on this one.</p>
<p>People spoke up for two main different views on the question, “what does it mean to say [[attributes]] should not affect language semantics?” For convenience I’ll label these as the “weak” and “strong” views. Both views agree that if a program is valid both with and without the attribute, it should have exactly the same meaning both ways. Where the two views/camps differ is on whether it counts as &#8220;changing the meaning of the program&#8221; if a program that is valid if the attribute is ignored is rejected (fails to compile) if the attribute is observed:</p>
<ul>
<li>The “weak” view says that&#8217;s okay because it didn’t really change the meaning of code that could ever execute, it just caused it to fail to compile. <span style="color:#a5a5a5;">(I know, [[noreturn]] seems like it’s doing that&#8230; but it actually doesn’t quite meet this definition in my opinion, see below.)</span></li>
<li>The “strong” view, which I strongly support, says that calling a program illegal not only is the most dramatic semantic change possible, but also should be considered a nonconforming extension because it rejects code that is legal in the standard. <span style="color:#a5a5a5;">(I know, [[noreturn]] in particular is standard&#8230; but it’s still problematic for this reason, see below.)</span></li>
</ul>
<p>On principle, I do not like opening the door to let compiler writers use [[attributes]] as an excuse to not respect legal ISO C++ programs. And I say that as someone who works on a C++ compiler team and actively does C++ language extension design, and having the excuse of disabling part of ISO C++ that I don’t like by throwing in an [[attribute]] could be useful. Don’t get me wrong, there are corner cases of C++ I would like to turn off, but I try hard (and so far successfully) to refrain from doing such a thing without ISO C++’s blessing because it would break source code portability. Encouraging the view that nonstandard [[attributes]] can be a legitimate excuse to reject conforming C++ programs strikes me as putting a live grenade in a public square with a &#8220;pull me&#8221; tag on the pin. The whole point and primary benefit of having an ISO standard for C++ is to guarantee source portability; this weakens that, and for that reason I view it as a dangerous position to take.</p>
<p>However, in general the “weak” interpretation prevailed, and on those grounds [[noreturn]] and [[carries_dependency]] remained an attribute. I didn’t fight it because at least we got to remove [[final]], [[override]] and [[base_check]] as attributes, which was my primary concern since those would see far more use, and as long as we fixed those I was happy to say I could live with the others in order to get a consensus standard.</p>
<h3>Post-Mortem: Assessing [[noreturn]]</h3>
<p><span style="color:#c0504d;"><strong>Disclaimer: </strong>The following is an informational analytical exercise, not a public lobbying for a change. I support where we ended up as a whole to get C++11, it is probably too late to tweak [[noreturn]], and I consciously didn’t pursue making the following arguments at the time because [[noreturn]] (and [[carries_dependency]] are so rarely used that I can live with them, and you have to be willing to give some ground to get a consensus standard – the important thing was to get [[final]], [[override]], and [[base_check]] out and then stop while you’re ahead.</span></p>
<p>With that disclaimer in place, let me present counterarguments to show why I believe that in an ideal world [[noreturn]] shouldn’t be an attribute because it really is a keyword in [[attributes]] clothing and doesn’t actually meet either the weak or the strong view:</p>
<ul>
<li>I don’t think that [[noreturn]] meets the bar set by the weak view, because it does more than just cause programs to fail to compile. In my opinion, adding [[noreturn]] <em>does </em>change the meaning of a conforming program, because the C++11 standard says in 7.6.3/2: <strong>“If a function f is called where f was previously declared with the noreturn attribute and f eventually returns, the behavior is undefined. &#8230; [Note: Implementations are encouraged to issue a warning if a function marked [[noreturn]] might return. —end note ]”</strong> – Even if respecting a [[noreturn]] did cause a compiler to reject some code (which is not required by the standard, and is not even mentioned even in the non-normative note which just talks about maybe issuing a warning), that means that <em>void f();</em> and <em>[[noreturn]] void f();</em> do not have the same semantics – returning from the first is always defined behavior (if you do it), and returning from the second is undefined behavior. This isn’t just a language-lawyerly argument either – the reason the standard says “undefined behavior” here is because that’s how the standard explicitly gives latitude to optimizers – it’s saying that “a compiler optimizer may assume the function doesn’t return, and optimize the code in ways that could cause different execution (even catch-fire semantics) if <em>f</em> ever actually does return.” Telling the compiler it may rely on this attribute to have meaning is, to me, clearly giving the attribute a language meaning and so changes the program’s semantics if it is present. So I don’t think it’s actually true that the presence of [[noreturn]] doesn’t affect language semantics.</li>
<li>It also doesn’t meet the strong view and discourages portability, by opening the door for using nonstandard attributes as a reason to reject conforming code. Now, it’s true that [[noreturn]] is in the standard itself, and so we might be tempted to say it’s not like a nonstandard attribute in this way that reduces portability, but it is – <strong>you cannot reliably write portable C++11 code under the assumption that [[noreturn]] has no semantic meaning and can be ignored.</strong> That’s because adding [[noreturn]] really does change the meaning of a function declaration (by adding guarantees that the optimizer can use, as described above) and so you really need to treat it as though it were a language keyword – because it is, just dressed in [[attributes]] clothing.</li>
</ul>
<p>So in my view [[noreturn]] is a keyword dressed in [[attributes]] clothing.</p>
<p>Having said all that, experts do disagree, and the two camps have simply had to agree to disagree on this question – we got unanimous consensus on the standard, even though [[noreturn]] and [[carries_dependency]] are a bit of a sore point, because everyone was satisfied enough that we at least averted having [[final]], [[override]] and [[base_check]].</p>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>, <a href='http://herbsutter.com/category/reader-qa/'>Reader Q&amp;A</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/1442/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1442/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1442/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1442/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1442/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1442/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1442/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1442/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1442/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1442/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1442/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1442/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1442/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1442/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1442&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2012/04/05/reader-qa-what-does-it-mean-for-attributes-to-affect-language-semantics/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>Reader Q&amp;A: auto and expression templates</title>
		<link>http://herbsutter.com/2012/04/03/reader-qa/</link>
		<comments>http://herbsutter.com/2012/04/03/reader-qa/#comments</comments>
		<pubDate>Tue, 03 Apr 2012 23:53:03 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Reader Q&A]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/?p=1437</guid>
		<description><![CDATA[Motti asked: While you’re dealing with reader’s Qs…. In your keynote in “Going Native” you mentioned that type inference should almost always be used, except for some obscure cases with expression templates. Yes. To give people context, the idea is when declaring local variables, prefer to use auto to deduce the type. For example: This [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1437&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://herbsutter.com/2012/04/02/reader-qa-keywords-and-attributes/#comment-5059">Motti asked</a>:</p>
<blockquote><p>While you’re dealing with reader’s Qs….</p>
<p>In <a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/C-11-VC-11-and-Beyond">your keynote in “Going Native”</a> you mentioned that type inference should almost always be used, except for some obscure cases with expression templates.</p></blockquote>
<p>Yes. To give people context, the idea is when declaring local variables, prefer to use <em>auto</em> to deduce the type. For example:</p>
<div id="scid:C89E2BDB-ADD3-4f7a-9810-1B7EACF446C1:888fd9d9-87d6-4162-8820-0f4d2e2802fa" class="wlWriterEditableSmartContent" style="margin:0;display:inline;float:none;padding:0;"><pre class="brush: cpp; gutter: false; pad-line-numbers: true;">
auto x = begin(v);
</pre></p>
</div>
<blockquote><p>This seems like a rather serious wart on the language,</p></blockquote>
<p>It’s a wart, but I don’t know about “serious” – it doesn’t come up that often. Still, your question is quite apropos:</p>
<blockquote><p>part of the power of expression templates (to my understanding) is that they can be dropped in by a library implementer and thus improve the clients’ code without their knowledge.</p>
<p>Was there any discussion to allow type authors to opt-out of type inference? (e.g. by allowing an “operator auto()”). If this wasn’t discussed for C++11 is it being discussed for C++1y?</p></blockquote>
<p>Yes, and even exactly that spelling has been suggested. I’ll take that as a +1 for discoverability if we name it that!</p>
<blockquote><p>(For people reading this comment, if it doesn’t make any sense I wrote about it last year in my blog <a href="http://lanzkron.wordpress.com/2011/02/21/inferring-too-much/">http://lanzkron.wordpress.com/2011/02/21/inferring-too-much/</a>)</p></blockquote>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>, <a href='http://herbsutter.com/category/reader-qa/'>Reader Q&amp;A</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/1437/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1437/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1437/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1437/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1437/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1437/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1437/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1437/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1437/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1437/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1437/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1437/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1437/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1437/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1437&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2012/04/03/reader-qa/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>Reader Q&amp;A: When will better JITs save managed code?</title>
		<link>http://herbsutter.com/2012/04/02/reader-qa-when-will-better-jits-save-managed-code/</link>
		<comments>http://herbsutter.com/2012/04/02/reader-qa-when-will-better-jits-save-managed-code/#comments</comments>
		<pubDate>Tue, 03 Apr 2012 01:15:27 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Reader Q&A]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/?p=1435</guid>
		<description><![CDATA[In the comments on last week’s interview, MichaelTK asked: @Herb: You mentioned two things I don’t fully understand in your talk. 1) Why would C++ be a better choice for very large scale applications than NET/Java? I mean the zero abstraction penalty (which is more a JIT compiler issue and not intrinsically hardwired into C#) [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1435&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In the comments on <a href="http://herbsutter.com/2012/03/29/interview-ca-language-for-modern-times/">last week’s interview</a>, MichaelTK asked:</p>
<blockquote><p>@Herb: You mentioned two things I don’t fully understand in your talk.</p>
<p>1) Why would C++ be a better choice for very large scale applications than NET/Java? I mean the zero abstraction penalty (which is more a JIT compiler issue and not intrinsically hardwired into C#) , okay, but besides that?</p>
<p>2) C++ really only has a few language features which actually let you write faster code in theory. In practice, JIT compilers are just not good enough, yet, to fully optimize on C++ pace and that’s one of the main reasons why C++ excels at efficiency. </p>
</blockquote>
<p>No, the reasons go deeper than that. I’m actually giving a talk at <a href="http://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2012">Lang.NEXT</a> on Wednesday which focuses exactly on the managed/native divide. I’ll post a link next week.</p>
<p>In the meantime, short answer: C++ and managed languages make different fundamental tradeoffs that opt for either performance or productivity when they are in tension.</p>
<blockquote><p>Why does Microsoft not put effort into a static C++ like compiler for C#/NET, say in manner of NGen, so that C# actually has even the slightest chance of being competitive with C++? </p>
</blockquote>
<p>Actually, Microsoft has been actively investing in that for over a decade. So have Java vendors. I expect those efforts to continue.</p>
<blockquote><p>Otherwise, saying C++ is more efficient than C# is not a theoretical issue, but caused by bad JIT compilers.</p>
</blockquote>
<p>This is a 199x/200x meme that’s hard to kill – “just wait for the next generation of (JIT or static) compilers and then managed languages will be as efficient.” Yes, I fully expect C# and Java compilers to keep improving – both JIT and NGEN-like static compilers. But no, they won’t erase the efficiency difference with native code, for two reasons.</p>
<p>First, JIT compilation isn’t the main issue. The root cause is much more fundamental: Managed languages made deliberate design tradeoffs to optimize for programmer productivity even when that was fundamentally in tension with, and at the expense of, performance efficiency. (This is the opposite of C++, which has added a lot of productivity-oriented features like auto and lambdas in the latest standard, but never at the expense of performance efficiency.) In particular, managed languages chose to incur costs even for programs that don’t need or use a given feature; the major examples are assumption/reliance on always-on or default-on garbage collection, a virtual machine runtime, and metadata. But there are other examples; for instance, managed apps are built around virtual functions as the default, whereas C++ apps are built around inlined functions as the default, and an ounce of inlining prevention is worth a pound of devirtualization optimization cure.</p>
<p>Second, even if JIT were the only big issue, a JIT can never be as good as a regular optimizing compiler because a JIT compiler is in the business of being fast, not in the business of generating optimal code. Yes, JITters can target the user’s actual hardware and theoretically take advantage of a specific instruction set and such, but at best that’s a theoretical advantage of NGEN approaches (specifically, installation-time compilation), not JIT, because a JIT has no time to take much advantage of that knowledge, or do much of anything besides translation and code gen.</p>
<p>More in the talk on Wednesday (for those who are at the conference) which will go live online next week&#8230; I’ll blog about it when it’s up.</p>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>, <a href='http://herbsutter.com/category/reader-qa/'>Reader Q&amp;A</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/1435/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1435/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1435/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1435/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1435/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1435/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1435/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1435/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1435/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1435/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1435/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1435/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1435/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1435/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1435&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2012/04/02/reader-qa-when-will-better-jits-save-managed-code/feed/</wfw:commentRss>
		<slash:comments>49</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>Reader Q&amp;A: Keywords and Attributes</title>
		<link>http://herbsutter.com/2012/04/02/reader-qa-keywords-and-attributes/</link>
		<comments>http://herbsutter.com/2012/04/02/reader-qa-keywords-and-attributes/#comments</comments>
		<pubDate>Tue, 03 Apr 2012 00:45:14 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Reader Q&A]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/?p=1433</guid>
		<description><![CDATA[Referring to C++ AMP, a reader emailed me to ask: Are you going to replace restrict keyword with new C++11 attribute feature [[]] ? No, because restrict is a language feature and [[attributes]] are specifically designed to be ignorable and shouldn’t be used for things having language semantic meaning. During the ISO C++11 process, I [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1433&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Referring to <a href="http://blogs.msdn.com/b/nativeconcurrency/archive/2012/02/03/c-amp-open-spec-published.aspx">C++ AMP</a>, a reader emailed me to ask:</p>
<blockquote><p>Are you going to replace <b>restrict </b>keyword with new C++11 attribute feature [[]] ?</p>
</blockquote>
<p>No, because <em>restrict </em>is a language feature and [[attributes]] are specifically designed to be ignorable and shouldn’t be used for things having language semantic meaning. During the ISO C++11 process, I was heavily involved in a long battle to try to prevent keywords dressed in [[attributes]] clothing from sneaking into the standard; for example, C++11 <em>final </em>and <em>override </em>used to be <em>[[final]] </em>and <em>[[override]]</em> in pre-final* drafts and I led the charge against that, and with the help of likeminded people it was overturned.</p>
<p>&#160;</p>
<p>* pun intended</p>
<br />Filed under: <a href='http://herbsutter.com/category/c/'>C++</a>, <a href='http://herbsutter.com/category/reader-qa/'>Reader Q&amp;A</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/herbsutter.wordpress.com/1433/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1433/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1433/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1433/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1433/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1433/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1433/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1433/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1433/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1433/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1433/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1433/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1433/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1433/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1433&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2012/04/02/reader-qa-keywords-and-attributes/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>
		<item>
		<title>Interview: C++&#8211;A Language for Modern Times</title>
		<link>http://herbsutter.com/2012/03/29/interview-ca-language-for-modern-times/</link>
		<comments>http://herbsutter.com/2012/03/29/interview-ca-language-for-modern-times/#comments</comments>
		<pubDate>Fri, 30 Mar 2012 00:38:15 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Talks & Events]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/?p=1429</guid>
		<description><![CDATA[Last week I spent 30 minutes with interviewer Robert Hess to talk about the differences between managed and native languages, and why modern C++ is clean, safe, and fast – as “clean and safe” as any other modern language, and still the king of “fast.” The interview just went live today on Channel 9. Here’s [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1429&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://channel9.msdn.com/Shows/The+Knowledge+Chamber/C-A-Language-for-Modern-Times"><img style="margin:10px 0 10px 10px;display:inline;float:right;" title="image" alt="image" align="right" src="http://herbsutter.files.wordpress.com/2012/03/image2.png?w=360&h=194" width="360" height="194" /></a>Last week I spent 30 minutes with interviewer Robert Hess to talk about the differences between managed and native languages, and why modern C++ is clean, safe, and fast – as “clean and safe” as any other modern language, and still the king of “fast.”</p>
<p>The interview just went live today on Channel 9. Here’s the blurb from the site:</p>
<blockquote><p><strong><a href="http://channel9.msdn.com/Shows/The+Knowledge+Chamber/C-A-Language-for-Modern-Times"><font size="3">C++: A Language for Modern Times</font></a></strong></p>
<p>C++ has been around for what seems like forever. It might seem like it&#8217;s taken a back seat to languages that provide better application isolation and better development throughput, but in truth it remains one of the most widely used languages in the world. In order to gain some better insights on how C++ measures up in a &quot;managed&quot; world, I&#8217;ve invited Herb Sutter, Program Manager for Visual Studio, to explain how C++ has evolved and how it remains a great choice for many modern day development tasks.</p>
</blockquote>
<p>I’ve said some of these things before, but it’s important to get the word out – modern C++11 is not your daddy’s C++, and as people return more and more to C++, we have some work still to do to help people unlearn some negative things that are no longer true (and in some cases never were true) about C++ as we know and use it today.</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/1429/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1429/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1429/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1429/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1429/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1429/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1429/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1429/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1429/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1429/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1429/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1429/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1429/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1429/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1429&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2012/03/29/interview-ca-language-for-modern-times/feed/</wfw:commentRss>
		<slash:comments>21</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/03/image2.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>C++ and Beyond 2012: Aug 5-8, Asheville, NC, USA</title>
		<link>http://herbsutter.com/2012/03/26/c-and-beyond-2012-aug-5-8-asheville-nc-usa/</link>
		<comments>http://herbsutter.com/2012/03/26/c-and-beyond-2012-aug-5-8-asheville-nc-usa/#comments</comments>
		<pubDate>Mon, 26 Mar 2012 11:36:52 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Talks & Events]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/?p=1421</guid>
		<description><![CDATA[February and March have been killer busy, so that I forgot to repeat an important announcement here: registration is open for C++ and Beyond 2012! I’m looking forward to teaching for three days again with Scott Meyers and Andrei Alexandrescu at one of the top C++ conference highlights of the year. This year, C&#38;B will [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1421&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://herbsutter.files.wordpress.com/2012/03/image.png"><img style="margin:10px 0 10px 10px;display:inline;float:right;" title="image" src="http://herbsutter.files.wordpress.com/2012/03/image_thumb.png?w=360&h=125" alt="image" width="360" height="125" align="right" /></a>February and March have been killer busy, so that I forgot to repeat an important announcement here: <strong><a href="http://cppandbeyond.com/2012/02/17/registration-for-cb-2012-is-now-open/">registration is open for C++ and Beyond 2012</a></strong>! I’m looking forward to teaching for three days again with Scott Meyers and Andrei Alexandrescu at one of the top C++ conference highlights of the year.</p>
<p>This year, C&amp;B will be held on August 5-8 in beautiful Asheville, North Carolina, USA. Registration is limited to 120 people, and now that I’m a month late in repeating this announcement I see that it’s already over 25% booked&#8230; seats are going faster than in either of the previous years, but fortunately there are still lots of spaces available as I write this.</p>
<p>This is becoming yet another big year for C++ in the industry, as C++ use and interest continues to surge and even the ISO C++ committee isn’t slowing down after delivering C++11 but is actually accelerating, ramping up work for the next round on concurrency/parallelism, networking, filesystem, and other short-term topics of interest as mentioned in my <a href="http://herbsutter.com/2012/03/08/trip-report-february-2012-c-standards-meeting/">trip report</a>. As usual, C++ and Beyond will feature the most important material you can use today and information about what to expect that’s coming down the pike short-term tomorrow.</p>
<p>Only two of the session descriptions have been posted so far, but they’re already deeply interesting and brand-new material never presented before – by us or by anyone, as far as I’m aware. Here they are&#8230;</p>
<h3>1. “Universal References in C++11” (brand-new talk by Scott Meyers)</h3>
<p>Scott’s first-announced talk on <a href="http://cppandbeyond.com/2012/03/13/session-topic-universal-references-in-c11/"><strong>“Universal References in C++11”</strong></a> targets a key underpinning of two C++11 marquee features – move semantics and perfect forwarding. I’ve seen drafts of the material, and this is going to be a deeply illuminating talk that covers not only the “what” and “how” of thinking about and effectively using <em>T&amp;&amp;</em> declarations in C++, but also the “why” – the thinking behind the language rules that helps us to understand the reasons why this important C++11 feature was designed the way it is, and what other topics and techniques it affects.</p>
<h3>2. “You Don’t Know [keyword] and [keyword]” (brand-new talk by Herb Sutter)</h3>
<p>Yes, the title really is <a href="http://cppandbeyond.com/2012/03/26/session-topic-you-dont-know-and/"><strong>“You Don’t Know [keyword] and [keyword],”</strong></a> at least for now. Here’s the description I just posted:</p>
<blockquote><p>I plan to give a brand-new talk for the first time at C&amp;B, but I&#8217;m conflicted regarding what to say about it here because it&#8217;s recently been a bit of a startling realization to me about C++11, and I think it may be a bit startling for others too. I don&#8217;t want to be a tease, but I also want to save it as a surprise for C&amp;B itself.</p>
<p>In the meantime, here’s a teaser&#8230;</p>
<p>In addition to the many new C++11 features that everyone’s listing, it has dawned on me over the winter that there’s actually another major change that isn’t being talked about anywhere, or even being listed as a change in C++11 at all as far as I know, because I and other key experts and committee members I’ve asked didn’t fully realize that we altered the basic meaning of not one but two fundamental keywords in C++. It’s a change that has profound consequences, that rewrites and/or invalidates several pieces of pre-C++11 design guidance, and that’s directly related to writing solid code in a concurrent and parallel world. This isn&#8217;t just an academic change, either – everyone is going to have to learn and apply the new C++11 guidance that we&#8217;ll cover in this session.</p>
<p>I plan to talk about it first at C&amp;B, in a session tentatively titled as above – I’ll fill in the keywords later. You may already guess a few keyword candidates based on the description above, and here’s a final hint: You’ll hardly find two C++ keywords that are older, or whose meanings are more changed from C++98 to C++11. (No, they aren&#8217;t <em>auto</em> and <em>register</em>.)</p></blockquote>
<p>I hope you can come, and I’m looking forward to seeing many of you in Asheville this summer.</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/1421/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1421/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1421/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1421/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1421/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1421/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1421/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1421/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1421/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1421/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1421/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1421/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1421/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1421/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1421&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2012/03/26/c-and-beyond-2012-aug-5-8-asheville-nc-usa/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>

		<media:content url="http://herbsutter.files.wordpress.com/2012/03/image_thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Trip Report: February 2012 C++ Standards Meeting</title>
		<link>http://herbsutter.com/2012/03/08/trip-report-february-2012-c-standards-meeting/</link>
		<comments>http://herbsutter.com/2012/03/08/trip-report-february-2012-c-standards-meeting/#comments</comments>
		<pubDate>Thu, 08 Mar 2012 23:04:48 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/?p=1414</guid>
		<description><![CDATA[The spring 2012 meeting of ISO/IEC JTC1/SC22/WG21 (C++) was held on February 6-10 in Kona, Hawaii, USA. Here’s the major takeaway: This is going to be a busy year as investment in C++ across the industry continues to increase, and that’s good news for C++. Here are some highlights from the meeting. Attendance This was [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1414&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://herbsutter.files.wordpress.com/2012/03/wg21.png"><img style="display:inline;float:right;margin:10px 0 10px 10px;" title="wg21" alt="wg21" align="right" src="http://herbsutter.files.wordpress.com/2012/03/wg21_thumb.png?w=234&h=194" width="234" height="194" /></a>The spring 2012 meeting of ISO/IEC JTC1/SC22/WG21 (C++) was held on February 6-10 in Kona, Hawaii, USA.</p>
<p>Here’s the major takeaway: This is going to be a busy year as investment in C++ across the industry continues to increase, and that’s good news for C++.</p>
<p>Here are some highlights from the meeting.</p>
<h3>Attendance</h3>
<p>This was the second meeting after completion of the C++11 standard. After a standard ships, often attendance will decline for a while, especially if the intent is to “go quiet” for a time to let the industry catch up, as we did after completing C++98.</p>
<p>As you can see below, however, it’s clear that this time the C++ committee is gearing <em>up</em>, not gearing down, after shipping its latest major standard. That’s reflected in record attendance: <strong>73 experts</strong> attended, with record numbers of participants from companies like Google and Intel and Microsoft and NVidia, to avidly begin planning for work on the next standard as well as other deliverables even in advance of the next standard.</p>
<h3>Full speed ahead, part 1: <font>C++1</font><em><font>y</font></em></h3>
<p>The biggest decision we knew would be discussed was to decide “what’s next” after C++11. Right away on Monday morning we decided that WG21 will immediately begin working on a new revision of the ISO C++ standard, including both language and library extensions, with a rough target of completing work on a new “C++1<em>y</em>” standard in approximately five years. That is, <em>y</em> is hoped to be approximately 7, but that’s intended to be only a rough scope guide at this point.</p>
<p>To have any chance of making <em>y</em> be approximately 7, C++1y can add at most one major new language feature, and there are already more language extension proposals than could possibly fit. The evolution working group (EWG), chaired as usual by Bjarne Stroustrup, therefore spent much of the week surveying the landscape of major evolution proposals we might consider in this round, and we had initial presentations of several, ranging from concurrency and parallelism to modules and static if.</p>
<p>We tried not to make any yes/no scope decisions at this meeting, and so many of these will come up again as updated and further-refined proposals at our next full meeting in October; at that point we intend to start saying yes and no to particular proposals we want to consider for the C++1y timeframe. In the interim, some of the proposals (notably concurrency/parallelism approaches, and the module system proposals) have enough interest that subgroups will hold additional smaller face-to-face meetings this summer in between full WG21 meetings so as to make more progress in these areas; more on this below.</p>
<h3>Full speed ahead, part 2: <font>Libraries galore</font></h3>
<p>As I <a href="http://herbsutter.com/2011/08/24/trip-report-2011-08/">reported form our last meeting</a>, the library working group (LWG) also has already decided to immediately continue working on new extensions to the standard library, and solicited proposals. In Kona, we reaffirmed that the door is open for library extensions, and our LWG chair Alisdair Meredith issued <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3370.html">this call for library proposals</a>.</p>
<p>But these libraries aren’t just for C++1y, because the LWG intends to work on shipping new libraries in smaller pieces in order to deliver work sooner and in smaller bites. Some libraries, such as File System and Networking, are big enough and separable enough to work on as independent pieces that can even ship separately from (read: earlier than) C++1y in the form of a Technical Specification (TS). (Terminology note: TS is the new ISO term for what we used to call Type 2 Technical Reports (TR), such as the first Library Extensions TR.)</p>
<p>These smaller pieces will be worked on independently, and once they’re ready to bring to the full WG21 LWG it will be the LWG that decides how to progress them – as part of the C++1y International Standard (IS) or as their own standalone TS or even IS.</p>
<h3>Study Groups</h3>
<p>Because we’re gearing up for all this work, and so much of its parallelizable, I’ve created the first four official WG21 Study Groups (SGs) that can meet independently to progress their work between full WG21 meetings. These SGs will help to refine and progress proposals faster by working on their own, but will bring all proposals to WG21 as usual for approval and further refinement before anything is published as a TS or IS.</p>
<p>The first four study groups, and their chairs, are as follows:</p>
<ul>
<li>SG1: Concurrency and Parallelism (Hans Boehm) </li>
<li>SG2: Modules (Doug Gregor) </li>
<li>SG3: File System (Beman Dawes) </li>
<li>SG4: Networking (Kyle Kloepper) </li>
</ul>
<p>There will be at least one face-to-face SG meeting, and there may be more. Here’s what I know about so far:</p>
<ul>
<li>Week of May 7, 2012: Bellevue, WA, USA (SG1 and SG4) </li>
<li>(if needed) Summer 2012: Toronto, Canada (SG1) </li>
</ul>
<h3>Looking forward</h3>
<p>Besides smaller Study Group meetings, here are the planned dates and locations for upcoming meetings of the full ISO C++ standards committee:</p>
<ul>
<li><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3343.htm">October 15-19, 2012</a>: Portland, OR, USA </li>
<li>April 15-20, 2013: Bristol, UK </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/1414/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1414/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1414/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1414/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1414/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1414/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1414/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1414/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1414/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1414/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1414/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1414/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1414/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1414/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1414&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2012/03/08/trip-report-february-2012-c-standards-meeting/feed/</wfw:commentRss>
		<slash:comments>37</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/03/wg21_thumb.png" medium="image">
			<media:title type="html">wg21</media:title>
		</media:content>
	</item>
		<item>
		<title>&#8220;Welcome to the Jungle&#8221; in Kansas City &#8211; March 20, 2012</title>
		<link>http://herbsutter.com/2012/03/06/welcome-to-the-jungle-in-kansas-city-march-20-2012/</link>
		<comments>http://herbsutter.com/2012/03/06/welcome-to-the-jungle-in-kansas-city-march-20-2012/#comments</comments>
		<pubDate>Tue, 06 Mar 2012 23:24:34 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[Concurrency]]></category>
		<category><![CDATA[Talks & Events]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/?p=1411</guid>
		<description><![CDATA[Thanks to Perceptive Software who are bringing me to Kansas City in two weeks to give a free talk on “Welcome to the Jungle.” The talk will be based on my recent essay of the same name (sequel to ”The Free Lunch Is Over”) concerning the turn to mainstream heterogeneous distributed computing and the end [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1411&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://herbsutter.files.wordpress.com/2012/03/welcome.png"><img style="display:inline;float:right;margin:10px 0 10px 10px;" title="Welcome" alt="Welcome" align="right" src="http://herbsutter.files.wordpress.com/2012/03/welcome_thumb.png?w=288&h=194" width="288" height="194" /></a>Thanks to <a href="http://www.perceptivesoftware.com/">Perceptive Software</a> who are bringing me to Kansas City in two weeks to give a <a href="http://www.perceptivesoftware.com/discover/herbsutter/">free talk on <strong>“Welcome to the Jungle.”</strong></a></p>
<p>The talk will be based on <a href="http://herbsutter.com/welcome-to-the-jungle/">my recent essay of the same name</a> (sequel to ”The Free Lunch Is Over”) concerning the turn to mainstream heterogeneous distributed computing and the end of Moore’s Law, with ample time for Q&amp;A and discussion.</p>
<p>Here are the coordinates:</p>
<blockquote><p><strong><a href="http://www.perceptivesoftware.com/discover/herbsutter/">Computing Trends with Herb Sutter: Welcome to the Jungle</a></strong></p>
<p><strong>When:</strong> Tuesday, March 20 at 1:00 – 3:00 P.M.</p>
<p><strong>Where: </strong><a href="http://binged.it/wYRLlS">Boulevard Brewery</a>, 2501 Southwest Blvd, Kansas City, MO, USA 64108</p>
<p><strong>Abstract:</strong> 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. – The free lunch is over. Now welcome to the hardware jungle.</p>
</blockquote>
<p>This is a free lecture; all are invited, but you should register to make sure you’ll have a seat. Note that this talk is live only and is not being recorded or webcast.</p>
<p>I look forward to meeting many of you there in person.</p>
<br />Filed under: <a href='http://herbsutter.com/category/concurrency/'>Concurrency</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/1411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1411/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1411/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1411/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1411/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1411/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1411/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1411/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1411&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2012/03/06/welcome-to-the-jungle-in-kansas-city-march-20-2012/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>

		<media:content url="http://herbsutter.files.wordpress.com/2012/03/welcome_thumb.png" medium="image">
			<media:title type="html">Welcome</media:title>
		</media:content>
	</item>
		<item>
		<title>VC++11 Beta Available, Supported For Production Code</title>
		<link>http://herbsutter.com/2012/02/29/vc11-beta-on-feb-29/</link>
		<comments>http://herbsutter.com/2012/02/29/vc11-beta-on-feb-29/#comments</comments>
		<pubDate>Wed, 29 Feb 2012 17:21:00 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/?p=1388</guid>
		<description><![CDATA[Earlier this month, I announced in my GoingNative talk C++11, VC++11 and Beyond that Visual C++ 11 Beta would be available in February. Today’s the day: You can download Visual Studio 11 Beta here. Interestingly, VC++11 is being distributed under a go-live license, which means that Microsoft supports using this compiler to write production code. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1388&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Earlier this month, I announced in my GoingNative talk <a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/C-11-VC-11-and-Beyond">C++11, VC++11 and Beyond</a> that Visual C++ 11 Beta would be available in February.</p>
<p>Today’s the day: <strong>You can </strong><a href="http://go.microsoft.com/fwlink/?LinkId=240160"><strong>download Visual Studio 11 Beta here</strong></a><strong>.</strong></p>
<p>Interestingly, VC++11 is being distributed under a <strong><a href="http://www.microsoft.com/visualstudio/11/en-us/downloads/go-live">go-live license</a></strong>, which means that Microsoft supports using this compiler to write production code. That’s unusual for a first beta, and it means you can start using its features – notably parallelism and C++11 library and language conformance improvements like range-based for loops – in your production code right away.</p>
<p>We had already announced that VC++11 <a href="http://msdn.microsoft.com/en-us/library/hh409293(v=vs.110).aspx">includes quite a bit of stuff</a>, and <a href="http://blogs.msdn.com/b/vcblog/archive/2012/02/29/10272778.aspx">here’s what’s new in the beta</a>. Some highlights of the whole product:</p>
<ul>
<li><strong>Complete ISO C++11 standard library.</strong> As announced in September, we’ve added full support for essentially the entire C++11 standard library, which I think is a first for the industry to ship in-the-box with a C++ compiler product. We already shipped most of the C++11 stdlib in VC++ 2010, and now we’re including <strong>threads, mutexes, condition variables, atomics, futures, and async</strong> – and not just as checkmark features, but with async and futures built on top of our ConcRT runtime that also powers the Parallel Patterns Library. Oh, and we’re also shipping an implementation of the draft-standard header <strong>&lt;filesystem&gt;</strong> based on Boost.filesystem for portable access to directories and files. (The ISO C++ committee has just resumed work on filesystem for near-term standardization; more about this soon in my ISO C++ trip report, which I plan to post within a few days.)</li>
<li><strong>Several more ISO C++11 language features.</strong> As mentioned in September, we’ve added support for C++11 <strong>stateless lambdas</strong> and <strong>scoped enumerations</strong>. On top of that, we were happy to announce this month that we’re also adding the <strong>range-based for loop, override, and final</strong> – all of which are available in today’s release, and supported for production code. </li>
<li><strong>Parallelism galore. </strong>As we <a href="http://blogs.msdn.com/b/vcblog/archive/2011/06/15/introducing-amp.aspx">announced</a> in June, it includes <strong>C++ AMP </strong>for parallel programming on CPUs and GPUs (with a view to more in the future, including cloud). This month we were also able to add that if the end user’s machine doesn’t have a compute-class GPU and is running Windows 8, we also provide an automatic fallback to multicore + vector SSE instructions, which for now is a fallback but we will continue to improve, so it’s already not just about GPUs. We’ve also <a href="http://blogs.msdn.com/b/nativeconcurrency/archive/2012/02/28/ppl-and-concrt-what-s-new-in-visual-studio-11-beta.aspx">expanded the <strong>Parallel Patterns Library (PPL)</strong></a> to support Standard C++11 concurrency features, provide more STL-style concurrent containers (e.g., concurrent_unordered_map), more parallel STL-style algorithms (e.g., parallel_sort), and a block-free continuation library for async operations (think “future.then()”, but for now we named it “task.then()” in case ISO C++ wants to surface something like this differently). Almost lost in all the news was another cool nugget: We’re also shipping an <strong>automatic vectorizing and parallelizing compiler</strong> that takes loops (with optional hints) and automatically generates both multi-core parallel and SSE-style vector code for you. </li>
<li><a href="http://herbsutter.files.wordpress.com/2012/02/image17.png"><img style="display:inline;float:right;margin:10px 0 10px 10px;" title="image" alt="image" align="right" src="http://herbsutter.files.wordpress.com/2012/02/image_thumb2.png?w=355&h=194" width="355" height="194" /></a><strong>Windows 8 support, including Metro-style tablet apps on x86 and ARM.</strong> A major engineering change like Windows 8 comes along about once a decade, so with <strong>C++/CX</strong> and <strong>WRL</strong> we did a huge amount of work to ensure that VC++ gets great compiler and tool support for writing Windows 8 apps, while writing the minimum quantity of non-ISO standard code on the boundaries with the Windows environment (usually just ^ and ref new, similar to C++/CLI; the vast majority of your code should remain portable C++). And we wanted to make sure that VC++ is a first-class language that is visibly clean, safe, and fast – just as clean and safe in side-by-side code examples with Javascript and .NET CLR (e.g., you can write a XAML UI equally easily on top of any of these language projections), and with C++’s traditional power and performance (e.g., VC++ also supports creating tablet DirectX games and other graphics-intensive apps). Oh, and we brought up a whole new processor architecture: ARM.</li>
</ul>
<p>As I also mentioned in this month’s talk, once VC++11 ships, we’re switching to a faster out-of-band release cadence so that we can deliver features more quickly than waiting for Visual Studio release schedules – especially to continue to roll out C++11 language features in batches, on a path to full conformance as soon as possible. The first thing you’ll see is a Community Tech Preview (CTP) that we intend to ship soon after VC++11 ships, which we expect to take the form of a new command-line compiler (initially not IDE integration and Intellisense) that you an drop into VC++11 to quickly start taking advantage of still more of the new C++11 language features, with a full out-of-band release to follow after that with still more.</p>
<p>If you haven’t already, <a href="https://illumeweb.smdisp.net/collector/Survey.ashx?Name=mscpp11"><strong>please take this quick C++11 feature survey</strong></a> where you can vote on what C++11 features are most urgent for you in VC++. We’re going to implement all C++11 features, but we have to do them in some order – we’re users too and talk to customers regularly, so we think we know what’s most urgent, but we want to sanity-check that with you and make sure we’re doing them in the right order to deliver the most benefit to the most people as soon as possible.</p>
<p>Enjoy!</p>
<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/1388/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1388/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1388/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1388/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1388/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1388/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1388/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1388/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1388/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1388/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1388/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1388/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1388/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1388/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1388&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2012/02/29/vc11-beta-on-feb-29/feed/</wfw:commentRss>
		<slash:comments>38</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/02/image_thumb2.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>James Hamilton on reliability</title>
		<link>http://herbsutter.com/2012/02/26/james-hamilton-on-reliability/</link>
		<comments>http://herbsutter.com/2012/02/26/james-hamilton-on-reliability/#comments</comments>
		<pubDate>Sun, 26 Feb 2012 21:59:16 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/?p=1394</guid>
		<description><![CDATA[Don’t trust hardware or software; then you can build trustworthy hardware and software. James Hamilton on how to write reliable software in a world where anything that can fail, will fail. Filed under: Hardware, Software Development<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1394&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Don’t trust hardware or software; then you can build trustworthy hardware and software.</p>
<p><a href="http://bit.ly/xgrhTK">James Hamilton on how to write reliable software</a> in a world where anything that can fail, will fail.</p>
<br />Filed under: <a href='http://herbsutter.com/category/hardware/'>Hardware</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/1394/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1394/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1394/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1394/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1394/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1394/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1394/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1394/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1394/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1394/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1394/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1394/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1394/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1394/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1394&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2012/02/26/james-hamilton-on-reliability/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>Going Native Sessions Online</title>
		<link>http://herbsutter.com/2012/02/08/going-native-sessions-online/</link>
		<comments>http://herbsutter.com/2012/02/08/going-native-sessions-online/#comments</comments>
		<pubDate>Thu, 09 Feb 2012 00:54:31 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/?p=1383</guid>
		<description><![CDATA[Thanks to everyone who came to Redmond and/or watched online to participate in Going Native 2012, last week’s global C++-fest. It was a lot of fun, and generated a lot of useful and important talks that we hope will help continue disseminate understanding of C++11 throughout the global C++ community. All the videos are now [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1383&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Thanks to everyone who came to Redmond and/or watched online to participate in <strong><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/">Going Native 2012</a></strong>, last week’s global C++-fest. It was a lot of fun, and generated a lot of useful and important talks that we hope will help continue disseminate understanding of C++11 throughout the global C++ community.</p>
<p><strong>All the videos are now available online for on-demand viewing.</strong> Here’s a handy list of talks for your convenience. Please enjoy – and share!</p>
<p>&#160;</p>
<h3>Day 1</h3>
<p><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Keynote-Bjarne-Stroustrup-Cpp11-Style">Bjarne Stroustrup: C++11 Style</a> [Keynote]</p>
<p><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Threads-and-Shared-Variables-in-C-11">Hans Boehm: Threads and Shared Variables in C++11</a><strong></strong></p>
<p><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/STL11-Magic-Secrets">Stephan T. Lavavej: STL11 – Magic &amp;&amp; Secrets</a></p>
<p><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Variadic-Templates-are-Funadic">Andrei Alexandrescu: Variadic Templates are Funadic</a></p>
<p><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Interactive-Panel-The-Importance-of-Being-Native"><strong>Panel:</strong> The Importance of Being Native (Bjarne, Andrei, Herb, Hans)</a></p>
<h3>Day 2</h3>
<p><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/C-11-VC-11-and-Beyond">Herb Sutter: C++11, VC++11 and Beyond</a><strong></strong> [Keynote]</p>
<p><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Clang-Defending-C-from-Murphy-s-Million-Monkeys">Chandler Carruth: Clang &#8211; Defending C++ from Murphy&#8217;s Million Monkeys</a></p>
<p><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Static-If-I-Had-a-Hammer">Andrei Alexandrescu: Static If I Had a Hammer</a></p>
<p><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/A-Concept-Design-for-C-">Bjarne Stroustrup and Andrew Sutton: A Concept Design for C++</a></p>
<p><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Interactive-Panel-Ask-Us-Anything-"><strong>Panel:</strong> Ask Us Anything! (all speakers)</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/1383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1383/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1383/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1383/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1383/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1383/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1383/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1383/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1383&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2012/02/08/going-native-sessions-online/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>
	</item>
		<item>
		<title>GoingNative 2012: Day 2 Tomorrow (Friday)</title>
		<link>http://herbsutter.com/2012/02/02/goingnative-2012-day-2-tomorrow-friday/</link>
		<comments>http://herbsutter.com/2012/02/02/goingnative-2012-day-2-tomorrow-friday/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 01:15:00 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/?p=1375</guid>
		<description><![CDATA[GoingNative 2012 Day 1 is just concluding, and we’re getting ready for Day 2 tomorrow with more C++11 information and panels. Day 2 kicks off tomorrow at 9:30am U.S. Pacific time, with the theme “C++11 Today and Tomorrow.” Day 1’s focus was entirely about C++11 as it exists today; Day 2 is partly about C++11 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1375&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012"><strong>GoingNative 2012</strong></a> Day 1 is just concluding, and we’re getting ready for Day 2 tomorrow with more C++11 information and panels.</p>
<p>Day 2 kicks off <a href="http://timeanddate.com/worldclock/meetingdetails.html?year=2012&amp;month=2&amp;day=3&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">tomorrow at 9:30am U.S. Pacific time</a>, with the theme <strong>“C++11 Today and Tomorrow.”</strong> Day 1’s focus was entirely about C++11 as it exists today; Day 2 is partly about C++11 right now, and partly about forward-looking material about where compilers and the standard itself are heading.</p>
<p>In the morning:</p>
<ul>
<li>First I’ll give a talk on <a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/C-11-VC-11-and-Beyond"><strong>C++11, VC++ and Beyond</strong></a>. After a couple of Microsoft-specific announcements at the beginning, the bulk of the talk is about C++11 today – what the key features are that will change C++ coding style, idiom, and guidance the most; tips on how to use those particular features well and the common initial mistakes we’re seeing people make as we’re all learning this together as an industry; how C++11 adoption is progressing throughout the industry from libraries to compilers to books; and finally some concluding thoughts about future directions of ISO C++, starting with the next standards meeting which begins in just three days.</li>
<li>Then we’re excited to have <a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Clang-Defending-C-from-Murphy-s-Million-Monkeys"><strong>Google’s Chandler Carruth with us to talk about the Clang compiler</strong></a>, a “reimagining” (sorry) of gcc that we think is one of the most exciting investments in the C++ world today and something people will want to know about. (Note: No hidden meaning here; the VC++ compiler team isn’t planning to switch to Clang or anything, we’re just really excited to see this as yet another part of the investment pouring into C++ across the industry and want to help people know more about it.)</li>
</ul>
<p>In the afternoon, we switch to forward-looking topics, and the two talks are about proposals that will begin to be considered at next week’s ISO C++ meeting:</p>
<ul>
<li><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Static-If-I-Had-a-Hammer"><strong>Andrei Alexandrescu has agreed to deliver a brand new talk on “static if” for C++.</strong></a> I personally invited Andrei and Walter Bright to propose this feature for ISO C++ based on his experience with it in D, and Walter and I will be presenting the proposal next week at the Kona ISO C++ meeting.</li>
<li><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/A-Concept-Design-for-C-"><strong>Bjarne Stroustrup and Andrew Sutton cover the latest in the still-active C++ concepts effort</strong></a> as the final talk of the event. We decided to request that particular talk because, even though concepts are not ready to come into ISO C++ again in the short term, they are still very interesting and people constantly ask about them, so we wanted to cover that important topic.</li>
<li>Finally, we’ll cap the event with an extended <strong><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Interactive-Panel-Ask-Us-Anything-">90-minute Q&amp;A panel with all the speakers.</a></strong> Again, you can <strong>tweet questions to #ch9live or #GoingNative during any of the talks</strong> and we’ll cover as many of them as possible at the end of the talk, but especially be ready to tweet your questions during the panel which is <em>entirely </em>reserved for extended Q&amp;A. This is your chance to pick the brains of a Who’s Who of modern C++, and it’ll be <strong>the fourth time in this event that Bjarne will be on stage </strong>– he is graciously expending himself for our benefit this week, so take advantage of his availability, and that of the other speakers!</li>
</ul>
<p>I hope you enjoy it. Repeating the graphics and links for convenience:</p>
<p><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/C-11-VC-11-and-Beyond"><img style="display:block;float:none;margin:10px auto;" title="image" alt="image" src="http://herbsutter.files.wordpress.com/2012/02/image10.png?w=500&h=158" width="500" height="158" /></a></p>
<p><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Clang-Defending-C-from-Murphy-s-Million-Monkeys"><img style="display:block;float:none;margin:10px auto;" title="image" alt="image" src="http://herbsutter.files.wordpress.com/2012/02/image11.png?w=500&h=139" width="500" height="139" /></a></p>
<p><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Static-If-I-Had-a-Hammer"><img style="display:block;float:none;margin:10px auto;" title="image" alt="image" src="http://herbsutter.files.wordpress.com/2012/02/image12.png?w=500&h=141" width="500" height="141" /></a></p>
<p><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/A-Concept-Design-for-C-"><img style="display:block;float:none;margin:10px auto;" title="image" alt="image" src="http://herbsutter.files.wordpress.com/2012/02/image13.png?w=500&h=123" width="500" height="123" /></a></p>
<p><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Interactive-Panel-Ask-Us-Anything-"><img style="display:block;float:none;margin:10px auto;" title="image" alt="image" src="http://herbsutter.files.wordpress.com/2012/02/image14.png?w=500&h=148" width="500" height="148" /></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/1375/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1375/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1375/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1375/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1375/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1375/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1375/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1375/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1375/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1375/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1375/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1375/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1375/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1375/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1375&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2012/02/02/goingnative-2012-day-2-tomorrow-friday/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/2012/02/image10.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

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

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

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

		<media:content url="http://herbsutter.files.wordpress.com/2012/02/image14.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>GoingNative 2012: Minus 1 Day</title>
		<link>http://herbsutter.com/2012/02/01/goingnative-2012-minus-1-day/</link>
		<comments>http://herbsutter.com/2012/02/01/goingnative-2012-minus-1-day/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 18:47:34 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/?p=1368</guid>
		<description><![CDATA[GoingNative 2012 is a global live C++11-fest with unlimited free worldwide attendance – both live and on demand. The goal is to make it interactive, and we’ve asked the speakers to reserve time at the ends of their talks for questions. Tweet questions to #ch9live or #GoingNative and we&#8217;ll try and get them asked. To [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1368&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012"><strong>GoingNative 2012</strong></a> is a global live C++11-fest with unlimited free worldwide attendance – both live and on demand.</p>
<p>The goal is to make it interactive, and we’ve asked the speakers to reserve time at the ends of their talks for questions. <strong>Tweet questions to #ch9live or #GoingNative </strong>and we&#8217;ll try and get them asked. To quote the organizers, “We take this live thing seriously!”</p>
<p>GN kicks off <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">tomorrow at 9:30am U.S. Pacific time</a> with <a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Keynote-Bjarne-Stroustrup-Cpp11-Style">Bjarne Stroustrup’s keynote on C++11 Style</a>.</p>
<p>&#160;</p>
<p><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Keynote-Bjarne-Stroustrup-Cpp11-Style"><img style="display:block;float:none;margin:10px auto;" title="image" alt="image" src="http://herbsutter.files.wordpress.com/2012/02/image.png?w=640&h=156" width="640" height="156" /></a></p>
<p>&#160;</p>
<p>Here are the other talks on Day 1:</p>
<p><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Threads-and-Shared-Variables-in-C-11"><img style="display:block;float:none;margin:10px auto;" title="image" alt="image" src="http://herbsutter.files.wordpress.com/2012/02/image1.png?w=500&h=128" width="500" height="128" /></a></p>
<p><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/STL11-Magic-Secrets"><img style="display:block;float:none;margin:10px auto;" title="image" alt="image" src="http://herbsutter.files.wordpress.com/2012/02/image2.png?w=500&h=127" width="500" height="127" /></a></p>
<p><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Variadic-Templates-are-Funadic"><img style="display:block;float:none;margin:10px auto;" title="image" alt="image" src="http://herbsutter.files.wordpress.com/2012/02/image3.png?w=500&h=124" width="500" height="124" /></a></p>
<p><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Interactive-Panel-The-Importance-of-Being-Native"><img style="display:block;float:none;margin:10px auto;" title="image" alt="image" src="http://herbsutter.files.wordpress.com/2012/02/image4.png?w=500&h=134" width="500" height="134" /></a></p>
<p>&#160;</p>
<p>C++11-fest minus 23 hours&#8230;</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/1368/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1368/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1368/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1368/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1368/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1368/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1368/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1368/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1368/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1368/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1368/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1368/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1368/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1368/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1368&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2012/02/01/goingnative-2012-minus-1-day/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://herbsutter.files.wordpress.com/2012/02/image.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

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

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

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

		<media:content url="http://herbsutter.files.wordpress.com/2012/02/image4.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>GoingNative 2012: Minus 3 Days</title>
		<link>http://herbsutter.com/2012/01/30/goingnative-2012-minus-3-days/</link>
		<comments>http://herbsutter.com/2012/01/30/goingnative-2012-minus-3-days/#comments</comments>
		<pubDate>Mon, 30 Jan 2012 19:14:00 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/?p=1357</guid>
		<description><![CDATA[Recap: GoingNative 2012 is a global live C++11-fest that kicks off this Thursday at 9:30am U.S. Pacific time. 350 live in the room. Unlimited free worldwide attendance – both live and on demand. Note that because of technical limitations, watching the livestream requires Silverlight (watching the stored videos later on demand will not). Silverlight is [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1357&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><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;" title="image" border="0" alt="image" align="right" src="http://herbsutter.files.wordpress.com/2012/01/image12.png?w=360&h=94" width="360" height="94" /></a></p>
<p>Recap:</p>
<ul>
<li><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012"><strong>GoingNative 2012</strong></a> is a <strong>global live C++11-fest </strong>that kicks off this <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">Thursday at 9:30am U.S. Pacific time</a>.</li>
<li>350 live in the room. Unlimited free worldwide attendance – <strong>both live and on demand</strong>.</li>
</ul>
<p>Note that because of technical limitations, <strong>watching the livestream requires Silverlight (watching the stored videos later on demand will not)</strong>. Silverlight is supported by all modern desktop browsers, but it’s a short download if you don’t have it already – so if you’re watching live, check in a little early to make sure you don’t miss a thing. If you’re watching on-demand, no worries – videos will be available in various popular formats as usual for Channel 9.</p>
<p>&#160;</p>
<p>As we count down to launch, another tidbit from the “fun facts” department:</p>
<p>&#160;</p>
<blockquote><p><strong>Myth:</strong> Software conferences are dying. Especially C++ conferences are dead.</p>
<p><strong>Fact:</strong> Number of exclusively-C++ conferences in 2012: <strong>Three.</strong></p>
<ul>
<li><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012"><strong>Feb 2-3 (worldwide): GoingNative 2012</strong></a>.&#160; The world’s first globally simulcast C++ convention. Free livestream + on-demand for everyone. 100% about C++.</li>
<li><a href="http://cppnow.org/">C++ Now! (May 13-18, Aspen, CO, USA)</a>.&#160; 100% about C++.</li>
<li><a href="http://cppandbeyond.com/">C++ and Beyond 2012 (August 5-8, Asheville, NC, USA)</a>.&#160; 100% about C++.</li>
</ul>
<p>Other conferences also include C++ content, such as <a href="http://accu.org/index.php/conferences">April 24-28’s ACCU</a> which has over 20 C++-specific talks.</p>
</blockquote>
<p>&#160;</p>
<p>C++11-fest minus 3&#8230;</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/1357/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1357/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1357/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1357/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1357/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1357/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1357/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1357/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1357/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1357/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1357/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1357/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1357/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1357/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1357&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2012/01/30/goingnative-2012-minus-3-days/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>

		<media:content url="http://herbsutter.files.wordpress.com/2012/01/image12.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>GoingNative 2012: Minus 5 Days</title>
		<link>http://herbsutter.com/2012/01/28/goingnative-2012-minus-5-days/</link>
		<comments>http://herbsutter.com/2012/01/28/goingnative-2012-minus-5-days/#comments</comments>
		<pubDate>Sat, 28 Jan 2012 21:55:29 +0000</pubDate>
		<dc:creator>Herb Sutter</dc:creator>
				<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/?p=1354</guid>
		<description><![CDATA[Recap: GoingNative 2012, the world’s first globally simulcast C++ convention, starts with Bjarne Stroustrup’s opening keynote “C++ Style” this Thursday at 9:30am U.S. Pacific time (time zone converter). In-room attendance is sold out, but worldwide attendance is unlimited and free – all sessions will be livestreamed, and later after a short processing delay will also [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1354&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><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="image" border="0" alt="image" align="right" src="http://herbsutter.files.wordpress.com/2012/01/image11.png?w=500&h=299" width="500" height="299" /></a></p>
<p>Recap:</p>
<ul>
<li><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012"><strong>GoingNative 2012</strong></a>, the world’s first globally simulcast C++ convention, starts with <a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Keynote-Bjarne-Stroustrup-Cpp11-Style">Bjarne Stroustrup’s opening keynote <strong>“C++ Style”</strong></a> this Thursday at 9:30am 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">(time zone converter)</a>.</li>
<li>In-room attendance is sold out, but worldwide attendance is unlimited and free – all sessions will be livestreamed, and later after a short processing delay will also be available on demand.</li>
</ul>
<p>&#160;</p>
<p>As we count down to launch, here’s something from the “fun facts” department about GN2012:</p>
<p>&#160;</p>
<blockquote><p><strong>Myth:</strong> C++ is for older developers.</p>
<ul>
<li><strong>Fact:</strong> Age distribution for the live audience at my September 2011 talk on <a href="http://channel9.msdn.com/Events/BUILD/BUILD2011/TOOL-835T">Writing Modern C++ Code</a>: <strong>roughly half under 30</strong>.</li>
<li><strong>Fact:</strong> Age of the youngest in-person GoingNative 2012 attendee&#8230; wait for it&#8230;: <strong>15 years old</strong>.</li>
</ul>
</blockquote>
<p>&#160;</p>
<p>C++11-fest minus 5&#8230;</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/1354/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/herbsutter.wordpress.com/1354/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/herbsutter.wordpress.com/1354/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/herbsutter.wordpress.com/1354/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/herbsutter.wordpress.com/1354/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/herbsutter.wordpress.com/1354/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/herbsutter.wordpress.com/1354/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/herbsutter.wordpress.com/1354/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/herbsutter.wordpress.com/1354/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/herbsutter.wordpress.com/1354/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/herbsutter.wordpress.com/1354/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/herbsutter.wordpress.com/1354/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/herbsutter.wordpress.com/1354/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/herbsutter.wordpress.com/1354/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1354&#038;subd=herbsutter&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://herbsutter.com/2012/01/28/goingnative-2012-minus-5-days/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>

		<media:content url="http://herbsutter.files.wordpress.com/2012/01/image11.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<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&#038;blog=3379246&#038;post=1351&#038;subd=herbsutter&#038;ref=&#038;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&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&#038;blog=3379246&#038;post=1351&#038;subd=herbsutter&#038;ref=&#038;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>
		<category><![CDATA[GotW]]></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++, GotW<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1346&#038;subd=herbsutter&#038;ref=&#038;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>&nbsp;</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 href='http://herbsutter.com/category/c/gotw/'>GotW</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&#038;blog=3379246&#038;post=1346&#038;subd=herbsutter&#038;ref=&#038;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>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>
		<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>
		<category><![CDATA[GotW]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/?p=1344</guid>
		<description><![CDATA[The solution to GotW #102 is now live. Filed under: C++, GotW<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1344&#038;subd=herbsutter&#038;ref=&#038;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 href='http://herbsutter.com/category/c/gotw/'>GotW</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&#038;blog=3379246&#038;post=1344&#038;subd=herbsutter&#038;ref=&#038;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&#038;blog=3379246&#038;post=1322&#038;subd=herbsutter&#038;ref=&#038;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&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&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&#038;blog=3379246&#038;post=1322&#038;subd=herbsutter&#038;ref=&#038;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>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/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&#038;blog=3379246&#038;post=1314&#038;subd=herbsutter&#038;ref=&#038;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&#038;blog=3379246&#038;post=1314&#038;subd=herbsutter&#038;ref=&#038;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&#038;blog=3379246&#038;post=1271&#038;subd=herbsutter&#038;ref=&#038;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&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&#038;blog=3379246&#038;post=1271&#038;subd=herbsutter&#038;ref=&#038;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>
		<category><![CDATA[GotW]]></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. Guru Questions 2. In your travels through the dusty corners of your company&#8217;s [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1109&#038;subd=herbsutter&#038;ref=&#038;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>
<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>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>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 href='http://herbsutter.com/category/c/gotw/'>GotW</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&#038;blog=3379246&#038;post=1109&#038;subd=herbsutter&#038;ref=&#038;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>
		<category><![CDATA[GotW]]></category>

		<guid isPermaLink="false">https://herbsutter.wordpress.com/?p=1107</guid>
		<description><![CDATA[The solution to GotW #101 is now live. Filed under: C++, GotW<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=herbsutter.com&#038;blog=3379246&#038;post=1107&#038;subd=herbsutter&#038;ref=&#038;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;" src="http://herbsutter.files.wordpress.com/2011/11/image_thumb31.png?w=500" alt="" align="right" /></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 href='http://herbsutter.com/category/c/gotw/'>GotW</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&#038;blog=3379246&#038;post=1107&#038;subd=herbsutter&#038;ref=&#038;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&#038;blog=3379246&#038;post=1090&#038;subd=herbsutter&#038;ref=&#038;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&#038;blog=3379246&#038;post=1090&#038;subd=herbsutter&#038;ref=&#038;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&#038;blog=3379246&#038;post=1014&#038;subd=herbsutter&#038;ref=&#038;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&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&#038;blog=3379246&#038;post=1014&#038;subd=herbsutter&#038;ref=&#038;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&#038;blog=3379246&#038;post=1011&#038;subd=herbsutter&#038;ref=&#038;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&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&#038;blog=3379246&#038;post=1011&#038;subd=herbsutter&#038;ref=&#038;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&#038;blog=3379246&#038;post=900&#038;subd=herbsutter&#038;ref=&#038;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&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&#038;blog=3379246&#038;post=900&#038;subd=herbsutter&#038;ref=&#038;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&#038;blog=3379246&#038;post=840&#038;subd=herbsutter&#038;ref=&#038;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&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&#038;blog=3379246&#038;post=840&#038;subd=herbsutter&#038;ref=&#038;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&#038;blog=3379246&#038;post=819&#038;subd=herbsutter&#038;ref=&#038;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&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&#038;blog=3379246&#038;post=819&#038;subd=herbsutter&#038;ref=&#038;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&#038;blog=3379246&#038;post=791&#038;subd=herbsutter&#038;ref=&#038;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&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&#038;blog=3379246&#038;post=791&#038;subd=herbsutter&#038;ref=&#038;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&#038;blog=3379246&#038;post=752&#038;subd=herbsutter&#038;ref=&#038;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&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&#038;blog=3379246&#038;post=752&#038;subd=herbsutter&#038;ref=&#038;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&#038;blog=3379246&#038;post=749&#038;subd=herbsutter&#038;ref=&#038;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&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&#038;blog=3379246&#038;post=749&#038;subd=herbsutter&#038;ref=&#038;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>
	</channel>
</rss>
