Condividi tramite


Introduzione

Questa specifica si basa su un invio da Hewlett-Packard, Intel e Microsoft, che ha descritto un linguaggio denominato C#, sviluppato all'interno di Microsoft. I principali inventori di questa lingua erano Anders Hejlsberg, Scott Wiltamuth e Peter Golde. La prima implementazione ampiamente distribuita di C# è stata rilasciata da Microsoft nel luglio 2000, come parte della sua iniziativa .NET Framework.

Ecma Technical Committee 39 (TC39) [rinominato in seguito TC49] Task Group 2 (TG2) è stato formato nel settembre 2000, per produrre uno standard per C#. Un altro gruppo di attività, TG3, è stato anche formato in quel momento per produrre uno standard per un ambiente di libreria ed esecuzione denominato Common Language Infrastructure (CLI). L'interfaccia della riga di comando si basa su un subset di .NET Framework. Anche se l'implementazione di C# di Microsoft si basa sull'interfaccia della riga di comando per il supporto della libreria e del runtime, altre implementazioni di C# non devono, purché supportino le funzionalità e le API richieste da questo standard C# (vedere Allegato C).

Man mano che la definizione di C# si è evoluta, gli obiettivi usati nella progettazione sono i seguenti:

  • C# è progettato per essere un linguaggio di programmazione semplice, moderno, generico e orientato agli oggetti.
  • Il linguaggio e le relative implementazioni devono fornire supporto per i principi di progettazione software, ad esempio il controllo dei tipi sicuri, il controllo dei limiti di matrice, il rilevamento dei tentativi di usare variabili non inizializzate e l'operazione di Garbage Collection automatica. L'affidabilità del software, la durabilità e la produttività dei programmatori sono importanti.
  • Il linguaggio è destinato allo sviluppo di componenti software adatti per la distribuzione in ambienti distribuiti.
  • La portabilità del codice sorgente è molto importante, perché è la portabilità del programmatore, soprattutto per i programmatori che hanno già familiarità con C e C++.
  • Il supporto per l'internazionalizzazione è molto importante.
  • C# è progettato per essere adatto per la scrittura di applicazioni sia per sistemi ospitati che incorporati, che vanno dai sistemi operativi molto grandi che usano sistemi operativi sofisticati, fino alle dimensioni molto piccole con funzioni dedicate.
  • Anche se le applicazioni C# sono concepite per essere economiche in relazione ai requisiti di potenza di memoria e elaborazione, il linguaggio non era progettato per competere direttamente sulle prestazioni e sulle dimensioni con C o linguaggio assembly.

Il nome C# è pronunciato "C Sharp".

Il nome C# viene scritto come LETTERA MAIUSCOLA LATINA C (U+0043) seguito da NUMBER SIGN # (U+0023).