About two decades ago when I was a young programmer C was used as an example of a functional programming language because functions are first class citizens.<p>But according to interviews I’ve had in the last decade I guess functional programming actually means languages with a pattern matching syntax and immutable data types.