mapやreduceといった関数を使うことをもって関数型の考え方とか言ってる?
だとしたら低レベルの話でそんなドヤ顔しないでください。
その程度の話ならコールバック関数と何も変わらんじゃないか。
CでもJavaでも関数ポインタや関数オブジェクトで昔から誰でもやってます。
そうじゃないとGUIアプリなんか一つも書けないでしょ。

関数型の考え方っていうのは、mapやreduceのような関数を「臨機応変に自分で作る」ことを指すんだと思うよ
手続き型言語ならC++のTMPに近いんじゃないかなあ。