Dienstag, 9. Juni 2015

C# unter Linux - Installation und erste Schritte

Die nächsten Posts möchte ich dem Betriebssystem Linux widmen und zeigen, wie man dort C# Programme entwickeln und ausführen kann.
Dieses ist mit dem Mono-Projekt möglich, welches leicht und ohne große Vorkenntnisse eingerichtet werden kann.
Mono ist eine .Net Entwicklungs- und Laufzeitumgebung für verschiedene Plattformen, darunter Linux und Android. Momentan wird die Entwicklung durch die Firma Xamarin vorangetrieben, in meiner Postreihe über App Entwicklung mit C# für Android habe ich schon über das Xamarin Studio berichtet, welches natürlich auf dem Mono Kernel basiert.
Ein großer Vorteil von Mono ist, dass unter Windows kompilierte .Net Programme ohne Neukompilierung direkt auf Linux ausgeführt werden können (und natürlich umgekehrt), die Ausführung ist also wirklich Plattform unabhängig.

Kommen wir zur Installation, welche ich für die Linux Distribution Ubuntu beschreiben werden. Unterschiede in den Distributionen gibt es lediglich bei der Installation, danach ist die Bedienung von Mono etc. gleich. Grundkenntnisse im Bereich der Linux Benutzung werden vorausgesetzt.
Grundlegende Mono Komponenten, wie die Laufzeitumgebung und den Compiler, instalieren wir mit folgender Eingabe im Terminal:

sudo apt-get install mono-complete

Falls diese Operation durchläuft: Herzlichen Glückwunsch, euer Linux kann nun .Net, speziell C#!

Bevor ich im nächsten Post die Benutzung einer komfortablen Entwicklungsumgebung vorstelle, testen wir hier zuerst ein paar grundlegende Funktionen.
Ein nettes Feature ist das Programm csharp. Gibt man diesen Befehl in der Konsole ein, startet eine interaktive C# Shell, in welcher man C# Befehle eingeben kann, was so aussieht:
















Wir verlassen die Shell mit dem Befehl quit.

Nun möchte ich die Verwendung des Mono Compilers zeigen und dessen Aufruf über die Kommandozeile, ähnlich der Verwendung des C++ Compilers gcc.
Dafür schreiben wir ein C# Programm in eine .cs Datei und kompilieren dieses zu einer .exe Datei - fertig (dabei sieht man sehr schön, wie kompakt man ein C# Programm halten kann und was es eigentlich ausmacht - im Gegensatz zu der Programmierung mit Visual Studio o.ä., wobei sehr viele Dateien angelegt werden).
Wir legen also zuerst die Datei HelloWorld.cs an. Dies können wir zum Beispiel über die Konsole machen. Wir navigieren dazu mittels cd in das entsprechende Verzeichnis und geben den Befehl vim HelloWorld.cs ein. vim ist ein Texteditor, den ich am liebsten verwende, wir weisen den Computer mit der Eingabe an, die Datei HelloWorld.cs mit vim zu öffnen - und da sie noch nicht existiert, wird sie erzeugt (wenn die Datei das erste Mal gespeichert wird).
Im sich öffnenden vim Fenster geben wir den folgenden Code ein (vim kann bei der ersten Verwendung etwas trickreich sein, hier findet sich ein gutes Tutorial - und nochmal als Anmerkung, natürlich kann jeder andere beliebige Editor verwendet werden):

using System;

public class HelloWorld
{
        static public void Main()
        {
                Console.WriteLine("Hello from the compiler!");
        }
}

Wir verlassen und speichern die Datei mittels Esc - :x.
Dann rufen wir den Compiler mcs auf:

mcs HelloWorld.cs

Dieser kompiliert die Datei und erstellt, falls der Prozess fehlerfrei durchläuft, die Datei HelloWorld.exe im selben Verzeichnis.
Diese können wir mittels mono HelloWorld.exe aufrufen oder ganz einfach mit:

./HelloWorld.exe

Und schon ist unser erstes C# Programm unter Linux erstellt und der Compiler begrüßt uns.

Davon gibt es hier ein Video zu sehen.