What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
C# nacque nel progetto .NET di Microsoft, in un’epoca in cui Java aveva reso familiare l’idea di un linguaggio moderno gestito e portabile. Microsoft lo presentò come un’alternativa praticabile a Java su Windows; la storia, però, non è quella di una semplice copia. C# fu progettato per l’iniziativa .NET e poi si sviluppò attraverso standardizzazione e nuove funzionalità fino a diventare un linguaggio con una propria traiettoria.
Perché Microsoft sviluppò C#
Alla fine degli anni Novanta e all’inizio dei Duemila, Microsoft stava costruendo .NET, un’iniziativa che comprendeva un ambiente di esecuzione, librerie e strumenti per lo sviluppo di applicazioni. Serviva un linguaggio moderno che si integrasse con quell’ecosistema. Java era un riferimento importante perché aveva reso noto il modello di un linguaggio gestito e utilizzabile su più piattaforme, ma C# nacque nel contesto strategico e tecnico di .NET, non come progetto separato il cui unico scopo fosse replicare Java.
La cronologia ufficiale Microsoft descrive C# 1.0 come «a viable alternative to Java on the Windows platform», cioè un’alternativa praticabile a Java sulla piattaforma Windows. La precisazione geografica e tecnica conta: è il posizionamento attribuito da Microsoft al primo rilascio, non la prova che i due linguaggi fossero identici o che C# fosse allora un’alternativa equivalente in ogni ecosistema.
Come è nato C#: annuncio, implementazione e rilascio
Le date spesso riassunte come “l’anno in cui uscì C#” indicano eventi diversi: annuncio pubblico, prima implementazione ampiamente distribuita e disponibilità della versione 1.0 con Visual Studio. La specifica C# e la cronologia Microsoft li distinguono.
#1 Best Overall
| Data | Evento | Che cosa significa |
|---|---|---|
| 26 giugno 2000 | Microsoft annuncia C# come nuovo linguaggio per .NET. | È l’annuncio, non il rilascio della versione 1.0. Fonte: Microsoft, annuncio del 2000. |
| Luglio 2000 | La specifica Microsoft colloca la prima implementazione ampiamente distribuita. | Non va confusa con l’uscita del prodotto Visual Studio .NET 2002. Fonte: Microsoft, specifica C#. |
| Settembre 2000 | La specifica riferisce la formazione di gruppi ECMA distinti per C# e per la CLI. | La standardizzazione del linguaggio e quella dell’infrastruttura di esecuzione seguirono percorsi separati. Fonte: Microsoft, specifica C#. |
| Gennaio 2002 | C# 1.0 arriva con Visual Studio .NET 2002. | È il rilascio del prodotto che Microsoft descrive come alternativa praticabile a Java su Windows. Fonte: Microsoft, cronologia di C#. |
Chi ha inventato C#?
C# non è il lavoro di un solo autore. La specifica Microsoft indica come principali inventori Anders Hejlsberg, Scott Wiltamuth e Peter Golde. Hejlsberg è spesso il nome più noto associato al linguaggio, ma attribuire l’invenzione a una sola persona semplifica eccessivamente il contributo del gruppo.
C# è una copia di Java?
La risposta più precisa è no: i due linguaggi condividevano un contesto di sviluppo e alcune idee generali, ma C# fu progettato per l’iniziativa .NET e non va descritto come una copia. Nel momento storico del lancio, Microsoft lo presentò come alternativa a Java su Windows; questa formulazione dice qualcosa sul posizionamento competitivo, non dimostra un’identità di design.
Rank #2
Anche la portabilità va letta nel suo contesto. Il fatto che Java fosse associato a un modello portabile non significa che C# 1.0 avesse già la stessa storia di distribuzione tra piattaforme. La documentazione Microsoft colloca il primo C# nel progetto .NET e la descrizione di “alternativa” specifica Windows. Le versioni moderne non vanno proiettate retroattivamente sul 2000: le funzionalità, gli strumenti e gli ambienti disponibili sono cambiati nel corso degli anni.
Il rapporto tra C#, .NET e CLI
C# è il linguaggio di programmazione; .NET è una piattaforma che mette a disposizione runtime, librerie e strumenti. Non sono sinonimi: si può parlare delle regole sintattiche e semantiche di C# senza confonderle con i servizi forniti dalla piattaforma su cui il programma viene eseguito.
La specifica distingue inoltre C# dalla Common Language Infrastructure (CLI), l’infrastruttura che definisce elementi per eseguire programmi e interagire tra linguaggi. C# e CLI furono sottoposti a percorsi di standardizzazione separati. La specifica afferma anche che un’implementazione conforme non deve necessariamente utilizzare l’implementazione Microsoft della CLI, purché rispetti i requisiti dello standard. Perciò il legame storico con .NET è centrale, ma non rende il linguaggio e una singola implementazione del runtime la stessa cosa.
Le tappe che hanno cambiato il linguaggio
Le versioni successive mostrano come C# abbia ampliato il proprio modello di programmazione, andando oltre la funzione iniziale di linguaggio per .NET. La cronologia Microsoft evidenzia alcuni passaggi particolarmente significativi.
Rank #4
- C# 2.0, 2005: introduce i generics, che consentono di scrivere tipi e metodi parametrizzati.
- C# 3.0, 2007: porta LINQ, espressioni lambda, alberi di espressione, tipi anonimi e proprietà implementate automaticamente. Queste aggiunte rendono più espressivo il lavoro con dati e funzioni.
- C# 5.0, 2012: introduce
asynceawaitper strutturare il codice asincrono. - C# 6.0, 2015: aggiunge funzionalità che riducono il codice ripetitivo; nello stesso periodo Microsoft rilascia Roslyn come compilatore-as-a-service. Microsoft segnala anche che il compilatore C# è scritto in C#.
- C# 14, novembre 2025: la cronologia Microsoft riporta, tra le novità, extension members e l’assegnazione null-conditional. È la versione più recente indicata nella cronologia consultata, non una previsione su rilasci successivi.
Questi passaggi aiutano a capire perché la storia di C# non si esaurisce nel confronto con Java al lancio: il linguaggio ha continuato a evolversi con nuove capacità e strumenti.
Recommended Free Tools
Perché la rivalità con Java non basta a spiegare C#
“La risposta di Microsoft a Java” è un modo efficace per introdurre la vicenda, ma incompleto se diventa tutta la spiegazione. C# apparve come parte della strategia .NET; fu sviluppato da un gruppo; linguaggio e infrastruttura di esecuzione seguirono percorsi distinti di standardizzazione; e le versioni successive introdussero capacità che ampliarono sensibilmente il linguaggio. Il confronto con Java descrive il contesto competitivo iniziale, mentre .NET e l’evoluzione delle versioni spiegano meglio che cosa C# sia diventato.
Best Value
Fonti primarie: introduzione alla specifica C#, cronologia delle versioni di C# e annuncio Microsoft del giugno 2000.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

