title: Default int type: Signed or Unsigned?
body: <p>When programming in a C-like language should one's "default" integer type be int or uint/unsigned int?  By default, I mean when you don't need negative numbers but either one should be easily big enough for the data you're holding.  I can think of good arguments for both:</p>
  
  <p>signed:  Better-behaved mathematically, less possibility of weird behavior if you try to go below zero in some boundary case you didn't think of, generally avoids odd corner cases better.</p>
  
  <p>unsigned:  Provides a little extra assurance against overflow, just in case your assumptions about the values are wrong.  Serves as documentation that the value represented by the variable should <strong>never</strong> be negative.</p>