Зачем нужно ООП?
Прочитайте "Чистый код" Роберта Мартина, там это доходчиво объясняется. Все существующие парадигмы программирования, паттерны проектирования и архитектурные принципы существуют ровно с одной целью - снизить сложность сопровождения и развития большой кодовой базы.
Во-первых, стоит перестать бояться писать избыточный код.
Да, ООП вынуждает описывать классы, делать конструкторы, деструкторы. Но это все служит для более легкого понимания кода человеком. Не нужно экономить каждый байт в исходниках. Чем более ясно у вас описан код (например, переменные называются не i, j, k,  а value, count, capacity), тем лучше. Также и с классами, глаз привыкает к структуре, что вот описание данных, вот рядом функции, которые эти данные инициализируют, работают с ними и уничтожают их.
Когда вы пишете только процедуры, без ООП, то чем больше проект, тем сложнее понять какие функции с какими данными работают и в каком порядке.
Иногда бывает ООП головного мозга, когда действительно на каждый чих по объекту. Но никто вас не заставляет писать также. Используйте объекты по минимуму. Потом привыкните и поймете в чем тут фишка.