Eftersom Raspberry Pi kan driva en fullständig Linux-distribution, är dess potential som utvecklingsverktyg enorm. Pi stöder inte bara de vanliga kompilerade språken som C, C ++ och Java, det stöder också populära skriptspråk som Python, Perl och Lua. Pi kan också använda några av de mindre kända (men lika kraftfulla) sammanställda språken som Googles Go-språk och C #. Att använda den senare på Raspberry Pi är enkelt tack vare Mono-projektet med öppen källkod.

Mono är en uppsättning verktyg (inklusive en C # -samlare och Common Language Runtime) som används för att skapa ".NET" -kompatibla program baserat på de publicerade ECMA-standarderna. I huvudsak låter du kompilera och köra C # -kod på Linux, och de resulterande binärerna är helt kompatibla med Microsoft.NET.

För att installera Mono på Raspberry-användningen:

 sudo apt-get installation mono-complete 

Nästa steg är att sammanställa standard "Hello World" -programmet. Skapa en fil som heter "hello.cs" med din favorit textredigerare. För att skapa det med nano, skriv:

 nano hello.cs 

Klipp och klistra in följande kod:

 använder system; offentlig klass HelloWorld {static public void Main () {Console.WriteLine ("Hello Make Tech Easier"); }} 

C # är ett objektorienterat språk, vilket betyder att allt är definierat i en klass. Koden ovan skapar en klass som heter "HelloWorld", och definierar en funktion inom den kallade "Main". Main () är alltid utgångspunkten för C # -program. "Console.WriteLine" skriver ut text till terminalen (konsol).

För att kompilera programtypen:

 mcs hello.cs 

Detta skapar en fil som heter "hello.exe" i den aktuella katalogen. Vanligtvis används inte binära filer i ".exe" -tillägget, det är något som kommer från DOS och Windows. Om du kontrollerar filtypen "hello.exe" kommer du att se att det faktiskt är en Intel-exekverbar:

 filen hello.exe 

Utgången visar att "hello.exe" är en Mono / .Net-enhet som byggdes för att köras på en dator med Windows, med en Intel-processor. Men vi sammanställde den på Linux, med en ARM-processor!

Detta beror på att .NET faktiskt använder ett mellanliggande språk som tolkas av Common Language Runtime. Början av .exe-filen är den faktiska Intel / Windows-koden som automatiskt startar körtiden och tillåter att resten av programmet (som mellankod) körs.

Det officiella sättet att starta programmet på en Raspberry är via "mono" -kommandot:

 mono hello.exe 

Och som du förväntar dig, kommer utmatningen att visa "Hello Make Tech Easier" i terminalen. Eftersom utmatningen från Mono är binär kompatibel med Windows kan du kopiera filen "hello.exe" till en Windows-dator och köra den direkt.

Det är också möjligt att skriva GUI-program med hjälp av GTK. Men först måste du installera bindningarna mellan Mono och GTK:

 sudo apt-get install gtk-sharp2 

Skapa en fil som heter "hellogtk.cs" med följande kod i den:

 använder Gtk; använder system; klass Hej {static void Main () {Application.Init (); Fönsterfönster = nytt fönster ("Hej MTE"); window.Show (); Application.Run (); }} 

Detta är ett väldigt enkelt GTK-program som öppnar ett nytt fönster. För att kompilera det skriver du:

 mcs hellogtk.cs -pkg: gtk-sharp-2.0 

Pkg-flaggan berättar Mono att det här programmet behöver använda GTK-verktygssatsen. För att köra "hellogtk.exe" måste du se till att skrivbordet körs på din Pi. Från antingen filhanteraren eller från en terminal som startas från skrivbordet, kör binären.

Ett litet fönster öppnas med titeln "Hello MTE." Appen gör inget annat, men det visar att du kan skriva GUI-program på din Pi med C #.

Mono har ett plattforms-IDE systerprojekt, känt som MonoDevelop. Projekten gör det enkelt att skriva skrivbord och ASP.NET webbprogram på Linux, Windows och Mac OSX. Det finns även på Raspberry Pi. För att installera det, skriv följande i en terminal:

 sudo apt-get installera monodevelop 

Om du fastnar med Mono, har projektets supportsida länkar till forum, mailinglistor och vanliga frågor. MonoDevelop har också omfattande dokumentation och en FAQ-sida.