1.3 Functions
The notion of “expression” includes functions and all that goes into writing and using them. The syntax of their definition varies significantly among programming languages, unlike simple arithmetic expressions. In words, I can say
The function maximum(x, y)
returns x
if it is larger than y. Otherwise, it returns y
.
Let’s consider this informal definition.
- It has a descriptive name: maximum.
- There are two variables within parentheses:
x
andy
. These are the parameters of the function. - A function may have zero, one, two, or more parameters. To remain readable, it shouldn’t have too many.
- When we employ the function as in
maximum(3, -2)
to get the larger value, we call the function maximum on the arguments3
and-2
. - To repeat:
x
andy
are parameters, and3
and-2
are arguments. However, it’s not unusual for coders to call them all arguments. - The body of the function is what does the work. The statement involving if-then-otherwise is called a conditional. Though “if” is often used in programming languages, the “then” and “otherwise” may be implicit in the syntax used to write the expression. “else” or a variation may be present instead of “otherwise.”
- The test “
x
larger thany
” is the inequalityx > y
. This returns a Boolean true or false. Some languages use “predicate” to refer to an expression that returns a Boolean. - maximum returns a value that you can use in further computation. Coders create some functions for their actions, like updating a database. They might not return anything.
For comparison, this is one way of writing maximum in the C programming language:
int maximum(int x, int y) {
if (x > y) {
return x;
}
return y;
}
This is a Python version with a similar definition:
def maximum(x, y):
if x > y:
return x
return y
There are several variations within each language for accomplishing the same result. Since they look so similar in different languages, you should always ask, “Am I doing this the best way in this programming language?”. If not, why are you using this language instead of another?
Expressions can take up several lines, particularly function definitions. C uses braces
“{ }
” to group parts together, while Python uses indentation.