<?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/"
		>
<channel>
	<title>Comments for Josh Haberman</title>
	<atom:link href="http://blog.reverberate.org/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.reverberate.org</link>
	<description>parsing, performance, minimalism with C99</description>
	<lastBuildDate>Fri, 19 Feb 2010 23:33:30 -0800</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Comment on Torn over the C++ question by Anonymous</title>
		<link>http://blog.reverberate.org/2009/12/02/torn-over-the-c-question/comment-page-1/#comment-1529</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Fri, 19 Feb 2010 23:33:30 +0000</pubDate>
		<guid isPermaLink="false">http://blog.reverberate.org/?p=301#comment-1529</guid>
		<description>It&#039;s trivial to wrap your C implementation so that it can be called directly from C++.  So translating your implementation from C to C++ provides no real benefit, it&#039;s more like busy work.  Plus C++ is such an ugly language that its hard to imagine that it won&#039;t die out over the next decade, replaced by C#/Objective C/Java etc.  C, on the other hand, has virtues of simplicity, clarity, portability, and performance that other programming languages have yet to supplant.</description>
		<content:encoded><![CDATA[<p>It&#8217;s trivial to wrap your C implementation so that it can be called directly from C++.  So translating your implementation from C to C++ provides no real benefit, it&#8217;s more like busy work.  Plus C++ is such an ugly language that its hard to imagine that it won&#8217;t die out over the next decade, replaced by C#/Objective C/Java etc.  C, on the other hand, has virtues of simplicity, clarity, portability, and performance that other programming languages have yet to supplant.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Torn over the C++ question by Kate</title>
		<link>http://blog.reverberate.org/2009/12/02/torn-over-the-c-question/comment-page-1/#comment-1525</link>
		<dc:creator>Kate</dc:creator>
		<pubDate>Wed, 06 Jan 2010 19:01:33 +0000</pubDate>
		<guid isPermaLink="false">http://blog.reverberate.org/?p=301#comment-1525</guid>
		<description>Hi. Don&#039;t forget to check the return value of malloc(). You might also enjoy this:
http://iq0.com/notes/deep.nesting.html</description>
		<content:encoded><![CDATA[<p>Hi. Don&#8217;t forget to check the return value of malloc(). You might also enjoy this:<br />
<a href="http://iq0.com/notes/deep.nesting.html" rel="nofollow">http://iq0.com/notes/deep.nesting.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Gazelle/upb status and plans (aka: On Releasing) by Dennis</title>
		<link>http://blog.reverberate.org/2009/11/28/gazelleupb-status-and-plans-aka-on-releasing/comment-page-1/#comment-1523</link>
		<dc:creator>Dennis</dc:creator>
		<pubDate>Thu, 31 Dec 2009 16:03:47 +0000</pubDate>
		<guid isPermaLink="false">http://blog.reverberate.org/?p=293#comment-1523</guid>
		<description>You should name it &quot;Gazelle Forever&quot;.

I kid :)</description>
		<content:encoded><![CDATA[<p>You should name it &#8220;Gazelle Forever&#8221;.</p>
<p>I kid <img src='http://blog.reverberate.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Torn over the C++ question by blankthemuffin</title>
		<link>http://blog.reverberate.org/2009/12/02/torn-over-the-c-question/comment-page-1/#comment-1518</link>
		<dc:creator>blankthemuffin</dc:creator>
		<pubDate>Sun, 27 Dec 2009 23:04:36 +0000</pubDate>
		<guid isPermaLink="false">http://blog.reverberate.org/?p=301#comment-1518</guid>
		<description>I vote to stick with C for another reason, integration with other languages. If your project is a nice C library, it&#039;s vastly easier for people using other languages, C, Python, whatever, to interface with your library rather than having to re-implement it. 

C++ is imo an awful choice for a library because it ends up restricting this to other things written in C++ (unless of course you wrap it up in a C abi but that is messy). 

I&#039;d prefer a base in C with a C++ wrapper as required.</description>
		<content:encoded><![CDATA[<p>I vote to stick with C for another reason, integration with other languages. If your project is a nice C library, it&#8217;s vastly easier for people using other languages, C, Python, whatever, to interface with your library rather than having to re-implement it. </p>
<p>C++ is imo an awful choice for a library because it ends up restricting this to other things written in C++ (unless of course you wrap it up in a C abi but that is messy). </p>
<p>I&#8217;d prefer a base in C with a C++ wrapper as required.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Torn over the C++ question by nobody</title>
		<link>http://blog.reverberate.org/2009/12/02/torn-over-the-c-question/comment-page-1/#comment-1500</link>
		<dc:creator>nobody</dc:creator>
		<pubDate>Mon, 14 Dec 2009 23:09:38 +0000</pubDate>
		<guid isPermaLink="false">http://blog.reverberate.org/?p=301#comment-1500</guid>
		<description>GCC 4.5 should get link-time optimization which will hopefully help binary size a lot. ultimately though, i still find myself reaching for C, for the ease of binding to other languages and the smaller size. i still like to keep my code C++ compatible and run it through the C++ compiler occasionally though, just because it&#039;s much stricter on typing.</description>
		<content:encoded><![CDATA[<p>GCC 4.5 should get link-time optimization which will hopefully help binary size a lot. ultimately though, i still find myself reaching for C, for the ease of binding to other languages and the smaller size. i still like to keep my code C++ compatible and run it through the C++ compiler occasionally though, just because it&#8217;s much stricter on typing.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Torn over the C++ question by George P.</title>
		<link>http://blog.reverberate.org/2009/12/02/torn-over-the-c-question/comment-page-1/#comment-1496</link>
		<dc:creator>George P.</dc:creator>
		<pubDate>Wed, 09 Dec 2009 02:59:35 +0000</pubDate>
		<guid isPermaLink="false">http://blog.reverberate.org/?p=301#comment-1496</guid>
		<description>I have a hard time accepting the comment that C++ compilers aren&#039;t very good at keeping things small. Which compiler have you used? I would agree that C++ nuances are complicated and that you need to read volumes of books to better grasp the details of optimization.</description>
		<content:encoded><![CDATA[<p>I have a hard time accepting the comment that C++ compilers aren&#8217;t very good at keeping things small. Which compiler have you used? I would agree that C++ nuances are complicated and that you need to read volumes of books to better grasp the details of optimization.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Porting upb to C++? by Rehno Lindeque</title>
		<link>http://blog.reverberate.org/2009/11/28/porting-upb-to-c/comment-page-1/#comment-1493</link>
		<dc:creator>Rehno Lindeque</dc:creator>
		<pubDate>Sun, 06 Dec 2009 11:50:10 +0000</pubDate>
		<guid isPermaLink="false">http://blog.reverberate.org/?p=287#comment-1493</guid>
		<description>I&#039;ve also been lazily contemplating upb for use in my projects. Since I tend to write my code in strange languages like D and Haskell, I&#039;ll second the other&#039;s comments! I would not mind having a thin C++ wrapper though.</description>
		<content:encoded><![CDATA[<p>I&#8217;ve also been lazily contemplating upb for use in my projects. Since I tend to write my code in strange languages like D and Haskell, I&#8217;ll second the other&#8217;s comments! I would not mind having a thin C++ wrapper though.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Torn over the C++ question by Alejandro M.</title>
		<link>http://blog.reverberate.org/2009/12/02/torn-over-the-c-question/comment-page-1/#comment-1490</link>
		<dc:creator>Alejandro M.</dc:creator>
		<pubDate>Thu, 03 Dec 2009 14:47:30 +0000</pubDate>
		<guid isPermaLink="false">http://blog.reverberate.org/?p=301#comment-1490</guid>
		<description>great choice! :-)</description>
		<content:encoded><![CDATA[<p>great choice! <img src='http://blog.reverberate.org/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Porting upb to C++? by Sam Quigley</title>
		<link>http://blog.reverberate.org/2009/11/28/porting-upb-to-c/comment-page-1/#comment-1487</link>
		<dc:creator>Sam Quigley</dc:creator>
		<pubDate>Wed, 02 Dec 2009 07:52:42 +0000</pubDate>
		<guid isPermaLink="false">http://blog.reverberate.org/?p=287#comment-1487</guid>
		<description>Have you checked with the security team about this yet?  C++ might reduce the number of potentially unsafe manual casting that goes on in the code, but it also introduces a whole host of (often very subtle) security risks of its own…  (For example, see: http://chargen.matasano.com/chargen/2009/10/9/a-c-challenge.html and some of the links there)  Depending on how much you&#039;re planning on changing — and depending on your security folks — it might well be faster to tighten up the current codebase than to rewrite it.  (It&#039;s been a little while since I looked at the code, and I certainly haven&#039;t tried to do a formal review, but I didn&#039;t notice too many scary things going on in there…)

On a more selfish note — I too was eyeing upb for use in a (pure C) project of mine, and would just as soon see it stay C…  So take my comments with a grain of salt.  :)

-sq</description>
		<content:encoded><![CDATA[<p>Have you checked with the security team about this yet?  C++ might reduce the number of potentially unsafe manual casting that goes on in the code, but it also introduces a whole host of (often very subtle) security risks of its own…  (For example, see: <a href="http://chargen.matasano.com/chargen/2009/10/9/a-c-challenge.html" rel="nofollow">http://chargen.matasano.com/chargen/2009/10/9/a-c-challenge.html</a> and some of the links there)  Depending on how much you&#8217;re planning on changing — and depending on your security folks — it might well be faster to tighten up the current codebase than to rewrite it.  (It&#8217;s been a little while since I looked at the code, and I certainly haven&#8217;t tried to do a formal review, but I didn&#8217;t notice too many scary things going on in there…)</p>
<p>On a more selfish note — I too was eyeing upb for use in a (pure C) project of mine, and would just as soon see it stay C…  So take my comments with a grain of salt.  <img src='http://blog.reverberate.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>-sq</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Porting upb to C++? by Alejandro M.</title>
		<link>http://blog.reverberate.org/2009/11/28/porting-upb-to-c/comment-page-1/#comment-1485</link>
		<dc:creator>Alejandro M.</dc:creator>
		<pubDate>Tue, 01 Dec 2009 17:59:39 +0000</pubDate>
		<guid isPermaLink="false">http://blog.reverberate.org/?p=287#comment-1485</guid>
		<description>assuming the generated C code is good, why not? ;-) thanks!</description>
		<content:encoded><![CDATA[<p>assuming the generated C code is good, why not? <img src='http://blog.reverberate.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  thanks!</p>
]]></content:encoded>
	</item>
</channel>
</rss>
