Ортогональны ли FP и OO?

Я слышал это снова и снова, и я пытаюсь понять и подтвердить идею о том, что FP и OO ортогональны.

Прежде всего, что означает ортогональность двух концепций. ?

FP поощряет неизменность и чистоту, насколько это возможно, в то время как объектно-ориентированный объект, кажется, создан для состояний и мутаций - слегка организованная версия императивного программирования? Я понимаю, что объекты могут быть неизменными, но объектно-ориентированный объект, кажется, подразумевает для меня состояние / изменение.

Они кажутся противоположностями. Как это влияет на их ортогональность?

Такой язык, как Scala, упрощает выполнение как объектно-ориентированного программирования, так и функционального программирования, влияет ли это на ортогональность двух методов?

74
задан Jonas 21 October 2010 в 13:36
поделиться