What exactly is the difference? It seems like the terms can be used somewhat interchangeably, but reading the wikipedia entry for Objective-c, I came across: 

> 
> In addition to C’s style of procedural
>  programming, C++ directly supports
>  certain forms of object-oriented
>  programming, generic programming, and
>  metaprogramming.
> 
> 
> 

in reference to C++. So apparently they're different?