Lots of good advice already, but I had a couple of things to add. First, it's likely programming will always allow you to make stupid errors relatively easily. Programmers design and build systems so that other people (or computers) won't be able to make stupid mistakes. In order to do that, a language has to give us lots of flexibilty, which equates to lots of rope to hang ourselves. It's just part of the job.
Secondly, I find Eclipse with EPIC really useful (there are other tools that give you similar functionality. That's just what I use). A lot of stupid errors are detected right away. Maybe not *everything*, but small errors like typos are highlighted as you type, so you don't have to run anything to find your compilation problems. A small time saving, you might say, but lots of small savings can add up to something big, allowing you more time to track down the really nasty problems.