C# è un linguaggio di programmazione orientato agli oggetti, sviluppato da microsoft, che prende spunto da linguaggi come C++, Java, Delphi e Visual Basic.

Come Java ha bisogno di Java Runtime per poter eseguire i vari software, C# ha bisogno della piattaforma .NET (dot NET), il problema è che .NET attualmente è disponibile solo per windows (anche se a quanto pare la futura .NET 5 core sarà opensource e sarà compatibile anche con Linux e Mac), per questo motivo nasce il progetto Mono.

 

C# su Linux

 

Mono nasce come un’implementazione libera e OpenSource di .NET, attualmente Mono non garantisce una piena compatibilità con .NET, potrebbe capitare che manchino alcune funzionalità e implementazioni che sono presenti nel framework di microsoft.

 

Quindi grazie a Mono, possiamo programmare in C# anche su Linux senza grossi problemi, per installarlo su ArchLinux ci basterà digitare il seguente comando da terminale

sudo pacman -S mono

A questo punto abbiamo installato il framework che ci consente di compilare ed eseguire i nostri software C#, ma se volessimo un IDE pensato appositamente per C#? certo potremmo scrivere software in C# anche semplicemente usando un banale editor di testo, come mousepad, gedit, medit, ecc… ma un IDE come Visual Studio è molto più comodo e produttivo, grazie alle tante funzionalità, l’IDE proposto dal team di Mono, si chiama Monodevelop, e anche questo è un software opensource e possiamo installarlo in ArchLinux con il comando

sudo pacman -S monodevelop

ora abbiamo tutto quello che ci serve, quindi apriamo monodevelop e scriviamo il nostro primo software

 

Creaiamo un nuovo progetto e inseriamo queste linee di codice, che non faranno altro che stampare in output la stringa “Hello World”

class Hello {
    static void Main() {
    System.Console.WriteLine(Hello World);
    }
}

 

Il software crea una classe di nome Hello all’interno della quale c’è un solo metodo (il medoto Main, che in C# va sempre scritto con la M maiuscola) che stampa in output la stringa “Hello World” tramite l’istruzione

System.Console.WriteLine(Hello World);

Analizzando questa istruzioni noi invochiamo il metodo “WriteLine” (che stampa una stringa in output) contenuta dentro alla classe “Console” che si trova in “System”.

 

In alternativa possiamo includere di default “System” e scrivere il software in questo modo

using System;

class Hello {
    static void Main() {
        Console.WriteLine(Hello World);
    }
}

In questo modo System viene usato di default e quindi l’istruzione

System.Console.WriteLine(Hello World);

viene cambiata in

Console.WriteLine(Hello World);

 

Ora potete scrivere software in C# anche in Linux, io Mono e Monodevelop li uso per programmare in C# in università come alternativa a .NET e VisualStudio