There is no computer numbers and mathematical numbers, there are only mathematical numbers and the limited (failed by circumstances) representation of mathematical numbers existing for low level lenguages since the ancient times of computing.
Which should be improved - failed representation eliminated - wherever and whenever possible. Especially for new languages. And since there are better and worse representations - actually handling - of numbers accross the languages the criticism of doing badly, not making improvements, expecting to know the whims of a modern lannguage in this regard is absolutely founded!
Numbers are not as easy as they seem. Computer numbers are not the same as the numbers from mathematics.
Is "0.5" supposed to be a floating point number or a rational data type? What about conversion of types?
Sometimes you just need to know what happens in the particular language you are programming in.