Когда появилось ООП - все сильно возрадовались, предсказывая скорую смерть процедурному подходу. Еще ранее, во времена романтики "искусственного интеллекта" был пролог, который, как многие думали, своим изяществом, строгостью концепции и нацеленностью на решение сложных логических задач навсегда изменит лик современного программирования. И что? Кто ченить на прологе наваял из присутствующих? Процедурное программирование будет всегда, и вот почему.
Концепция ООП хороша - она соответствует человеческому мышлению, который вычленяет из окружающего винегрета объекты, абстрагируется, (если кто не знает - с "обосраться" это слово не имеет ничего общего), выделяет классы объектов, пытается понять их свойства, поведение, сходства и различия. Эта концепция близка нашему уму. Но!
Ведь в реале все не совсем так - все объекты - совсем разные. Не бывает двух совершенно одинаковых кружек. У каждого объекта в реале бесконечное число отличий.
Такому положению дел больше соответствует процедурный подход - есть ситуация - есть прямое решение. Иногда нужно просто отварить картошки. Зачем тут объекты?
Короче - нихто не победит.
--------------------------------
Приимущества ООП проявляются тем больше, чем больше народу занято в проекте и чем больше проект. Но - стадия проектирования сложнее.