Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
ООП — это уменьшение «сложности» предметной области через декомпозицию её на «независимые» части: внутренности объекта и внешнюю среду.
А в чем разница с функцией? Разве не та же декомпозиция на внутренности функции (и интерфейс в виде параметров) и внешнюю среду (вызывающую).
По-моему, и в ФП и в ООП есть оба названных вами подхода: и инкапсуляция и абстракция.
ФП считает, что любой глагол в теории можно применить к любому существительному
Однако, с развитием инструментов и языков программирования эти подходы сближаются. IDE может показать нам все структуры, подходящие для данной функции и наоборот, а язык обеспечит приведение типов.
инкапсуляции программ на мелкие куски
Когда использовать ООП, а когда — ФП?