Все програмування пов'язане з математикою. Дійсно, багато університетів все ще розміщують свої програми з інформатики під компетенцією кафедри математики.
Що стосується вивчення функціонального програмування, то вам не потрібно мати міцну базу в математиці, щоб засвоїти його. Зараз я вивчив три різні функціональні мови з розумним володінням (Haskell, Erlang, Clojure), а мої власні математичні навички надзвичайно слабкі. Спільнота Haskell дійсно може трохи роздратувати його орієнтований на математику спосіб говорити про речі, але обидва Erlang і Clojure - це дуже прагматичні функціональні мови програмування, які не так складно підібрати, оскільки інформація про підручник написана, здавалося б, для програмістів, а не важких математичних вундеркіндів. Це було сказано, незважаючи на мій гандикап з математики, я все- таки взяв Хаскелл, тому це не неможливо.
Справжня складність, яку я виявив у підборі декларативних мов програмування загалом (з яких функціонал є підмножиною), - це відмова від того, що прагнути контролювати; сказати комп’ютеру, що робити. Це потребує певного звикання.