Often times in programming, we need to represent some value which can easily be represented using a simple primitive type.
For example, in a game we might need to represent the velocity of a moving object. This could easily be represented with a
double value. This object might also have a value of mass; this can also be represented with a
Some would argue that we should have a
Speed type and a
Mass type for each of these, instead of the general-purpose
double type. The argument for that is that this way we take advantage of 'strong-typing'; the compiler doesn't let us pass a speed for a mass or a mass for a speed and make mistakes like those.
This argument makes sense. However, I can't help but thinking that this would be an overkill.
So what would you use? A simple
double (following KISS and keeping everything as simple as possible) or a type made for a specific purpose?