After becoming more engaged with training new engineers as well as reading Jon Skeet’s DevDays presentation I have begun to recognize many engineers aren’t clear when to use which numeric datatypes when. I appreciate the role a formal computer science degree plays in helping with this, but I see a lot of new engineers showing uncertainty because they have never worked with large data sets, or financial software, or programming phyiscs or statistics problems, or complex datastore issues.
My experience is that people really grok concepts when they are explained within context. I am looking for good examples of real programming problems where certain data is best represented using data type. Try to stay away from the textbook examples if possible. I am tagging this with Java, but feel free to give examples in other languages and retag:
Integer, Long, Double, Float, BigInteger, etc…
I really don’t think you need examples or anything complex. This is simple:
(When I say “>”, I mean “greater in absolute value”, of course.)
I’ve never used a byte or char to represent a number, and I’ve never used a short, period. That’s in 12 years of Java programming. Float? Meh. If you have a huge array and you are having memory problems, I guess.
Note that BigDecimal is somewhat misnamed; your values do not have to be large at all to need it.