Wouldn't the example you mentioned be considered OO programming anyways? I mean, it does the exact same thing as 'traditional' OO programming, it just has a slightly different form. Do we have to have a 'class' and then create an 'object' and then call a method on the object by using specialized syntax? Why would this: $obj->meth(); be considered OO and this meth($obj) not be?