Nothing wrong per se - both definitions are right within their domains, i.e. programming¹ vs mathematics.
It's just that I keep hearing (usually from FP people) how procedural/oo/impure functional/what have you programming languages should stop calling their functions functions, because they're not functions in the mathematical sense and therefore confusing; but I have the gut feeling that the programming definition (machine with input and output - X comes in, Y comes out) is the actually more intuitive one, and here we see someone explaining mathematical functions using the programming definition. Ultimately, I suspect that for computable functions, there is no difference between the definitions.
So I found it interesting how here the "wrong/confusing" definition is used in place of the "correct" one.
¹ (edit) I mean programming as the engineering discipline of programming computing machines, not in the sense of discrete mathematics.
It's just that I keep hearing (usually from FP people) how procedural/oo/impure functional/what have you programming languages should stop calling their functions functions, because they're not functions in the mathematical sense and therefore confusing; but I have the gut feeling that the programming definition (machine with input and output - X comes in, Y comes out) is the actually more intuitive one, and here we see someone explaining mathematical functions using the programming definition. Ultimately, I suspect that for computable functions, there is no difference between the definitions.
So I found it interesting how here the "wrong/confusing" definition is used in place of the "correct" one.
¹ (edit) I mean programming as the engineering discipline of programming computing machines, not in the sense of discrete mathematics.