title: stderr and stdout - not buffered vs. buffered?
body: <p>I was writing a small program that had various console output strings depending upon different events. As I was looking up the best way to send these messages I came across something that was a bit confusing. </p>
  
  <p>I have read that <code>stderr</code> is used to shoot messages directly to the console - <code>not buffered</code>. While, in contrast, I read that <code>stdout</code> is <code>buffered</code> and is typically used to redirect messages to various <code>streams?</code>, that may or may not be error messages, to an output file or some other medium. </p>
  
  <p>What is the difference when something is said to be buffered and not buffered? It made sense when I was reading that the message is shot directly to the output and is <em>not</em> buffered .. but at the same time I realized that I was not entirely sure what it meant to be buffered. </p>