Visual F#
F# è un linguaggio di programmazione che fornisce supporto per la programmazione funzionale e per la programmazione tradizionale imperativa (procedurale) e orientata agli oggetti.Il prodotto Visual F# offre supporto per lo sviluppo di applicazioni F# e l'estensione di altre applicazioni .NET Framework tramite codice F#.F# è un importante membro dei linguaggi .NET Framework e presenta una spiccata somiglianza con la famiglia ML di linguaggi funzionali.
Questa versione di Visual F# contiene la versione 3.0 del linguaggio F#.per informazioni sulle novità, vedere processi.
Linguaggio multiparadigma
F# supporta i costrutti di programmazione funzionale, ad esempio:
Funzioni come valori, che consentono una modifica flessibile delle funzioni.Per ulteriori informazioni, vedere Funzioni come valori di prima classe (F#).
Composizione di funzioni e pipelining, per consentire il concatenamento di funzioni al fine di crearne nuove e semplificare la codifica di operazioni consecutive sui dati.Per ulteriori informazioni, vedere Funzioni (F#).
Inferenza del tipo, che riduce la necessità di chiamare in modo esplicito i tipi senza sacrificare l'indipendenza dai tipi.
Generalizzazione automatica, che promuove il riutilizzo del codice rendendo più semplice la scrittura di codice compatibile con diversi tipi senza alcuno sforzo aggiuntivo.
Supporto per ricerca di corrispondenza, che semplifica il codice condizionale complesso generato, e unioni discriminate ottimizzate per l'utilizzo con ricerche di corrispondenza.
Tipi di raccolta per l'utilizzo di dati non modificabili, tra cui tipi di elenchi e sequenze.
Espressioni lambda, fondamentali per numerosi costrutti di programmazione funzionale.
Applicazione parziale degli argomenti delle funzioni, che consente la creazione implicita di nuove funzioni dalle funzioni esistenti.Per ulteriori informazioni, vedere Funzioni (F#).
Quotation di codice, una funzionalità che consente di modificare le espressioni F# a livello di codice.
F# supporta la programmazione orientata agli oggetti e le funzionalità .NET Framework, tra cui:
Modello a oggetti di .NET Framework, inclusi gli oggetti che dispongono di proprietà, metodi ed eventi; polimorfismo o funzioni virtuali, ereditarietà e interfacce.
Incapsulamento dei dati o separazione dell'interfaccia pubblica di un tipo dall'implementazione.
Overload degli operatori, perfettamente compatibile con tipi primitivi incorporati e generics.
Estensioni dei tipi, che consentono di estendere agevolmente un tipo esistente senza il sovraccarico aggiuntivo necessario per creare un nuovo tipo derivato.
Espressioni di oggetto, che consentono di definire in modo implicito oggetti di piccole dimensioni nelle espressioni in base alle necessità, anziché dichiarare un nuovo tipo e creare un'istanza di un oggetto.
Accesso a .NET Framework e a qualsiasi assembly di codice gestito.
Accesso al codice nativo mediante platform invoke.
Visual F# in Visual Studio 2012 estende il linguaggio F# per supportare la programmazione ricca di informazioni di F#.Questa tecnologia consente di programmare direttamente spazi ricchi di dati e servizi che oggi spesso dominano la programmazione web e d'impresa, come i database, i servizi web, i feed di dati web ed i broker di dati.
La programmazione ricca di informazioni di F# è focalizzata sul codice e può essere utilizzata sia negli script che nei progetti.Consente inoltre di specificare connessioni a database SQL Server e OData direttamente nel codice, fornendo dei tipi forti con supporto IntelliSense.Il meccanismo è estensibile, consentendoti di scrivere o fare riferimento ai nuovi provider per le tecnologie per i dati, i codici e i servizi come SharePoint, web ontologies, Windows Management Instrumentation (WMI), XML e altre fonti di informazione.Tecnicamente, la programmazione ricca di informazioni F# include il meccanismo Provider di tipi F#, Espressioni di query F#e un set di provider del tipo incorporato per database, OData e programmazione del servizio web.
Per ulteriori informazioni, vedere processi.
F# supporta inoltre tutti i costrutti di programmazione imperativi comuni, ad esempio costrutti di ciclo e di creazione di rami.
Librerie F#
Il prodotto Visual F# include inoltre una libreria F# con diversi tipi e funzioni utili,tra cui interfacce API per raccolte quali elenchi, matrici, mappe, set e sequenze.La libreria F# supporta inoltre reflection, eventi e I/O formattato.
Include inoltre il supporto per i flussi di lavoro asincroni per consentire i calcoli paralleli, nonché i meccanismi di comunicazione tra flussi di lavoro paralleli.Per ulteriori informazioni, vedere Flussi di lavoro asincroni (F#), Classe Control.Async (F#) e Classe Control.MailboxProcessor<'Msg> (F#).
La libreria F# principale è FSharp.Core.dll.In F# PowerPack, disponibile sul sito Web relativo al centro per sviluppatori Microsoft F#, sono presenti ulteriori librerie.
Esistono versioni compilate separatamente della libreria di base F# che supportano diverse versioni di .NET Framework.La versione 2.0 supporta .NET Framework 2.0, 3.0 e 3.5 e la versione 4.0 supporta .NET Framework 4 e le versioni successive di .NET Framework.Inoltre, le versioni della libreria di base F# per Silverlight sono disponibili per il download.
Scripting interattivo
Visual F# fornisce una finestra interattiva integrata nell'ambiente di sviluppo di Visual Studio.Questa finestra consente di immettere codice F#, che verrà immediatamente compilato ed eseguito.In questo modo sarà possibile creare agevolmente prototipi di costrutti di codice e testare il codice in fase di scrittura.La finestra interattiva esegue lo strumento interattivo di F#, fsi.exe, che è possibile eseguire anche dalla riga di comando.Questa funzionalità consente l'utilizzo di F# come linguaggio di script.Per ulteriori informazioni, vedere Riferimenti per F# Interactive (fsi.exe).
Integrazione con Visual Studio
F# è integrato con Visual Studio e offre supporto per gli elementi seguenti:
Progetti, inclusi modelli per i tipi di progetti comuni.Per ulteriori informazioni, vedere Utilizzo di Visual Studio per la scrittura di programmi F# e Configurazione di progetti (F#).
IntelliSense.Per ulteriori informazioni, vedere Utilizzo di IntelliSense.
Debug.Per ulteriori informazioni, vedere Debug in Visual Studio.
Per ulteriori informazioni, vedere Funzionalità dell'ambiente di sviluppo di F#.
Argomenti correlati
Titolo |
Descrizione |
---|---|
Vengono fornite informazioni su cosa c'è di nuovo nella release corrente di Visual F#. |
|
Punto di partenza per un'ampia gamma di informazioni su F#. |
|
Vengono fornite informazioni sull'utilizzo di F# in IDE (Integrated Development Environment), tra cui le impostazioni del progetto e IntelliSense. |
|
Vengono fornite informazioni di riferimento sul linguaggio F#, tra cui informazioni su parole chiave, simboli e operatori. |
|
Vengono fornite informazioni di riferimento sulla libreria di base F#, FSharp.Core.dll. |
|
Vengono fornite informazioni sul compilatore F#, fsc.exe, incluse informazioni sulle opzioni del compilatore. |
|
Vengono fornite informazioni su F# Interactive, fsi.exe, tra cui informazioni sulle opzioni da riga di comando e sui messaggi di diagnostica specifici di F# Interactive. |
|
Vengono forniti collegamenti a procedure dettagliate ed esempi relativi a F#. |