Confusione tra F # e C # [duplicato]

18

Sono abbastanza nuovo per la programmazione funzionale e C # / F #.

Ciò che non mi è chiaro è: puoi fare una programmazione funzionale in C # e / o in F #? O è qualcosa di simile, scrivi qualche codice OO in C # e qualche codice FP in F # e li usi insieme?

    
posta Valentijn Spruyt 30.12.2014 - 11:42
fonte

1 risposta

22

Sia F # che C # sono linguaggi .NET, il che significa che entrambi compilano il codice IL (che è simile al bytecode Java).

Se scrivi il tuo codice per utilizzare un sottoinsieme specifico di IL (chiamato CLS compliant - cioè utilizza solo funzionalità compatibili con tutti . NET), puoi usare una libreria scritta in uno Linguaggio .NET in tutti gli altri linguaggi .NET.

Ora, C # è stato creato come linguaggio orientato agli oggetti - si è evoluto nel tempo e ora ha alcune funzionalità, il che significa che è possibile scrivere in uno stile funzionale in C #.

F # è stato creato come linguaggio funzionale. Non è puro e può avere effetti collaterali (in particolare quando si usano librerie scritte in altri linguaggi .NET, incluse le librerie della classe base).

Non ci sono regole rigide su quale stile usare con quale lingua, ma sì, usare F # per codice funzionale e C # per codice OO ha senso dato che è a questo che è stata creata la lingua e si presta.

E si possono usare insieme, a condizione che il codice sia scritto con l'interoperabilità in mente (non è un requisito difficile, ma può rendere la vita più facile).

    
risposta data 30.12.2014 - 11:51
fonte

Leggi altre domande sui tag