<story><title>Why Awk for AI? (1997)</title><url>http://www.wra1th.plus.com/awk/awkfri.txt</url></story><parent_chain><item><author>xaa</author><text>I don&apos;t think anyone would seriously advocate using awk for complex projects these days, but the idea of keeping data really close to the OS/shell is a very powerful one.&lt;p&gt;Take Python, which is supposedly a &quot;scripting&quot; language, but requires relatively painful amounts of boilerplate to actually read from or write to pipes, etc. It doesn&apos;t force you to keep everything in Python, but it certainly nudges you that way. Without naming names, certain statically typed languages that are obsessed with safety are even worse in this regard.</text></item></parent_chain><comment><author>bcoates</author><text>&amp;#62; I don&apos;t think anyone would seriously advocate using awk for complex projects these days&lt;p&gt;I guess it depends what you mean by &apos;complex&apos;.  Doing basic statistical summaries on a few columns of a TB or so of some logfile in a weird format would be a big project using a lot of the tools I&apos;ve had to use, but it&apos;s more or less &apos;hello world&apos; for awk. I really like it as part of an &quot;ETL before you ETL&quot; process where you massage your data into a format that makes your official ETL tool with fancy capabilities not choke.&lt;p&gt;The simplicity of awk also gives it a cultural advantage over things like perl in that you can argue that you&apos;re not &lt;i&gt;really&lt;/i&gt; introducing another language into your environment, just including some glue logic with a Standardized Tool Everyone Should Know.&lt;p&gt;The only thing I&apos;m familiar with that does such a good job of keeping simple things simple even when distributed or at largish data volumes is Splunk.</text></comment>
<story><title>Why Awk for AI? (1997)</title><url>http://www.wra1th.plus.com/awk/awkfri.txt</url></story><parent_chain><item><author>xaa</author><text>I don&apos;t think anyone would seriously advocate using awk for complex projects these days, but the idea of keeping data really close to the OS/shell is a very powerful one.&lt;p&gt;Take Python, which is supposedly a &quot;scripting&quot; language, but requires relatively painful amounts of boilerplate to actually read from or write to pipes, etc. It doesn&apos;t force you to keep everything in Python, but it certainly nudges you that way. Without naming names, certain statically typed languages that are obsessed with safety are even worse in this regard.</text></item></parent_chain><comment><author>stcredzero</author><text>&lt;i&gt;&amp;#62; Take Python, which is supposedly a &quot;scripting&quot; language, but requires relatively painful amounts of boilerplate to actually read from or write to pipes, etc.&lt;/i&gt;&lt;p&gt;It&apos;s a shame Scheme Shell didn&apos;t catch on more. That had a syntax for pipes that simply used the pipe symbol in a way that feels a lot like just using pipes in bash. Unforunately, the project page is down, and the Wikipedia entry doesn&apos;t have the best examples.&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Scsh&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Scsh&lt;/a&gt;</text></comment>