Früher wurde alles ohne
OOP programmiert und das funktionierte auch.
Es ist also nicht so, dass es Dinge gibt, die man ohne
OOP nicht programmieren kann.
Das das Raketenprogramm mit einem Stackoverflow abgestürzt ist, kann auch mit
OOP passieren.
Was ich persönlich bei
OOP mag, ist die Vererbung.
Man hat ein schickes Basis-Objekt, dass alles wichtige mitbringt. Davon leite ich ab und muss mich nur noch um die Spezialfunktionen kümmern. Alles andere funktioniert ja schon.
Bemerke ich einen Fehler im Basis-Objekt, kann ich das korrigieren und die Kinder bekommen die Änderung gleich mit.
Sowas kann man auch prozedural lösen, ist aber meistens viel aufwändiger.
Die Argumente deines Kollegen sind typisch für Programmierer, die "schon immer so" programmiert haben und nichts Neues lernen wollen.
Auch ich habe eine Funktionen-Sammlung, bei denen sich ein Objekt nicht lohnt, aber ein großes Projekt ohne
OOP kann ich mir heute nicht mehr vorstellen und möchte ich auch nicht mehr machen.
Solche Kollegen kann man nur überzeugen, wenn man denen zeigt, dass man Projekte schneller und besser entwickeln kann, als er, wenn man
OOP einsetzt. Aber es gibt auch die ewig unbelehrbaren.