Всё равно хороший код всегда пишется с использованием двух стилей.
Часто выгодно навалить сотни строк кода в одном методе, а в других случаях оптимальней будет понасоздавать кучу классов и понаследовать их как нужно.
Когда только ООП - без процедурного программирования - обучение кодеров дешевле и быстрее. Тем более, что есть немало языков (начиная с Java), в которых только ООП. В результате имеем "программистов", которые вызубрили паттерны, но при этом не понимают, что ООП - всего лишь надстройка над процедурным программированием.
>Какой смысл делить программирование на процедурное и ООП? Кроме исторических причин - есть вполне широко используемые языки, не поддерживающие ООП, например С. >Всё равно хороший код всегда пишется с использованием двух стилей. Нет, см. выше. >Часто выгодно навалить сотни строк кода в одном методе По этому поводу есть правило: если код метода не помещается на экран, его нужно делить на несколько методов.
Есть такая наука философия, она изучает как люди ищут ответы на возникающие перед ними вопросы. Философию обычно разделяют на разные течения и направления привязывая ее к конкретным решаемым задачам или конкретным вопросам. При программировании люди вольно или не вольно используют ту или иную философию программирования. Обычно какая то конкретная философия состоит из идей и определенной логикой над этими идеями для этого используют специальное слово «идеология». Так вот ООП имеет вполне конкретную идеологию своего применения. Так же как и процедурное программирование то же имеет свою идеологию. Т. е. вполне правильно использовать идеи и логику из нескольких конкретных течений философии программирования но путать их между собой не стоит. Обычно так и происходит языки программирования, подходы к разработке, используемые библиотеки и фреймворки навязывают свои идеи и логику. Если начать путать идеи и логику из разных течений философии то это сломает используемую логику с печальными последствиями все развалится в непонятную кашу. Поэтому не стоит смешивать вполне конкретную идеологию процедурного программирования с идеологией ООП. Поэтому их и разделяют.