A good paper describing functional programming and also talks about the differences between these two mindsets is "Conception, Evolution, and Application of Functional Programming Languages" by Paul Hudak (1989). You can find a copy at https://courses.cs.washington.edu/courses/cse583/00wi/p359-h....