Home Page Home Page News F# un nuovo linguaggio .NET in arrivo

F# un nuovo linguaggio .NET in arrivo

Microsoft sta studiando e sviluppando a Cambridge in Gran Bretagna un nuovo linugaggio chiamato F# che si affiancherà ai già noti C# e VB.NET, ecco le novità.
O'Caml
Caml è un linguaggio di programmazione che discende dalla famiglia dei Meta Linguaggi ML che venne sviluppato da INRIA (Institut National de Recherche en Informatique) in pratica l'istituto nazionale di ricerca per l'informatica francese negli anni 1985-1990. Successivamente cambiò in O'Caml dopo l'incorporazione di un nuovo modulo.

E' un linguaggio general-purpose, imperativo ed orientato agli oggetti. Anch'esso è dotato di una gerarchia di classi già pronte che permettono la costruzione di programmi molto estesi come numero di righe di codice e dall'architettura e la modellazione complessa. E' consigliato a programmatori di esperienza.

Il linguaggio come già detto è corredato da un set di classi che permettono di fare calcoli aritmetici particolari, multi-threading e delle librerie per costruire un'interfaccia grafica (GUI). Inoltre ci sono anche un debugger e un profiler.
Può anche essere interfacciato con altri programmi scritti in altri linguaggi come il C.

Microsoft F#
Dopo questa breve introduzione su O'Caml quindi possiamo anche parlare un po' di questo sconosciuto.
F# è in pratica un subset, un sottoinsieme di O'Caml, ed è un'implementazione del nucleo del linguaggio O'Caml orientata chiaramente al .NET Framework.
Microsoft tenterà quindi di integrare i linguaggi già esistenti come C# e VB.NET in modo da garantire anche un interoperabilità con il nuovo F#. In pratica tutti i tipi e i valori di un programma F# saranno anche accessibili dai classici linguaggi .NET.

Perchè un nuovo linguaggio ?
Linguaggi imperativi come C e Java non permettevano un buono sviluppo delle applicazioni perchè avevano carente supporto per l'astrazione e per la gestione dei dati, quindi strutture dati avanzate, infatti proprio il C++ veniva in aiuto fornendo alcune caratteristiche nuove ed importanti come le classi, ereditarietà, polimorfismo, overloading e via di seguito.

I linguaggi seguenti come Java e C# nonostante fossero strong-typed e quindi avendo una gerarchia di classi ben definita, però creavano un po' di confusione a causa dei numerosi costruttori delle classi, metodi, ecc. e quindi per il programmatore era ed è più complicato decidere che strada seguire per modellare la sua applicazione.
In compenso per svolgere compiti semplici (nonostante con C# sia migliorato di parecchio) erano e sono necessarie molte istruzioni.

Al contrario un linguaggio come Caml e quindi F# offrono un set di istruzioni molto limitato in modo da scrivere programmi molto concisi senza però rinunciare ad architetture complesse e a performance elevate.

Sarà possibile compilare il codice in bytecode O'Caml, in O'Caml nativo o direttamente in F#. Con F# si potrà avere accesso, se sarà necessario, anche alle librerie del .NET Framework. Microsoft ha già reso disponibile una versione beta del compilatore F#.

Un esempio di codice F#


open System
open System.Windows.Forms

let form = new Form()

let _ = form.Text <- "1st F# App"
let menu = form.Menu <- new MainMenu()
let mnuFile = form.Menu.MenuItems.Add("&File")
let mnuiSayHelloI = new MenuItem("&Say Hello", new EventHandler(fun sender e -> form.Text <- "Hello"), Shortcut.CtrlH)
let mnuiSayHello = mnuFile.MenuItems.Add(mnuiSayHelloI)

let _ = Application.Run(form)


Solamente con 9 istruzioni è possibile costruire una finestra WinForm completa di menù come rappresentato qui di seguito:

Il programma in esecuzione
Il programma in esecuzione

News Collegate


Non è presente nessuna news collegata. Torna all'elenco news 
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5