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