What is the difference between imperative (procedural), functional, declarative and object-oriented programming languages?
To a beginner, how would you explain the difference between object-oriented, functional, and procedural programming?