Se Java consente classi immutabili, allora perché non può essere usato come un linguaggio funzionale [chiuso]

4

Ho avuto problemi con i concetti di programmazione funzionale per un po '. Ho letto che nella programmazione funzionale, l'immutabilità variabile è una cosa fondamentale. Non cambi lo stato di una variabile.

Ma posso ottenere lo stesso effetto in Java usando la parola chiave 'final'? Quindi, perché Java non può essere usato come linguaggio funzionale?

    
posta Kaushik 29.09.2015 - 16:58
fonte

1 risposta

4

Certo, puoi programmare in uno stile funzionale in Java. È davvero molto difficile, perché c'è molto di più oltre all'immutabilità. Uno di quelli grandi è la funzione di prima classe, (essendo in grado di trattare una funzione come riferimento come variabile, senza che debba essere legata a un oggetto), che il linguaggio Java non ha fornito alcuna funzionalità fino a poco tempo fa, quando lambdas sono stati introdotti.

Anche ora che è possibile, ci sono ancora 20 anni di codice Java legacy in giro che non ha alcun concetto di programmazione funzionale, con cui probabilmente il tuo codice dovrà interagire, in modo da renderne l'utilizzo più difficile di quanto probabilmente dovrebbe essere.

    
risposta data 29.09.2015 - 17:34
fonte

Leggi altre domande sui tag