Здравствуйте, novitk, Вы писали:
S>>ООП ... и сокращения кода за счет наследования и переопределении методов. S>>Плюс поддержка интерфейсов, замена множественного наследия.
N>В ООП языках представлена очень ограниченная версия — signle param dispatch. N>В FP языках (Haskell/Scala — type classes, LispCLOS/Julia — multiple params dispatch) без ограничений.
Не знаю, чё це таке, но C# точно ООП язык с примесями ФП. И народ, не переходит на тот же F# раз у него нет ограничений.
Все таки изменяемое состояние в большинстве случаев более выгодно. А переопределение методов и инкапсуляция просто уменьшает количество дополнительного кода.
Хотя без отладчика иногда сложно разобраться в высокоуровневой иерархии.
ФП хорош в рекурсиях, итерациях, где можно лаконично описать процесс
и солнце б утром не вставало, когда бы не было меня