Functional programming languages have NO Mutable state
Hard to estimate necessary time and memory space
Functional programs consist of independent units that can run concurrently