В чем же разница? Похоже, что термины могут использоваться несколько взаимозаменяемо, но, читая запись wikipedia для Objective-c, я наткнулся на:
В дополнение к стилю Cs процедурного программирование, С++ напрямую поддерживает определенные формы объектно-ориентированных программирование, общее программирование и метапрограммированием.
применительно к С++. Значит, они разные?