Even job control languages can be designed so that they are a pleasure to use, instead of being strictly functional.Computer hardware designers can make their machines much more pleasant to use, for example by providing floating-point arithmetic which satisfies simple mathematical laws.