First, an evolution of mechanical devices for calculating:
Adding and subtracting in unary.
Adding and subtracting in decimal (abacus).
Multiplication and division.
Roots, powers.
Logarithm and exponential.
Trigonometric.
Special functions.
Matrices.
Abstract algebra.
Programmability.
At what point does a calculator have so many features -- too many features -- that it becomes something more than just a calculator?
Consider drawing the line at, the features that are built in to the calculator are limited to things that have mathematical purity, a timeless unchanging quality to them. Near the border: the conversion rate between inches and centimeters is included, but the conversion rate between dollars and yen is not (requiring network to keep up with the changing world). Similarly, time zone conversions are not included. The speed of light is included (defined to be a constant value), but the fine structure constant is not: it can still change due to better scientific measurement.
Things that are not mathematically pure are required to be user input.
An algorithm to compute something (e.g., a graph algorithm) is included, even though in the future better algorithms to compute the same thing might be developed. The algorithm as a mathematical function from input to output remains unchanged.
Probably make an exception for built-in "help" text documenting itself, even though documentation can be improved over time.
No comments :
Post a Comment