<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Toxic Elephant : Tag cobra, everything about cobra</title>
    <link>http://www.matijs.net/blog/tag/cobra.rss</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>Don't bury it in your back yard!</description>
    <item>
      <title>Aaargh!</title>
      <description>&lt;p&gt;I&amp;#8217;m upset. I&amp;#8217;m so upset that I was originally going to call this entry &amp;#8220;Fuck you, Python&amp;#8221;. Now, I realize that&amp;#8217;s not a very nice thing to say, and actually, &lt;a href="http://www.python.org/"&gt;Python&lt;/a&gt; can&amp;#8217;t really help it anyway. Except by not existing&lt;sup&gt;&lt;a href="#fn1"&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;


	&lt;p&gt;Why, why, why must every other new language created these days have significant indenting? You see a new language, like &lt;a href="http://cobra-language.com/"&gt;Cobra&lt;/a&gt;, you read the &lt;a href="http://cobra-language.com/docs/why/"&gt;overview of features&lt;/a&gt;, and you go, cool, great runtime performance, static &lt;em&gt;and&lt;/em&gt; dynamic typing, and contracts, too. So you browse on to the &lt;a href="http://cobra-language.com/docs/hello-world/"&gt;hello world example&lt;/a&gt;, and boom! the absence of end-of-block tokens hits you in the face like an iron fist.&lt;/p&gt;


	&lt;p&gt;Now, in Python&amp;#8217;s case you can tell from the reasoning&lt;sup&gt;&lt;a href="#fn2"&gt;2&lt;/a&gt;&lt;/sup&gt; and the implementation that somebody actually thought this through, but Cobra has the following rationale for using this method of block structuring:&lt;/p&gt;


	&lt;blockquote&gt;
		&lt;p&gt;Cobra uses indentation to denote code structure since adept programmers do this anyway in languages that don&amp;#8217;t even require it (C#, Java, C++, etc.)&lt;/p&gt;
	&lt;/blockquote&gt;


	&lt;p&gt;Wow. I&amp;#8217;m going to make a language that uses the comma-space token to separate function arguments, since adept programmers put a space after the comma in languages that don&amp;#8217;t even require it.&lt;/p&gt;


	&lt;p&gt;Look, if you use indenting for block structure because you like Python, just say so already.&lt;/p&gt;


	&lt;p&gt;Oh wait, there&amp;#8217;s more:&lt;/p&gt;


	&lt;blockquote&gt;
		&lt;p&gt;In Cobra, one &lt;span class="caps"&gt;INDENT&lt;/span&gt; is accomplished by one &lt;span class="caps"&gt;TAB&lt;/span&gt; or four &lt;span class="caps"&gt;SPACES&lt;/span&gt;.&lt;/p&gt;
	&lt;/blockquote&gt;


	&lt;p&gt;Huh? Because adept programmers indent four characters anyway even in languages that don&amp;#8217;t require it? Because adept programmers use one tab per four spaces anyway even in editors that don&amp;#8217;t require it?&lt;/p&gt;


	&lt;p&gt;Sheesh.&lt;/p&gt;


	&lt;p&gt;I feel much calmer now.&lt;/p&gt;


	&lt;p id="fn1"&gt;&lt;sup&gt;1&lt;/sup&gt; See how reasonable I am. I&amp;#8217;m not &lt;em&gt;actually&lt;/em&gt; calling for the non-existance of Python.&lt;/p&gt;


	&lt;p id="fn2"&gt;&lt;sup&gt;2&lt;/sup&gt; I don&amp;#8217;t agree with that reasoning either, but at least it&amp;#8217;s, you know, reasonable.&lt;/p&gt;</description>
      <pubDate>Thu, 14 Feb 2008 21:35:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:d782b7d8-5a2c-47dd-b764-6814fa48d6d6</guid>
      <author>blog@matijs.net (matijs)</author>
      <comments>http://www.matijs.net/blog/2008/02/14/aaargh#comments</comments>
      <category>software</category>
      <category>python</category>
      <category>cobra</category>
      <category>indent</category>
      <category>madness</category>
      <trackback:ping>http://www.matijs.net/blog/trackbacks?article_id=aaargh&amp;day=14&amp;month=02&amp;year=2008</trackback:ping>
      <link>http://www.matijs.net/blog/2008/02/14/aaargh</link>
    </item>
  </channel>
</rss>
