Calculating prime (Optimus?)

That doesn't really answer why the range and behavior of primitives is strict. Compile-time type checking doesn't do range checking on operations. I think the question means, for example, _"why does java force ints to be signed 32 bit  across all implementations instead of defaulting to the most compatible type available in the underlying hardware"_.