Functional Programming Vs Declarative Programming