Хотел поделиться
статьёй, где автор рассматривает (на примере Haskell), почему же путь "обычных" программеров в функциональное программирование несколько сложен. Ответ, наверное, довольно заметно пересекается с тем, что тут уже довольно много говорил VladD2: функциональщики, как правило, довольно сильно отходят от тех материй, которые занимают умы императивщиков, и занимаются всякими монадами и прочими "хитрыми" вещами. В результате чего для какого-нибудь сишника учебник по хаскелю или мл получается очень сложным, т.к. строится с точки зрения человека, мыслящего уже категориями хаскеля или мл.