I'm often surprised by the gaps in other programmers' knowledge. I'm not talking about people who are just totally incompetent—not at all. The people I'm thinking of are often excellent programmers, which makes the gaps in their knowledge all the more astonishing. To be fair, I'm sure I induce a similar reaction some times. People probably can't believe I don't know more about GUIs, or web frameworks, or device drivers, or whatever. But there's a distinction to be made between specific technologies and sub-disciplines and knowledge that's important to everyone who writes code. This is part of a series of articles about things that I feel every programmer should know. So be aware that you're probably going to be offended if you don't know this stuff. Don't say I didn't warn you.

Floating-Point Numbers

Do you use floating-point numbers? Should you be using them? If you're not sure, then you probably shouldn't be. Do you know enough about them to use them properly? Again, if you're not sure, you probably don't.
more...