ООП — не панацея, есть еще и функциональное программирование, и process-oriented programming, и логическое программирование, и много всяких парадигм и подходов. Не будем забывать, что каждый язык программирования был создан для лучшего решения конкретной задачи. Универсальных решений нет нигде, почему они должны быть в программировании?