Multiple choice technology programming languages

Which of the following is NOT a characteristic of functional programming languages?

  1. Functions can take other functions as arguments and return them as results

  2. Algorithms are expressed in natural mathematical terms rather than as procedural steps

  3. Every function must modify some kind of state - either within the machine or in the outside world

  4. Recursion is encouraged

Reveal answer Fill a bubble to check yourself
C Correct answer
Explanation

Functional programming emphasizes pure functions with no side effects - they don't modify state (option C is false, thus 'NOT a characteristic'). Options A (higher-order functions), B (mathematical style), and D (recursion) are all true characteristics.