2009-01-16

Meaning of "Functional" as in "Functional Programming"

What functional programming is confused me for rather a long time. SICP says(as I was reading it this morning after getting up):

So long as we do not use assignments, two evaluations of the same procedure with the same arguments will produce the same result, so that procedures can be viewed as computing mathematical functions. Programming without any use of assignments, as we did throughout the first two chapters of this book, is accordingly known as functional programming.

That is, the "functional" as in "functional programming" means the style and properties which functions in mathematics possess, namely, "mathematically functional"(instead of functions or methods in programming languages).

Now, I finally fully comprehend the meaning of the definition of functional programming on wikipedia, which I didn't quite understand formerly:
In computer science, functional programming is a programming paradigm that treats computation as the evaluation of mathematical functions and avoids state and mutable data.
And it also says in Wikipedia that:
The characteristic property of a function in the most abstract sense is that it relates exactly one output to each of its admissible inputs
Please forgive my ignorance!