Svár spočívá v skutečnosti, jak snadno či těžko se v kterých jazycích vytváří objektový model a že někteří autoři nepochopili, které vlastnosti implementace OOP modelování pomáhají a které škodí.
Mě se zdá že podstata sváru je vágnost definice "objektový model" Dokud byl objekt synonymum pro strukturu s přibastlenými metodami, vtable, konstruktorem, destruktorem, bylo jasno a sváry nebyly
To nebylo jasno nikdy, resp. mohlo se to zdát být jasné těm, kteří si pod OOP dokázali představit jen to, co píšeš, protože o OOP očividně mnoho nevěděli. Rozšířil se totiž blud, že "OOP = zapouzdření + dědičnost". Jenže realita je taková, že "OOP = polymorfismus + pozdní vazba" a otázkou zůstává, jak ten polymorfismus a pozdní vazbu implementovat. Některé jazyky na to šly přes dědění, zapouzdření, přetěžování a VFT, jiné se vydaly cestou zasílání zpráv (způsob jejichž zpracování je vnitřní záležitostí objektu, včetně typu vrácené hodnoty), jiné cestou generických funkcí, ležících zcela mimo hierarchii tříd. První přístup se rozšířil nejvíce, jenže má také nejvíce slabých míst a přísně vzato ani není schopen splnit "definiční požadavky" OOP (polymorfismus + (extrémně) pozdní vazbu).