C sharp: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Eliminato il parametro "Immagine" nel template "Linguaggio di programmazione"
Funzionalità collegamenti suggeriti: 2 collegamenti inseriti.
Riga 124:
C# è, in un certo senso, il linguaggio che meglio degli altri descrive le linee guida sulle quali ogni programma [[Microsoft .NET|.NET]] gira. Infatti è stato creato da [[Microsoft]] specificatamente per la programmazione nel [[Framework]] [[Microsoft .NET|.NET]]. I suoi tipi di dati "primitivi" hanno una corrispondenza univoca con i tipi [[Microsoft .NET|.NET]] e molte delle sue astrazioni, come ''classi'', ''interfacce'', ''delegati'' ed ''eccezioni'', sono particolarmente adatte a gestire il [[Microsoft .NET|.NET]] framework. È divenuto quindi il linguaggio ordinario per realizzare software in ambiente Windows.
 
Definire in forma classica C# come linguaggio interpretato o compilato nel senso classico dei termini è piuttosto complicato. In effetti è ambedue le cose allo stesso tempo. Data la sua stretta integrazione con il Framework [[Microsoft .NET|.NET]], i codici sorgente scritti in C# sono normalmente compilati secondo i criteri [[Compilatore just-in-time|JIT]]. In pratica, la trasformazione in codice macchina (ovvero eseguito direttamente dalla [[CPU]]) viene compiuta solo all'atto di caricamento ed esecuzione del programma. In prima istanza il [[codice sorgente]] viene convertito dal framework in un codice intermedio detto [[Common Intermediate Language|CIL]] e solo all'esecuzione del programma il [[Common Language Runtime|CLR]] specifico per il [[sistema operativo]] utilizzato converte il CIL in [[linguaggio macchina]] specifico per l'[[hardware]] ospite, man mano che viene eseguito. Ciò comporta che l'esecuzione del codice può risultare più lenta alla prima esecuzione diventando poi più veloce. Inoltre, vengono tipicamente svolte durante la compilazione stessa delle ottimizzazioni progressive del codice macchina, producendo così un codice eseguito più velocemente e teoricamente "ottimale" solo dopo alcune esecuzioni complete dello stesso.
 
Una seconda possibilità è la cosiddetta ''compilazione Ngen'', che permette di convertire tutto il codice CIL in codice macchina in una volta sola. Ciò ha il vantaggio di consentire l'implementazione di ambienti di sviluppo che utilizzino C# in qualunque sistema operativo, una volta implementato il [[Common Language Runtime|CLR]] specifico.
Riga 379:
== Implementazioni ==
 
Il [[compilatore]] di riferimento è [[Microsoft]] [[Visual C#]], parte del pacchetto [[Microsoft]] [[Visual Studio]] e attualmente [[open source]]<ref>{{Cita web|url=https://github.com/dotnet/roslyn|titolo=DonTen Roslyn project on GutHub|lingua=EN}}</ref>.
 
Esistono sul mercato e nei circuiti dell'[[open source]] altre implementazioni.