Ten Things He Hates About Object - Oriented Programming..

.. and Programming Paradigms!

Notes from this page.

Common Programming Paradigms include:
  • imperative: Uses statements that change a program's state.
  • declarative: A style of building the structure and elements of computer programs—that expresses the logic of a computation without describing its control flow.
  • procedural: A type of imperative programming in which the program is built from one or more procedures (also termed subroutines or functions).
  • functional: A declarative programming paradigm, where programming is done with expressions or declarations instead of statements.
In OO programs, objects send messages to other objects. OO source code shows us classes inheriting from classes. Oops. There is a complete disconnect in OOP between the source code and the runtime entities. Our tools don’t help us because our IDEs show us classes, not objects. The debugger lets us get our hands on the running objects and program them directly.

One of the reasons it takes us so long is that we spend much of our time bouncing back and forth between … lots of little methods. This is sometimes known as the Lost in Space syndrome. It has been reported since the early days of OOP. To quote Adele Goldberg, "In Smalltalk, everything happens somewhere else."