Tell me the difference between object oriented and functional programming ?