title: Shell redirection vs explicit file handling code
body: <p><em>I am not a native english speaker so please excuse the awkward title of this question. I just not knew how to phrase it better.</em></p>
  
  <p>I am on a FreeBSD box and I have a little filter tool written in <code>C</code> which reads a list of data via <code>stdin</code> and outputs a processed list via <code>stdout</code>. I invoke it somewhat like this: <code>find . -type f | myfilter &gt; /tmp/processed.txt</code>.</p>
  
  <p>Now I want to give my filter a little bit more exposure and publish it. Convention says that tools should allow something like this: <code>find . -type f | myfilter -f - -o /tmp/processed.text</code></p>
  
  <p>This would force me to write code that simply is not needed since the shell can do the job, therefore I tend to leave it out.</p>
  
  <p>My question is: Do I miss some argument (other but convention) why the reading and writing of files should be done in my code an not delegated to shell redirection?</p>