Taxonomy of Programming Languages

What are object-oriented, functional and procedural programming languages? How do we go about categorizing them?

For those of us with some passion for programming languages, a debate frequently flares up over what specifically should be categorized as object-oriented and functional.

Is C++ object-oriented? “It allows free functions!” Pedantic people in the early 2000s would get hung up on details like that. Even to this day, we have a similar situation with functional…