Jak říká jeden kolega, nejlepší OOP je žádné OOP.
Nicméně vzhledem k tomu, že se moc nechytlo ani původní Kayovo (message-based) OOP, ani to založené na dědičnosti (novější jazyky jako Go, Julia nebo Rust dědění z konkrétních typů nemají), tak možná není to správné žádné.
Akademicky je nejlepší "restrictive OOP", na rozdíl od běžně rozšířeného "ampliative OOP", ale to by byla jalová diskuse.