what exactly is mathematical rigor? I am a programmer moving up to computer science and even in my past life as a mechanical engineer I used sufficient maths to get by but I have always wondered what exactly is this thing called rigor.
Please make me understand it. 
 A: In mathematical logic, you can define a system in which statements are strings of symbols, and there's a list of axioms (assumed to be true) and deductive rules (which derive a statement from other statements).  In this system, a proof of a statement is a sequence of steps which starts with the axioms, uses the deductive rules, and ends with that statement.
A fully rigorous result is one with a proof in this form.
In practice, we don't have time to carry out proofs at this level of detail.  Instead we rely on our intuition, and do only as much checking as we need to convince ourselves and our colleagues that we could make the proof fully rigorous if we wanted to.  This is just a judgement call that you will learn to make.  Study proofs that have been published, and you'll get a good idea of the level of rigor that's expected.
Occasionally it turns out that we were wrong and a published proof has a hole in it.  Also, it turns out that there are subtleties about choosing a plausible logical system which can trip us up.  But generally this approach works well.
The reason we need to worry about rigor is simply that otherwise, it's too easy to delude ourselves about what we know.  We are often surprised by what turns out to be true, or by what we cannot manage to prove.
