<?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"
	>
<channel>
	<title>Comments for Andy Balaam's Blog</title>
	<atom:link href="http://www.artificialworlds.net/blog/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.artificialworlds.net/blog</link>
	<description>Four in the morning, still writing Free Software</description>
	<pubDate>Wed, 09 Jul 2008 03:35:00 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
		<item>
		<title>Comment on Keyboard layout change in Ubuntu by Tony</title>
		<link>http://www.artificialworlds.net/blog/2006/05/11/keyboard-layout-change-in-ubuntu/#comment-1666</link>
		<dc:creator>Tony</dc:creator>
		<pubDate>Wed, 04 Jun 2008 04:20:26 +0000</pubDate>
		<guid isPermaLink="false">http://69.89.27.216/~artific2/blog/?p=12#comment-1666</guid>
		<description>I have a Compaq Presario R3000 lap top. I can not seem to get the layout right no matter what. I purchased it in Canada. I guess the layout is the same as US. Non of my SHIFT characters are correct and i am missing @ from the keyboard entirely. Any suggestions?</description>
		<content:encoded><![CDATA[<p>I have a Compaq Presario R3000 lap top. I can not seem to get the layout right no matter what. I purchased it in Canada. I guess the layout is the same as US. Non of my SHIFT characters are correct and i am missing @ from the keyboard entirely. Any suggestions?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on C++ is an expert language by Enlaces del 28/04/2008 &#124; El Chigüire Literario</title>
		<link>http://www.artificialworlds.net/blog/2008/04/07/c-is-an-expert-language/#comment-1656</link>
		<dc:creator>Enlaces del 28/04/2008 &#124; El Chigüire Literario</dc:creator>
		<pubDate>Mon, 28 Apr 2008 11:31:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.artificialworlds.net/blog/2008/04/07/c-is-an-expert-language/#comment-1656</guid>
		<description>[...] qué se usa C++ en los videojuegos? y C++ es un lenguaje para expertos. Enlaces robados a [...]</description>
		<content:encoded><![CDATA[<p>[...] qué se usa C++ en los videojuegos? y C++ es un lenguaje para expertos. Enlaces robados a [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on lighttpd on Ubuntu - alias.url doesn&#8217;t work when included in a module config file by Duncan Idaho&#8217;s Weblog &#187; Aliasy, lighttpd i Debian Lenny</title>
		<link>http://www.artificialworlds.net/blog/2007/12/09/lighttpd-on-ubuntu-aliasurl-doesnt-work-when-included-in-a-module-config-file/#comment-1652</link>
		<dc:creator>Duncan Idaho&#8217;s Weblog &#187; Aliasy, lighttpd i Debian Lenny</dc:creator>
		<pubDate>Sun, 20 Apr 2008 09:24:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.artificialworlds.net/blog/2007/12/09/lighttpd-on-ubuntu-aliasurl-doesnt-work-when-included-in-a-module-config-file/#comment-1652</guid>
		<description>[...]  Jak zwykle jestem otwarty na uwagi i propozycje dotyczące moich wpisów. Jako źródło podam tu Andy Balaam&#8217;s Blog, na którym znalazłem rozwiązanie tego problemu.  kwiecień 20th 2008 Posted to Debian, [...]</description>
		<content:encoded><![CDATA[<p>[...]  Jak zwykle jestem otwarty na uwagi i propozycje dotyczące moich wpisów. Jako źródło podam tu Andy Balaam&#8217;s Blog, na którym znalazłem rozwiązanie tego problemu.  kwiecień 20th 2008 Posted to Debian, [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on C++ is an expert language by kg</title>
		<link>http://www.artificialworlds.net/blog/2008/04/07/c-is-an-expert-language/#comment-1446</link>
		<dc:creator>kg</dc:creator>
		<pubDate>Tue, 08 Apr 2008 06:41:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.artificialworlds.net/blog/2008/04/07/c-is-an-expert-language/#comment-1446</guid>
		<description>At college I was taught how to program using C++, but I didn't really _learn_ C++ till I read C++ Primer (4th ed) by Stan Lippman, cover-to-cover.  I think it's probably the best book for learning the fundamentals and how to use C++ "the right way".  Admittedly, it's a very long read, but it's a good place to start if you want to grok C++ instead of just getting by.

Stoustrup's book seems more focused on the language itself and less focused on how to use it.  But, if you want to know why C++ is the way it is (although probably most people don't), check out his other book The Design and Evolution of C++.

Nowadays, I have to consult the C++ standard itself once in a while (the only way to get a definitive answer on some very specific questions).  ANSI sells it for about $30 (which is still highway robbery for a language standard).  Don't be afraid to get yourself a copy and have it as a reference.

I haven't read the Scott Meyers books, but they are probably very good, not so much for learning the basics, but for how to solve the kinds of problems that come up a lot when using C++ in the real world.  For this type of thing, also check out Herb Sutter's books and his Guru of the Week articles.

In any case, you are definitely right, C++ is geared more toward experts.  Hopefully C++0x will change that somewhat.  However, I'm of the opinion that becoming a C++ expert is worth the effort.  (Can you be an expert user of a language without being an expert in the language itself?)

Warning: Use of RAII may cause your debugging skills to falter, because you won't need to use the debugger as often.</description>
		<content:encoded><![CDATA[<p>At college I was taught how to program using C++, but I didn&#8217;t really _learn_ C++ till I read C++ Primer (4th ed) by Stan Lippman, cover-to-cover.  I think it&#8217;s probably the best book for learning the fundamentals and how to use C++ &#8220;the right way&#8221;.  Admittedly, it&#8217;s a very long read, but it&#8217;s a good place to start if you want to grok C++ instead of just getting by.</p>
<p>Stoustrup&#8217;s book seems more focused on the language itself and less focused on how to use it.  But, if you want to know why C++ is the way it is (although probably most people don&#8217;t), check out his other book The Design and Evolution of C++.</p>
<p>Nowadays, I have to consult the C++ standard itself once in a while (the only way to get a definitive answer on some very specific questions).  ANSI sells it for about $30 (which is still highway robbery for a language standard).  Don&#8217;t be afraid to get yourself a copy and have it as a reference.</p>
<p>I haven&#8217;t read the Scott Meyers books, but they are probably very good, not so much for learning the basics, but for how to solve the kinds of problems that come up a lot when using C++ in the real world.  For this type of thing, also check out Herb Sutter&#8217;s books and his Guru of the Week articles.</p>
<p>In any case, you are definitely right, C++ is geared more toward experts.  Hopefully C++0x will change that somewhat.  However, I&#8217;m of the opinion that becoming a C++ expert is worth the effort.  (Can you be an expert user of a language without being an expert in the language itself?)</p>
<p>Warning: Use of RAII may cause your debugging skills to falter, because you won&#8217;t need to use the debugger as often.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on C++ is an expert language by ben</title>
		<link>http://www.artificialworlds.net/blog/2008/04/07/c-is-an-expert-language/#comment-1443</link>
		<dc:creator>ben</dc:creator>
		<pubDate>Tue, 08 Apr 2008 05:19:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.artificialworlds.net/blog/2008/04/07/c-is-an-expert-language/#comment-1443</guid>
		<description>In Ruby:

arr = [MyObj.new]</description>
		<content:encoded><![CDATA[<p>In Ruby:</p>
<p>arr = [MyObj.new]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on C++ is an expert language by Glen Goldsmith</title>
		<link>http://www.artificialworlds.net/blog/2008/04/07/c-is-an-expert-language/#comment-1438</link>
		<dc:creator>Glen Goldsmith</dc:creator>
		<pubDate>Tue, 08 Apr 2008 01:17:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.artificialworlds.net/blog/2008/04/07/c-is-an-expert-language/#comment-1438</guid>
		<description>Hey Andy...

THanks so much.  

The Scott Meyers' books are probably what I'm looking for.  After taking a few C++ classes at school, I've been through several books -- and very important information  such as the above, aren't covered in beginning books.

Most of these beginning books cover syntax, a little OOP theory, a dash of UML 2 and after 800 pages and 15 chapters...  congrats!  You can put C++ on your resume now!

So this is very helpful stuff.

The web of course is an extremely helpful tool --- but to answer specific questions without knowing why, it's great.  On example:  What's the fastest way to copy very large amounts of small files.  The web has that answer, but usually never "why" the code is that answer.  They don't go into the depth and background you need to know... to get some experience so you can take that knowledge forth and prosper.

Keep up the great blog.</description>
		<content:encoded><![CDATA[<p>Hey Andy&#8230;</p>
<p>THanks so much.  </p>
<p>The Scott Meyers&#8217; books are probably what I&#8217;m looking for.  After taking a few C++ classes at school, I&#8217;ve been through several books &#8212; and very important information  such as the above, aren&#8217;t covered in beginning books.</p>
<p>Most of these beginning books cover syntax, a little OOP theory, a dash of UML 2 and after 800 pages and 15 chapters&#8230;  congrats!  You can put C++ on your resume now!</p>
<p>So this is very helpful stuff.</p>
<p>The web of course is an extremely helpful tool &#8212; but to answer specific questions without knowing why, it&#8217;s great.  On example:  What&#8217;s the fastest way to copy very large amounts of small files.  The web has that answer, but usually never &#8220;why&#8221; the code is that answer.  They don&#8217;t go into the depth and background you need to know&#8230; to get some experience so you can take that knowledge forth and prosper.</p>
<p>Keep up the great blog.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on C++ is an expert language by jlnr</title>
		<link>http://www.artificialworlds.net/blog/2008/04/07/c-is-an-expert-language/#comment-1435</link>
		<dc:creator>jlnr</dc:creator>
		<pubDate>Mon, 07 Apr 2008 23:49:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.artificialworlds.net/blog/2008/04/07/c-is-an-expert-language/#comment-1435</guid>
		<description>Article- I agree that many details make this complicated, but it's not *that* fundamentally bad. For most of the other languages, you inevitably have to understand the difference between references and values; Ruby tries to turn everything into a reference, but if you want to be clever and create a list of ten empty strings via [""] * 10, the fundamental problem comes up again as soon as you try to modify one of them. In Java you also have to understand the (annoying) difference between primitives and objects.
But once you understand to divide your classes into value types and noncopyable reference types, and use tr1 pointers to handle the reference types, it gets so much easier and the whole design suddenly makes a lot of sense, though technically, even more things are happening under the surface.

I don't understand why everything surrounding copying is brought up so often, while I haven't read much criticism for completely failed concepts such as argument dependent lookup, which is PHP-class bad in that it makes a seemingly harmless feature (calling a function) overly complex. Templates being complex is just something you should expect ;)

Kyle- Totally disagree. Define copying/assignment at the lowest level, i.e. smart pointers, containers etc., then just do nothing in the upper levels. Things owning an object that can't be copied have a scoped_ptr member so aren't copyable (rightly so!), structs that only have some strings and ints can be copied. Problem solved ;)</description>
		<content:encoded><![CDATA[<p>Article- I agree that many details make this complicated, but it&#8217;s not *that* fundamentally bad. For most of the other languages, you inevitably have to understand the difference between references and values; Ruby tries to turn everything into a reference, but if you want to be clever and create a list of ten empty strings via [""] * 10, the fundamental problem comes up again as soon as you try to modify one of them. In Java you also have to understand the (annoying) difference between primitives and objects.<br />
But once you understand to divide your classes into value types and noncopyable reference types, and use tr1 pointers to handle the reference types, it gets so much easier and the whole design suddenly makes a lot of sense, though technically, even more things are happening under the surface.</p>
<p>I don&#8217;t understand why everything surrounding copying is brought up so often, while I haven&#8217;t read much criticism for completely failed concepts such as argument dependent lookup, which is PHP-class bad in that it makes a seemingly harmless feature (calling a function) overly complex. Templates being complex is just something you should expect ;)</p>
<p>Kyle- Totally disagree. Define copying/assignment at the lowest level, i.e. smart pointers, containers etc., then just do nothing in the upper levels. Things owning an object that can&#8217;t be copied have a scoped_ptr member so aren&#8217;t copyable (rightly so!), structs that only have some strings and ints can be copied. Problem solved ;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on C++ is an expert language by Justin</title>
		<link>http://www.artificialworlds.net/blog/2008/04/07/c-is-an-expert-language/#comment-1432</link>
		<dc:creator>Justin</dc:creator>
		<pubDate>Mon, 07 Apr 2008 21:42:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.artificialworlds.net/blog/2008/04/07/c-is-an-expert-language/#comment-1432</guid>
		<description>MFC does suck.  And sucks hard (at least back in 2001 when I had to use it).

As far as understanding the under-workings of the STL, I think, instead, that a basic understanding of how different data structures work and where they are appropriate is sufficient, especially since, as previously pointed out, that the STL is implemented differently all over the place.

Also, PHP:

$arr = array( new MyObj() );

and JavaScript:

var MyObj = {}, arr = [ MyObj ];</description>
		<content:encoded><![CDATA[<p>MFC does suck.  And sucks hard (at least back in 2001 when I had to use it).</p>
<p>As far as understanding the under-workings of the STL, I think, instead, that a basic understanding of how different data structures work and where they are appropriate is sufficient, especially since, as previously pointed out, that the STL is implemented differently all over the place.</p>
<p>Also, PHP:</p>
<p>$arr = array( new MyObj() );</p>
<p>and JavaScript:</p>
<p>var MyObj = {}, arr = [ MyObj ];</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on C++ is an expert language by Andy Balaam</title>
		<link>http://www.artificialworlds.net/blog/2008/04/07/c-is-an-expert-language/#comment-1428</link>
		<dc:creator>Andy Balaam</dc:creator>
		<pubDate>Mon, 07 Apr 2008 21:07:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.artificialworlds.net/blog/2008/04/07/c-is-an-expert-language/#comment-1428</guid>
		<description>Hi Glen, glad to hear you found it useful.  As someone else pointed out, don't forget about the destructor (although if you don't have any raw pointer members, the compiler-provided one may well be fine).

I use &lt;a href="http://www.research.att.com/~bs/3rd.html" rel="nofollow"&gt;Stroustrup&lt;/a&gt;, but I'm not convinced it is the best place to start.  Whenever anyone asks me about books I usually just say "always choose an O'Reilly", but in this case I happen to think that &lt;a href="http://www.oreilly.com/catalog/cplus2/" rel="nofollow"&gt;Practical C++ Programming&lt;/a&gt; is not that good (it's the book I used to learn, and I didn't find it inspiring).

This one looks quite cool: &lt;a href="http://www.oreilly.com/catalog/1886411956/" rel="nofollow"&gt;How Not to Program in C++&lt;/a&gt;, but I've never read it.

If you want to keep going deeper, I've found some really interesting stuff on the &lt;a href="http://www.ddj.com/cpp/" rel="nofollow"&gt;Dr Dobb's Journal&lt;/a&gt; web site, and I can recommend &lt;a href="http://accu.org/" rel="nofollow"&gt;ACCU&lt;/a&gt;'s publications Overload and CVu.

&lt;a href="http://www.aristeia.com/" rel="nofollow"&gt;Scott Meyers&lt;/a&gt;' books "Effective C++" and "More Effective C++" are excellent, but not aimed at beginners.  They cover exactly the type of thing I described above in this blog entry.

Perhaps others have suggestions for good books they used to learn C++?</description>
		<content:encoded><![CDATA[<p>Hi Glen, glad to hear you found it useful.  As someone else pointed out, don&#8217;t forget about the destructor (although if you don&#8217;t have any raw pointer members, the compiler-provided one may well be fine).</p>
<p>I use <a href="http://www.research.att.com/~bs/3rd.html" rel="nofollow">Stroustrup</a>, but I&#8217;m not convinced it is the best place to start.  Whenever anyone asks me about books I usually just say &#8220;always choose an O&#8217;Reilly&#8221;, but in this case I happen to think that <a href="http://www.oreilly.com/catalog/cplus2/" rel="nofollow">Practical C++ Programming</a> is not that good (it&#8217;s the book I used to learn, and I didn&#8217;t find it inspiring).</p>
<p>This one looks quite cool: <a href="http://www.oreilly.com/catalog/1886411956/" rel="nofollow">How Not to Program in C++</a>, but I&#8217;ve never read it.</p>
<p>If you want to keep going deeper, I&#8217;ve found some really interesting stuff on the <a href="http://www.ddj.com/cpp/" rel="nofollow">Dr Dobb&#8217;s Journal</a> web site, and I can recommend <a href="http://accu.org/" rel="nofollow">ACCU</a>&#8217;s publications Overload and CVu.</p>
<p><a href="http://www.aristeia.com/" rel="nofollow">Scott Meyers</a>&#8216; books &#8220;Effective C++&#8221; and &#8220;More Effective C++&#8221; are excellent, but not aimed at beginners.  They cover exactly the type of thing I described above in this blog entry.</p>
<p>Perhaps others have suggestions for good books they used to learn C++?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on C++ is an expert language by Glen Goldsmith</title>
		<link>http://www.artificialworlds.net/blog/2008/04/07/c-is-an-expert-language/#comment-1427</link>
		<dc:creator>Glen Goldsmith</dc:creator>
		<pubDate>Mon, 07 Apr 2008 20:53:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.artificialworlds.net/blog/2008/04/07/c-is-an-expert-language/#comment-1427</guid>
		<description>Wow.  Good info.

Are there some good books that discuss this type of thing ?  I've had a couple of C++ classes at college... and you know I've never run into that information before.

Thanks for the heads up....
Glen</description>
		<content:encoded><![CDATA[<p>Wow.  Good info.</p>
<p>Are there some good books that discuss this type of thing ?  I&#8217;ve had a couple of C++ classes at college&#8230; and you know I&#8217;ve never run into that information before.</p>
<p>Thanks for the heads up&#8230;.<br />
Glen</p>
]]></content:encoded>
	</item>
</channel>
</rss>
