<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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: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>Comments on: A Deeply Skeptical Look at C++0x</title>
	<atom:link href="http://importantshock.wordpress.com/2008/08/20/a-skeptics-look/feed/" rel="self" type="application/rss+xml" />
	<link>http://importantshock.wordpress.com/2008/08/20/a-skeptics-look/</link>
	<description></description>
	<lastBuildDate>Tue, 27 Jan 2009 20:02:03 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: SG</title>
		<link>http://importantshock.wordpress.com/2008/08/20/a-skeptics-look/#comment-5546</link>
		<dc:creator>SG</dc:creator>
		<pubDate>Tue, 02 Sep 2008 10:22:08 +0000</pubDate>
		<guid isPermaLink="false">http://importantshock.wordpress.com/?p=91#comment-5546</guid>
		<description>I guess this wasn&#039;t even an attempt to seriously discuss C++0x. So, I&#039;m gonna try to keep my comment short:

The hashtable &amp; multithreading part is sort of an official catching up. Of course there have been threading libraries and hashtables around for C++ before. Though, the support for multithreading should not be underestimated. Check the paper &quot;Memory model for multithreaded C++&quot; which actually is not restricted to C++ at all but describes common problems like multiple levels of memory caches and how a contract between hardware manufactures and compiler/software developers could look like. Such a contract is essential. The contract they described is state-of-the-art and unmatched.

Regarding naming of the language and the concept feature: Please do some more research next time. Informations on &quot;why&quot; and &quot;how&quot; is all over the place. Since the early days of the STL the word &quot;concept&quot; has been used to categorize types. This is nothing new. The new thing about it is that the compiler is now able to PARSE and CHECK such type requirements which have been previously documented via comments.

Also, you should read at least the rules of thumb in &quot;The design of C++0x&quot;. It explains and rationalizes every design goal including favouring library solutions over core language extensions. Your suggestion to add a new keyword like &quot;lambda&quot; collides with one of those rules. BTW: The new function declaration looks different after unifying syntax with named lambdas.

I&#039;m going to stop addessing single points of your criticisms here. It&#039;s obvious that you didn&#039;t check any of the published and freely available papers that rationalize all decisions.

C++ is your forefathers&#039; language that is EVOLVING. You just need to pay attention.

Quoting B.S.: &quot;Language comparisons are rarely meaningful and even less often fair. A good comparison of major programming languages requires more effort than most people are willing to spend, experience in a wide range of application areas, a rigid maintenance of a detached and impartial point of view, and a sense of fairness.&quot;

Cheers,
SG</description>
		<content:encoded><![CDATA[<p>I guess this wasn&#8217;t even an attempt to seriously discuss C++0x. So, I&#8217;m gonna try to keep my comment short:</p>
<p>The hashtable &amp; multithreading part is sort of an official catching up. Of course there have been threading libraries and hashtables around for C++ before. Though, the support for multithreading should not be underestimated. Check the paper &#8220;Memory model for multithreaded C++&#8221; which actually is not restricted to C++ at all but describes common problems like multiple levels of memory caches and how a contract between hardware manufactures and compiler/software developers could look like. Such a contract is essential. The contract they described is state-of-the-art and unmatched.</p>
<p>Regarding naming of the language and the concept feature: Please do some more research next time. Informations on &#8220;why&#8221; and &#8220;how&#8221; is all over the place. Since the early days of the STL the word &#8220;concept&#8221; has been used to categorize types. This is nothing new. The new thing about it is that the compiler is now able to PARSE and CHECK such type requirements which have been previously documented via comments.</p>
<p>Also, you should read at least the rules of thumb in &#8220;The design of C++0x&#8221;. It explains and rationalizes every design goal including favouring library solutions over core language extensions. Your suggestion to add a new keyword like &#8220;lambda&#8221; collides with one of those rules. BTW: The new function declaration looks different after unifying syntax with named lambdas.</p>
<p>I&#8217;m going to stop addessing single points of your criticisms here. It&#8217;s obvious that you didn&#8217;t check any of the published and freely available papers that rationalize all decisions.</p>
<p>C++ is your forefathers&#8217; language that is EVOLVING. You just need to pay attention.</p>
<p>Quoting B.S.: &#8220;Language comparisons are rarely meaningful and even less often fair. A good comparison of major programming languages requires more effort than most people are willing to spend, experience in a wide range of application areas, a rigid maintenance of a detached and impartial point of view, and a sense of fairness.&#8221;</p>
<p>Cheers,<br />
SG</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: G</title>
		<link>http://importantshock.wordpress.com/2008/08/20/a-skeptics-look/#comment-5545</link>
		<dc:creator>G</dc:creator>
		<pubDate>Mon, 01 Sep 2008 23:40:21 +0000</pubDate>
		<guid isPermaLink="false">http://importantshock.wordpress.com/?p=91#comment-5545</guid>
		<description>0x is to say that it is planned for some year 200x
I use templates in common programming, they aren&#039;t just for libraries
The [] notation allows some data to be put inside the brackets. Your idea of using : is purely Python, which uses that notation due to a lack of braces. The lambda expression ends after the {}
nullptr is not NULL
The languages you show obvious favor for are of a different paradigm. Their purpose is a different one</description>
		<content:encoded><![CDATA[<p>0x is to say that it is planned for some year 200x<br />
I use templates in common programming, they aren&#8217;t just for libraries<br />
The [] notation allows some data to be put inside the brackets. Your idea of using : is purely Python, which uses that notation due to a lack of braces. The lambda expression ends after the {}<br />
nullptr is not NULL<br />
The languages you show obvious favor for are of a different paradigm. Their purpose is a different one</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Serestric</title>
		<link>http://importantshock.wordpress.com/2008/08/20/a-skeptics-look/#comment-5544</link>
		<dc:creator>Serestric</dc:creator>
		<pubDate>Sun, 31 Aug 2008 22:55:37 +0000</pubDate>
		<guid isPermaLink="false">http://importantshock.wordpress.com/?p=91#comment-5544</guid>
		<description>I have seen excellent and witty critiques of technology. I did not see it here. I saw the ramblings of a blithering inexperienced idiot who has no clue about the realities of the industry.

Perhaps if he actually got a job coding for a serious, high performance coding project his &#039;opinions&#039; would be a liitle less inane. Of course, if any prospective employer saw this article, the author would never get a job. Critical thinking skills are the most important assets in this business after all.</description>
		<content:encoded><![CDATA[<p>I have seen excellent and witty critiques of technology. I did not see it here. I saw the ramblings of a blithering inexperienced idiot who has no clue about the realities of the industry.</p>
<p>Perhaps if he actually got a job coding for a serious, high performance coding project his &#8216;opinions&#8217; would be a liitle less inane. Of course, if any prospective employer saw this article, the author would never get a job. Critical thinking skills are the most important assets in this business after all.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: S</title>
		<link>http://importantshock.wordpress.com/2008/08/20/a-skeptics-look/#comment-5543</link>
		<dc:creator>S</dc:creator>
		<pubDate>Mon, 25 Aug 2008 03:16:14 +0000</pubDate>
		<guid isPermaLink="false">http://importantshock.wordpress.com/?p=91#comment-5543</guid>
		<description>What a moron.

So-called &quot;cross platform&quot; languages are run on compiled software, which does incur a performance penalty, and often does not completely abstract the under lying platform completely; there are differences between programming in Java for Windows, Linux, or both, e.g.

This guy is just one of those sub-par factory produced coders who went to a Java school, or had to retake comp sci a few times before the prof passed him out of annoyance.

His &quot;points&quot; about programming, languages, etc. aren&#039;t even correct half the time.

What a crock.</description>
		<content:encoded><![CDATA[<p>What a moron.</p>
<p>So-called &#8220;cross platform&#8221; languages are run on compiled software, which does incur a performance penalty, and often does not completely abstract the under lying platform completely; there are differences between programming in Java for Windows, Linux, or both, e.g.</p>
<p>This guy is just one of those sub-par factory produced coders who went to a Java school, or had to retake comp sci a few times before the prof passed him out of annoyance.</p>
<p>His &#8220;points&#8221; about programming, languages, etc. aren&#8217;t even correct half the time.</p>
<p>What a crock.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Hanson</title>
		<link>http://importantshock.wordpress.com/2008/08/20/a-skeptics-look/#comment-5542</link>
		<dc:creator>Chris Hanson</dc:creator>
		<pubDate>Mon, 25 Aug 2008 02:27:42 +0000</pubDate>
		<guid isPermaLink="false">http://importantshock.wordpress.com/?p=91#comment-5542</guid>
		<description>Did #23 up there really say mike was an idiot for saying Common Lisp, Haskell, et al are compiled rather than interpreted?  Or that they don&#039;t have equivalent performance to C++?

What a moron.  Learn something about your goddamn industry, fools.  Just because some languages offer interactive environments doesn&#039;t mean they&#039;re not compiled, or that they can&#039;t be efficiently compiled.

Most Common Lisp implementations for the past 20-30 years have even compiled interactive code - code entered through the REPL, which people sometimes call &quot;the interpreter&quot; - and Lisp Machines were among the first serious high-end workstations.

Similarly, Smalltalk environments have been compiled since the 1970s, first to bytecode and then using just-in-time compilation and optimization techniques.  Sun&#039;s HotSpot JIT for Java was originally developed by a Smalltalk company.

And on Mac OS X, the Cocoa frameworks that most software is written in are all built in Objective-C, another highly dynamic language.  Objective-C was created about the same time as C++, but instead of punting on issues like shared library semantics and run-time type information, Objective-C learned from Smalltalk&#039;s example and embraced them.  The result is a language that&#039;s very easy to learn and use, and lets you write great software far faster while also allowing you plenty of opportunity to optimize.

Finally, Microsoft Research created the game-matching system used by people playing Halo 3 over Xbox Live in F# — a functional language — rather than C# or C++.  Why?  Because the semantics of the language made it good for hardcore algorithmic work that needed to scale to huge data sets and large numbers of CPUs.  Good language interoperability throws away the need for jack-of-all-trade languages, because it lets you pick the right tools for the right problems.</description>
		<content:encoded><![CDATA[<p>Did #23 up there really say mike was an idiot for saying Common Lisp, Haskell, et al are compiled rather than interpreted?  Or that they don&#8217;t have equivalent performance to C++?</p>
<p>What a moron.  Learn something about your goddamn industry, fools.  Just because some languages offer interactive environments doesn&#8217;t mean they&#8217;re not compiled, or that they can&#8217;t be efficiently compiled.</p>
<p>Most Common Lisp implementations for the past 20-30 years have even compiled interactive code &#8211; code entered through the REPL, which people sometimes call &#8220;the interpreter&#8221; &#8211; and Lisp Machines were among the first serious high-end workstations.</p>
<p>Similarly, Smalltalk environments have been compiled since the 1970s, first to bytecode and then using just-in-time compilation and optimization techniques.  Sun&#8217;s HotSpot JIT for Java was originally developed by a Smalltalk company.</p>
<p>And on Mac OS X, the Cocoa frameworks that most software is written in are all built in Objective-C, another highly dynamic language.  Objective-C was created about the same time as C++, but instead of punting on issues like shared library semantics and run-time type information, Objective-C learned from Smalltalk&#8217;s example and embraced them.  The result is a language that&#8217;s very easy to learn and use, and lets you write great software far faster while also allowing you plenty of opportunity to optimize.</p>
<p>Finally, Microsoft Research created the game-matching system used by people playing Halo 3 over Xbox Live in F# — a functional language — rather than C# or C++.  Why?  Because the semantics of the language made it good for hardcore algorithmic work that needed to scale to huge data sets and large numbers of CPUs.  Good language interoperability throws away the need for jack-of-all-trade languages, because it lets you pick the right tools for the right problems.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pat M.</title>
		<link>http://importantshock.wordpress.com/2008/08/20/a-skeptics-look/#comment-5541</link>
		<dc:creator>Pat M.</dc:creator>
		<pubDate>Mon, 25 Aug 2008 01:20:49 +0000</pubDate>
		<guid isPermaLink="false">http://importantshock.wordpress.com/?p=91#comment-5541</guid>
		<description>There&#039;s some commentary on &lt;a href=&quot;http://www.reddit.com/comments/6xafe/a_deeply_skeptical_look_at_c0x/&quot; title=&quot;reddit&quot; rel=&quot;nofollow&quot;&gt;reddit&lt;/a&gt;, where this post didn&#039;t go over very well.</description>
		<content:encoded><![CDATA[<p>There&#8217;s some commentary on <a href="http://www.reddit.com/comments/6xafe/a_deeply_skeptical_look_at_c0x/" title="reddit" rel="nofollow">reddit</a>, where this post didn&#8217;t go over very well.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: amn</title>
		<link>http://importantshock.wordpress.com/2008/08/20/a-skeptics-look/#comment-5540</link>
		<dc:creator>amn</dc:creator>
		<pubDate>Sun, 24 Aug 2008 17:29:27 +0000</pubDate>
		<guid isPermaLink="false">http://importantshock.wordpress.com/?p=91#comment-5540</guid>
		<description>Hey, I dont want your generation to program anything. The way you do it by taking the latest hardware and turning it into what your forefathers had available by using terabytes of plaintext scripts that have enough hacks themselves. You scream usability, but you forget that computer is a tool, and one with limited power, and so you can never sacrifice speed. If everyone of the &#039;newschool&#039; coders thought that way, then each app on your desktop compromising a bit of speed, would result in unusable machine. What is next, a Java-run OS? Sure it would be cool, but we are tired of constantly having to upgrade our machines. There is nothing wrong with a C++ strings that are sequences of bytes, because that is exactly what a string is, and no matter how abstract you make it, it still remans that. And just because everybody CAN create string implementations, should not make it a drawback. It is called diversity. Life is full of it.

1. The name of the language does not matter. People who need to use it will use it regardless. If anything, searching on generic names like Java, Ruby and Python brings up coffee, precious stornes and snakes, but you don&#039;t hear me complaining, because I do not care. If I need to use a language I will, no matter if it is called Shit or Gold.

2. Libraries are core of the languages. This is what makes the bulk of your program, and if it does not then you are good at reinventing the wheel. Your job as application developer is to make use of all these libraries that are available to you. But, of course average programmers reinvent the wheel all the time right?

You are right on the spot that C++0x is inexpressive. Lambda functions could have been labeled lambda, and not [ ]...

Still, presentations is not content. Your write beautifully and with sarcasm but it helps little when one is off track mostly.</description>
		<content:encoded><![CDATA[<p>Hey, I dont want your generation to program anything. The way you do it by taking the latest hardware and turning it into what your forefathers had available by using terabytes of plaintext scripts that have enough hacks themselves. You scream usability, but you forget that computer is a tool, and one with limited power, and so you can never sacrifice speed. If everyone of the &#8216;newschool&#8217; coders thought that way, then each app on your desktop compromising a bit of speed, would result in unusable machine. What is next, a Java-run OS? Sure it would be cool, but we are tired of constantly having to upgrade our machines. There is nothing wrong with a C++ strings that are sequences of bytes, because that is exactly what a string is, and no matter how abstract you make it, it still remans that. And just because everybody CAN create string implementations, should not make it a drawback. It is called diversity. Life is full of it.</p>
<p>1. The name of the language does not matter. People who need to use it will use it regardless. If anything, searching on generic names like Java, Ruby and Python brings up coffee, precious stornes and snakes, but you don&#8217;t hear me complaining, because I do not care. If I need to use a language I will, no matter if it is called Shit or Gold.</p>
<p>2. Libraries are core of the languages. This is what makes the bulk of your program, and if it does not then you are good at reinventing the wheel. Your job as application developer is to make use of all these libraries that are available to you. But, of course average programmers reinvent the wheel all the time right?</p>
<p>You are right on the spot that C++0x is inexpressive. Lambda functions could have been labeled lambda, and not [ ]&#8230;</p>
<p>Still, presentations is not content. Your write beautifully and with sarcasm but it helps little when one is off track mostly.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Your a moron</title>
		<link>http://importantshock.wordpress.com/2008/08/20/a-skeptics-look/#comment-5539</link>
		<dc:creator>Your a moron</dc:creator>
		<pubDate>Sat, 23 Aug 2008 17:37:21 +0000</pubDate>
		<guid isPermaLink="false">http://importantshock.wordpress.com/?p=91#comment-5539</guid>
		<description>Just another unintelligible rant from yet another Java fanboi. Please get your facts straight before writing more drivel.</description>
		<content:encoded><![CDATA[<p>Just another unintelligible rant from yet another Java fanboi. Please get your facts straight before writing more drivel.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Thomas Hansen</title>
		<link>http://importantshock.wordpress.com/2008/08/20/a-skeptics-look/#comment-5538</link>
		<dc:creator>Thomas Hansen</dc:creator>
		<pubDate>Sat, 23 Aug 2008 12:00:06 +0000</pubDate>
		<guid isPermaLink="false">http://importantshock.wordpress.com/?p=91#comment-5538</guid>
		<description>0x means 200x where x will become the year it was ratified. This is normal in other std efforts too like SQL99, C91 and so on...
S++ is BTW (still) the most widely deployed programming language in the world, and fact is that you wouldn&#039;t even get to start your car or fridge without it being at the center of your actions...
Though standardizing C++ is very difficult because of backward compatibility towards both C++99 and C too in fact. Which many will point out to be its strengths since it makes it possible to reuse a LOT of existing code...</description>
		<content:encoded><![CDATA[<p>0x means 200x where x will become the year it was ratified. This is normal in other std efforts too like SQL99, C91 and so on&#8230;<br />
S++ is BTW (still) the most widely deployed programming language in the world, and fact is that you wouldn&#8217;t even get to start your car or fridge without it being at the center of your actions&#8230;<br />
Though standardizing C++ is very difficult because of backward compatibility towards both C++99 and C too in fact. Which many will point out to be its strengths since it makes it possible to reuse a LOT of existing code&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: web design company</title>
		<link>http://importantshock.wordpress.com/2008/08/20/a-skeptics-look/#comment-5537</link>
		<dc:creator>web design company</dc:creator>
		<pubDate>Sat, 23 Aug 2008 01:36:33 +0000</pubDate>
		<guid isPermaLink="false">http://importantshock.wordpress.com/?p=91#comment-5537</guid>
		<description>This article mimics my thoughts on C++0x exactly.</description>
		<content:encoded><![CDATA[<p>This article mimics my thoughts on C++0x exactly.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
