News Secondaria di secondo grado Coding Informatica

Il linguaggio di programmazione C#

Speciale Coding

di  Emanuele Bottazzi

Scarica l'articolo in PDF

Cara lettrice, caro lettore,
sapevi che, secondo la Online Historical Encyclopaedia of Programming Languages, dal XVIII secolo a oggi sono stati sviluppati quasi novemila linguaggi di programmazione? In realtà oggi se ne usano molti di meno: per esempio, i progetti ospitati sulla piattaforma GitHub, usata da più di quaranta milioni di sviluppatori, sono realizzati con meno di quattrocento linguaggi diversi.

Il processo di sviluppo dei linguaggi di programmazione

Ogni linguaggio di programmazione ha un ciclo di vita. Per prima cosa nasce, cioè viene sviluppato e poi rilasciato per l’utilizzo. Dopo il rilascio il programma non rimane così com’è, ma entra in un’ulteriore fase di crescita. Possiamo riconoscere questa fase per esempio in un linguaggio di programmazione ormai datato, ma ancora molto popolare: il C. La prima versione è stata rilasciata nel 1972, ma il suo sviluppo non si è mai fermato: negli anni ’80 ne sono state implementate varie versioni ottimizzate per diversi tipi di piattaforma (mainframe, minicomputer e così via), tanto che fu necessario stabilirne una versione standard. Lo standard ANSI C venne definito nel 1990, ma nemmeno questo fu il punto finale dell’evoluzione del linguaggio. Ulteriori versioni vennero rilasciate alla fine degli anni ’90, nel 2011 e nel 2019. Questo percorso non è ancora terminato: ancora oggi è corso di sviluppo la prossima evoluzione del C, che già entro la fine del 2021 potrebbe diventare il nuovo standard di riferimento per questo linguaggio.
Lo sviluppo di un linguaggio di programmazione può durare molto a lungo. Nel caso del C, è in corso da quasi cinquant’anni! Prima o poi, però, potrebbe emergere un nuovo linguaggio in grado di renderlo obsoleto. Questo è successo per esempio al Pascal: rilasciato nel 1970, dopo un periodo di grande diffusione (basti pensare che negli anni ’80 era il linguaggio di programmazione più insegnato nelle università) all’inizio degli anni ’90 è stato soppiantato dal C e poi dal C++. Il suo sviluppo non si è arrestato del tutto, ma oggi il Pascal si può considerare al termine del suo ciclo di vita.

Molti linguaggi per molti scopi

Come mai esistono così tanti linguaggi di programmazione e come mai ne vengono continuamente sviluppati di nuovi, a scapito di quelli precedenti? Il motivo va cercato negli scopi per cui ciascun programma viene realizzato. Per esempio, il FORTRAN, che risale agli anni ’50, è stato creato per sostituire il coding in linguaggio macchina. L’introduzione del C++ invece è stata motivata dal desiderio di estendere il linguaggio C a un nuovo linguaggio orientato agli oggetti. Un altro successore di C e C++ è C#, introdotto nel 2000. Anch’esso è orientato agli oggetti ed è molto più versatile dei suoi predecessori.

I mille usi del C#

Uno dei punti di forza del C# è permettere lo sviluppo di applicazioni multipiattaforma, cioè che possono funzionare su dispositivi diversi (per esempio Windows, Linux e Mac sui personal computer e Android o iOS sui dispositivi mobili). Infatti, uno stesso codice C# può essere richiamato da diverse interfacce grafiche ottimizzate per ciascuna piattaforma.
Per lo stesso motivo, il C# è utilizzato anche nello sviluppo di videogiochi. Per esempio, la piattaforma Unity per lo sviluppo di videogiochi in 3D utilizza C#. Questo le permette di realizzare giochi che possono essere rilasciati per Windows, Linux, Mac e dispositivi mobili. Unity è utilizzata per esempio dalla Blizzard Entertainment, che l’ha adottata per realizzare il gioco di carte collezionabili Heartstone.
Un altro vantaggio di C# è la quantità di librerie che permettono di aumentare le funzionalità del linguaggio. Per esempio, sono disponibili librerie per la gestione dei database, per lo sviluppo di programmi con multithreading (funzionalità non disponibile per esempio nel C++, che deve affidare la gestione dei processi al sistema operativo), ma anche per la simulazione di computer quantistici.

Per approfondire

  • Il sito che riporta l’albero genealogico dei linguaggi di programmazione non è attualmente online, ma la pagina è stata archiviata nel marzo 2021 e si può consultare qui: https://web.archive.org/web/20210301031609/https://hopl.info/
  • Il FORTRAN è usato ancora oggi in tutti quegli ambiti in cui l’uso di linguaggi più moderni, ma che utilizzano più risorse, rallenterebbe troppo l’esecuzione dei programmi. Questo accade per esempio nell’ambito delle previsioni meteorologiche, nell’esecuzione di modelli matematici e fisici, nonché nella chimica computazionale.
  • Nel webinar di Valentina Falucca e Pietro Palladino è spiegato come realizzare un’applicazione multipiattaforma con interfaccia grafica: https://www.rizzolieducation.it/webinar/finalmente-interfaccia-grafica/
  • Il sito ufficiale di Unity: https://unity.com/