<?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 Sambal</title>
	<atom:link href="http://www.sambal.org/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sambal.org</link>
	<description>Self-employment + software = fun, bitter</description>
	<pubDate>Sat, 10 Jan 2009 00:05:14 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
		<item>
		<title>Comment on Why I hate python by Rick</title>
		<link>http://www.sambal.org/2008-06/why-i-hate-python/#comment-107</link>
		<dc:creator>Rick</dc:creator>
		<pubDate>Thu, 20 Nov 2008 19:25:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.sambal.org/?p=681#comment-107</guid>
		<description>I agree 100%. Coming from C++, I've just been forced to work with Python, and I've grown to completely hate it:

* Indentation problems. Try indenting python with tabs. Suddenly you get unknown errors coming from everywhere.

* No forward declarations. So you're FORCED to have all your functions have that ugly indentation in front of them. It's like PHP, but worse: No braces.

* pass. Requiring a keyword to allow to define empty functions? Come on!

* I cannot include "thispath/thisfile.py". No, first I have to add the path to the global import path, and then import it normally. With C++ you can #include whatever file you want.

* if __name__==’__main__’: WTF??

* There's simply no built-in compiler for python,  turning all your compile errors into RUNTIME errors. Therefore you can't "./configure, make, sudo make install" with python. This means that if your favorite python application isn't listed in your favorite linux distro's repository, you need to install the scripts and PRAY that the requirements are already installed.

* Python is a newbie-magnet. Even popular python apps (like Frets on Fire) fail at OBVIOUS usability tests (hello, I pressed escape, why do you keep crashing on me)?

I hate python. I absolutely and irrevocably hate python! Ugh!</description>
		<content:encoded><![CDATA[<p>I agree 100%. Coming from C++, I&#8217;ve just been forced to work with Python, and I&#8217;ve grown to completely hate it:</p>
<p>* Indentation problems. Try indenting python with tabs. Suddenly you get unknown errors coming from everywhere.</p>
<p>* No forward declarations. So you&#8217;re FORCED to have all your functions have that ugly indentation in front of them. It&#8217;s like PHP, but worse: No braces.</p>
<p>* pass. Requiring a keyword to allow to define empty functions? Come on!</p>
<p>* I cannot include &#8220;thispath/thisfile.py&#8221;. No, first I have to add the path to the global import path, and then import it normally. With C++ you can #include whatever file you want.</p>
<p>* if __name__==’__main__’: WTF??</p>
<p>* There&#8217;s simply no built-in compiler for python,  turning all your compile errors into RUNTIME errors. Therefore you can&#8217;t &#8220;./configure, make, sudo make install&#8221; with python. This means that if your favorite python application isn&#8217;t listed in your favorite linux distro&#8217;s repository, you need to install the scripts and PRAY that the requirements are already installed.</p>
<p>* Python is a newbie-magnet. Even popular python apps (like Frets on Fire) fail at OBVIOUS usability tests (hello, I pressed escape, why do you keep crashing on me)?</p>
<p>I hate python. I absolutely and irrevocably hate python! Ugh!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Using precompiled headers in Visual Studio 6 by Sheriff McLawDog</title>
		<link>http://www.sambal.org/2008-06/using-precompiled-headers-in-visual-studio-6/#comment-96</link>
		<dc:creator>Sheriff McLawDog</dc:creator>
		<pubDate>Sat, 01 Nov 2008 09:55:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.sambal.org/?p=685#comment-96</guid>
		<description>Thanks for this entry, I wasn't entirely clear on using precompiled headers in VS but you've laid it out nice and simply.

Cheers.</description>
		<content:encoded><![CDATA[<p>Thanks for this entry, I wasn&#8217;t entirely clear on using precompiled headers in VS but you&#8217;ve laid it out nice and simply.</p>
<p>Cheers.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on STL lower_bound: set vs. list by Alex Stapleton</title>
		<link>http://www.sambal.org/2008-10/stl-lower_bound-set-vs-list/#comment-85</link>
		<dc:creator>Alex Stapleton</dc:creator>
		<pubDate>Sat, 04 Oct 2008 14:27:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.sambal.org/?p=724#comment-85</guid>
		<description>It would be interesting to see these tests run on hardware that was more typical back around 2000. Presumably the algorithm used was chosen for a reason at the time?

There doesn't seem to be any reason that lower_bound couldn't be specialised for _List_iterator in the GNU (based on SGI) implementation. You could probably even  specialise it yourself without having to patch your vendors implementation.</description>
		<content:encoded><![CDATA[<p>It would be interesting to see these tests run on hardware that was more typical back around 2000. Presumably the algorithm used was chosen for a reason at the time?</p>
<p>There doesn&#8217;t seem to be any reason that lower_bound couldn&#8217;t be specialised for _List_iterator in the GNU (based on SGI) implementation. You could probably even  specialise it yourself without having to patch your vendors implementation.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on STL lower_bound: set vs. list by attractivechaos</title>
		<link>http://www.sambal.org/2008-10/stl-lower_bound-set-vs-list/#comment-84</link>
		<dc:creator>attractivechaos</dc:creator>
		<pubDate>Fri, 03 Oct 2008 09:22:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.sambal.org/?p=724#comment-84</guid>
		<description>Sorry, I made a wrong conclusion again. You are right. I realize that insertion on a red-black tree is only amortized O(1), not the worst case. Thanks for the clarification.</description>
		<content:encoded><![CDATA[<p>Sorry, I made a wrong conclusion again. You are right. I realize that insertion on a red-black tree is only amortized O(1), not the worst case. Thanks for the clarification.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on STL lower_bound: set vs. list by attractivechaos</title>
		<link>http://www.sambal.org/2008-10/stl-lower_bound-set-vs-list/#comment-83</link>
		<dc:creator>attractivechaos</dc:creator>
		<pubDate>Fri, 03 Oct 2008 09:15:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.sambal.org/?p=724#comment-83</guid>
		<description>It is not clear to me that whether wiki is saying insertion after finding the postion requires O(log(N)) time. The overall insertion time is no doubt O(log(N)).

Please see the discussion here:

http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&#38;ixPost=22948

This page looks more professional. In addition, if you look at the source code, rebalancing after insertion only need to fix red nodes around the insertion point. There are at most two such nodes in a red-black tree after immediate insertion. Rebalancing after deletion need to fix black nodes above the deletion point. This can be O(log(N)).</description>
		<content:encoded><![CDATA[<p>It is not clear to me that whether wiki is saying insertion after finding the postion requires O(log(N)) time. The overall insertion time is no doubt O(log(N)).</p>
<p>Please see the discussion here:</p>
<p><a href="http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&amp;ixPost=22948" rel="nofollow">http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&amp;ixPost=22948</a></p>
<p>This page looks more professional. In addition, if you look at the source code, rebalancing after insertion only need to fix red nodes around the insertion point. There are at most two such nodes in a red-black tree after immediate insertion. Rebalancing after deletion need to fix black nodes above the deletion point. This can be O(log(N)).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on STL lower_bound: set vs. list by Sam</title>
		<link>http://www.sambal.org/2008-10/stl-lower_bound-set-vs-list/#comment-81</link>
		<dc:creator>Sam</dc:creator>
		<pubDate>Thu, 02 Oct 2008 22:16:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.sambal.org/?p=724#comment-81</guid>
		<description>Amortized O(1), worst-case is O( lg N ) because you may have to make up to lg N rotations to restore the red-black property.  See e.g, CLR 1st ed p. 268, or Wikipedia: http://en.wikipedia.org/wiki/Red-black_tree#Complexity</description>
		<content:encoded><![CDATA[<p>Amortized O(1), worst-case is O( lg N ) because you may have to make up to lg N rotations to restore the red-black property.  See e.g, CLR 1st ed p. 268, or Wikipedia: <a href="http://en.wikipedia.org/wiki/Red-black_tree#Complexity" rel="nofollow">http://en.wikipedia.org/wiki/Red-black_tree#Complexity</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on STL lower_bound: set vs. list by attractivechaos</title>
		<link>http://www.sambal.org/2008-10/stl-lower_bound-set-vs-list/#comment-80</link>
		<dc:creator>attractivechaos</dc:creator>
		<pubDate>Thu, 02 Oct 2008 22:07:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.sambal.org/?p=724#comment-80</guid>
		<description>On a red-black tree, once you find the insertion position, insertion can be done in O(1) time, not O(log(N)).</description>
		<content:encoded><![CDATA[<p>On a red-black tree, once you find the insertion position, insertion can be done in O(1) time, not O(log(N)).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Use STL lower_bound even though it&#8217;s slower by Sam</title>
		<link>http://www.sambal.org/2008-07/use-stl-lower_bound-even-though-its-slower/#comment-79</link>
		<dc:creator>Sam</dc:creator>
		<pubDate>Thu, 02 Oct 2008 11:14:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.sambal.org/?p=703#comment-79</guid>
		<description>A sensible question.  A set might be the most appropriate data structure for some usage patterns, but it's not a drop-in equivalent.  

I expand into its own post here: http://www.sambal.org/2008-10/stl-lower_bound-set-vs-list/</description>
		<content:encoded><![CDATA[<p>A sensible question.  A set might be the most appropriate data structure for some usage patterns, but it&#8217;s not a drop-in equivalent.  </p>
<p>I expand into its own post here: <a href="http://www.sambal.org/2008-10/stl-lower_bound-set-vs-list/" rel="nofollow">http://www.sambal.org/2008-10/stl-lower_bound-set-vs-list/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Use STL lower_bound even though it&#8217;s slower by Paul</title>
		<link>http://www.sambal.org/2008-07/use-stl-lower_bound-even-though-its-slower/#comment-77</link>
		<dc:creator>Paul</dc:creator>
		<pubDate>Tue, 30 Sep 2008 13:43:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.sambal.org/?p=703#comment-77</guid>
		<description>If you are going to use a list, and you want it sorted, and you want to look up things in it, then use std::set

Thats what its designed to do... it can do a lower_bound quickly
http://www.cplusplus.com/reference/stl/set/lower_bound.html

and inserts/deletes are fast.

if you have the option to use a set, why would you use a list ?</description>
		<content:encoded><![CDATA[<p>If you are going to use a list, and you want it sorted, and you want to look up things in it, then use std::set</p>
<p>Thats what its designed to do&#8230; it can do a lower_bound quickly<br />
<a href="http://www.cplusplus.com/reference/stl/set/lower_bound.html" rel="nofollow">http://www.cplusplus.com/reference/stl/set/lower_bound.html</a></p>
<p>and inserts/deletes are fast.</p>
<p>if you have the option to use a set, why would you use a list ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Why I hate python by Martin "xarragon" Persson</title>
		<link>http://www.sambal.org/2008-06/why-i-hate-python/#comment-56</link>
		<dc:creator>Martin "xarragon" Persson</dc:creator>
		<pubDate>Wed, 17 Sep 2008 01:28:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.sambal.org/?p=681#comment-56</guid>
		<description>I've written a couple of medium-sized programs in Python and quite a few scripts for Blender, and I can´t say I like it. It was nice to see someone else that didn't immediately swore off all other languages for Python.

I am a C/C++ programmer by heart and can´t say I like script languages in general, but so far Perl has come closest to pleasing me. 

My main complaints over Python is the use of whitespace characters for block-level separation. It's is simply too fragile in my opinion. If you erase a tab while browsing the code, it can make a very hard-to-locate error; esp. since the error reporting capabilities of the Python interpreter isn't on par with other languages. If you change your editor to display tab characters, you got something even less readable that any language using braces...

For me it boils down to the fact that I don´t find the language robust enough to efficient programming unless I use external code checking utilities. I think it is a very nice beginner's language, but if you have no fear of C-ish syntax there is little to be gained and a lot to lose with the fluffy-syntax approach.</description>
		<content:encoded><![CDATA[<p>I&#8217;ve written a couple of medium-sized programs in Python and quite a few scripts for Blender, and I can´t say I like it. It was nice to see someone else that didn&#8217;t immediately swore off all other languages for Python.</p>
<p>I am a C/C++ programmer by heart and can´t say I like script languages in general, but so far Perl has come closest to pleasing me. </p>
<p>My main complaints over Python is the use of whitespace characters for block-level separation. It&#8217;s is simply too fragile in my opinion. If you erase a tab while browsing the code, it can make a very hard-to-locate error; esp. since the error reporting capabilities of the Python interpreter isn&#8217;t on par with other languages. If you change your editor to display tab characters, you got something even less readable that any language using braces&#8230;</p>
<p>For me it boils down to the fact that I don´t find the language robust enough to efficient programming unless I use external code checking utilities. I think it is a very nice beginner&#8217;s language, but if you have no fear of C-ish syntax there is little to be gained and a lot to lose with the fluffy-syntax approach.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
