>>2
I agree with most of this post (especially choosing the paradigm based on what job you have to do), except for Java as an example of "pure OO", since Java method bodies are essentially procedural. It's the same for Python, Ruby, etc.
I would consider a "pure OO" language to be Self or Smalltalk, which have no constructs except message passing (Self doesn't even have classes, you clone prototype objects instead).