Functional Vs Imperative Programming