<story><title>How Old School C Programmers Process Arguments</title><url>http://www.usrsb.in/How-Old-School-C-Programmers-Process-Arguments.html</url></story><parent_chain></parent_chain><comment><author>tomsmeding</author><text>I have to say, to reasonably experienced C programmers, this code should be pretty clear. If you need that whole paragraph to understand (* ++argv)[0], you might be an awesome programmer, but you&amp;#x27;re not yet a reasonably experienced C programmer. ;)&lt;p&gt;I do think this is even more concise than they would have written in maintained code. In particular, I believe the missing {}&amp;#x27;s for the &amp;#x27;while&amp;#x27; and &amp;#x27;for&amp;#x27; loops whouldn&amp;#x27;t have been left away, but I might be mistaken. Compare, for example, with this gem:&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.cs.princeton.edu&amp;#x2F;courses&amp;#x2F;archive&amp;#x2F;spr09&amp;#x2F;cos333&amp;#x2F;beautiful.html&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.cs.princeton.edu&amp;#x2F;courses&amp;#x2F;archive&amp;#x2F;spr09&amp;#x2F;cos333&amp;#x2F;be...&lt;/a&gt; (submitted as &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;news.ycombinator.com&amp;#x2F;item?id=5672875&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;news.ycombinator.com&amp;#x2F;item?id=5672875&lt;/a&gt; some time ago)&lt;p&gt;There Kernighan talks about a piece of code written by Rob Pike for inclusion in a different book; the code was written to be as small as possible while still including some useful functionality. In particular, Pike made well-considered choices about which functionality to include and which to exclude, but there are also some of those expressions that will not be completely transparent to the beginner C programmer. But the goal was writing &lt;i&gt;short&lt;/i&gt; code, and &lt;i&gt;clarity&lt;/i&gt; came secondary, but also emerged partly as a result of the first.</text></comment>
<story><title>How Old School C Programmers Process Arguments</title><url>http://www.usrsb.in/How-Old-School-C-Programmers-Process-Arguments.html</url></story><parent_chain></parent_chain><comment><author>yongjik</author><text>So it will admit any combination of -n and -x.  In particular, these things won&amp;#x27;t raise an error:&lt;p&gt;&lt;pre&gt;&lt;code&gt;    find - hello
    find - - hello
    find -xnxn hello
    find -x -n -x hello
    find -xxx -nnn -xn hello
&lt;/code&gt;&lt;/pre&gt;
Yes, the code has an impressive logic density, but there&amp;#x27;s a reason why modern programmers moved away from such style.</text></comment>