Ho sentito più volte e sto cercando di capire e convalidare l'idea che FP e OO sono ortogonali.
Prima di tutto, cosa significa che 2 concetti sono ortogonali?
FP incoraggia l'immutabilità e la purezza il più possibile. e OO sembra qualcosa di costruito per lo stato e la mutazione (una versione leggermente organizzata della programmazione imperativa?). E mi rendo conto che gli oggetti possono essere immutabili. Ma OO sembra implicare lo stato / il cambiamento per me.
Sembrano opposti. Ciò significa che sono ortogonali?
Un linguaggio come Scala rende facile eseguire OO e FP entrambi, ciò influisce sull'ortogonalità dei 2 metodi?