title: How is STDERR.puts different from puts in Ruby?
body: <p>I'm learning the language from Programming Ruby 1.9, and they toss STDERR.puts into a block of code early in the book without explaining why they're using it or how it's different from puts.</p>
  
  <p>I've googled and wikied the term, but all I can gather from my research is that it's involved in diagnostics. Nowhere in the code provided by Programming Ruby does there seem to be a link to error exception handling. </p>
  
  <p>Here's the code. </p>
  
  <pre><code>require_relative 'csv_reader'
  reader = CsvReader.new
  ARGV.each do |csv_file_name|
    STDERR.puts "Processing #{csv_file_name}"
    reader.read_in_csv_data(csv_file_name)
  end
  </code></pre>
  
  <p>I did manage to read somewhere that STDERR.puts is used for error handling out of convention, but I guess I'm asking if it acts any differently than puts.</p>