Verfasst: 06.01.2012, 14:37
Diese Tutorial-Reihe soll Nutzern ohne Programmiererfahrung einen Einblick in die Softwareentwicklung mit dem Microsoft .NET-Framework geben. Vorkenntnisse oder andere Voraussetzungen sind nicht erforderlich. Ziel dieses Tutorials ist es, die Einstiegshürden in das Thema zu senken, so dass das hier erworbene Wissen später selbstständig erweitert und ausgebaut werden kann.
1. Wen programmieren wir?
Wenn wir eine Software entwickeln, möchten wir, dass der Computer eine bestimmte Aufgabe für uns erfüllt. Das Kernstück eines jeden Computers ist immer der Hauptprozessor (CPU, Central Processing Unit). Dieser arbeitet stupide Anweisungen ab, die er vom Betriebssystem erhält. Diese Anweisungen sind sehr simpel, z.B. die Addition zweier Zahlen oder das Speichern eines Wertes im Hauptspeicher. Die Komplexität, die wir in heutigen Betriebssystemen und den ausgeführten Programmen sehen, ergibt sich erst durch die Intelligenz, die hinter der Entwicklung der Software steht, kombiniert mit der unglaublichen Geschwindigkeit des Hauptprozessors. Dieser ist in der Lage, Milliarden solcher einfachen Befehle innerhalb einer Sekunde auszuführen.
Festzuhalten bleibt, dass ein Programm nichts weiter als eine Aneinanderreihung von simplen Befehlen für den Prozessor darstellt.
2. Quellcode und Programmiersprachen
Um ein Programm zu entwickeln, könnten wir die simplen Befehle für den Hauptprozessor einzelnen aufschreiben und ausführen lassen. Für ein einfaches Programm wären hier aber bereits hunderte oder gar tausende von Zeilen nötig. Weiterhin ist diese Maschinensprache für uns Menschen nur schwer zu lesen und im Kopf zu verarbeiten. Deshalb haben sich mit der Zeit Programmiersprachen entwickelt, die uns die Entwicklung eines Programms auf einem höheren Abstraktionslevel erlauben. Ein Programm, das in einer solchen Programmiersprache geschrieben wurde, wird vom sogenannten Compiler in Maschinencode umgewandelt, der dann vom Hauptprozessor ausgeführt werden kann. So kann es sein, dass eine Zeile in einer höheren Programmiersprache hunderte Zeilen Maschinencode generiert.
Für die Entwicklung eines Programmes schreiben wir Code in einer bestimmten Programmiersprache, den wir in Dateien ablegen. Der Compiler verarbeitet diese Dateien und generiert daraus Maschinencode, unter Windows in Form einer EXE- oder DLL-Datei.
3. Das .NET-Framework
Ein Framework ist ein Rahmen, der die Entwicklung von Software erleichtern soll. Das .NET-Framework bringt viele Komponenten mit, die übliche Aufgaben (wie z.B. das Bearbeiten einer Datei) erledigen. Auf diese Weise müssen wir nicht mit jeder Software die wir schreiben das Rad neu erfinden.
Weiterhin erlaubt uns das .NET-Framework, Quellcode in unterschiedlichen Programmiersprachen zu schreiben (C++, C#, VB, F#, ...). So kann eine Anwendung, die in C# geschrieben ist, eine VB-Bibliothek einbinden.
Das .NET-Framework bringt die Common Language Runtime (CLR) mit sich, was man grob betrachtet als eine Art virtuellen Hauptprozessor verstehen kann. Dieser erlaubt es, dass Anwendungen, die unter Windows entwickelt wurden, ohne Anpassungen auch unter Linux ausgeführt werden können. Dieser Unterschied ist momentan allerdings noch nicht wichtig und wird in einem späteren Kapitel erläutert.
4. Entwicklungsumgebungen
Eine Entwicklungsumgebung (Integrated Development Environment, IDE) ist ein Programm, das uns das Entwickeln von Software erleichtern soll. Für dieses Tutorial verwenden wir die kostenlose Variante des Visual Studios von Microsoft (Visual C# 2010 Express). Sie können selbstverständlich auch eine höhere Variante des Visual Studios verwenden.
Laden Sie sich zunächst den Web-Installer von Visual C# 2010 Express herunter und führen Sie ihn aus. Ich empfehle hier ausdrücklich die englische Version zu wählen, da die meisten Tutorials, die Sie im Netz finden werden, in englisch geschrieben sind. Nachdem Sie die Lizenzvereinbarungen akzeptiert haben, können Sie zusätzliche Komponenten zur Installation auswählen. Für die späteren Tutorial-Teile wird der SQL-Server benötigt werden, deshalb empfehle ich hier die Installation.
[ALIGN="center"][/ALIGN]
Nachdem Sie den Installationspfad ausgewählt haben, wird Visual Studio installiert. Dieser Vorgang kann einige Zeit in Anspruch nehmen. Eventuell ist am Ende der Installation ein Neustart erforderlich.
Die Express-Variante von Visual Studio 2010 lässt sich 30 Tage verwenden, danach müssen Sie sich kostenlos bei Microsoft registrieren. Dies können Sie über Help > Register Product erledigen.
[ALIGN="center"][/ALIGN]
5. Hello World!
Wir sind nun soweit, dass wir unser erstes Programm erstellen können. Es soll eine Konsolenanwendung sein, die die Worte "Hello World!" auf dem Bildschirm ausgibt.
Starten Sie dazu Visual Studio, öffnen Sie den Projektassistenten über File > New Project... und erstellen Sie eine neue Console Application.
[ALIGN="center"][/ALIGN]
Nachdem Sie auf OK geklickt haben, legt der Assistent ein neues Projekt an und Sie sehen die Quellcode-Datei Ihres Programms vor sich. Auf der rechten Seite des Visual Studio-Fensters sehen Sie den Solution Explorer, der alle im Projekt enthaltenen Dateien anzeigt. Für unser Projekt ist dies die Datei Program.cs, die den Quellcode für unser Programm enthält und bereits im linken Teilfenster angezeigt wird.
Sie sehen, dass in der Quellcode-Datei bereits Text eingefügt wurde. Dieser soll uns für den Moment zunächst egal sein, Sie werden im Verlauf des Tutorials verstehen, was diese Anweisungen im Einzelnen bedeuten.
Fügen Sie nun unter den Main-Eintrag diese Zeilen zwischen die geschweiften Klammern ein:
Console.WriteLine("Hello World");
Console.ReadLine();
[ALIGN="center"][/ALIGN]
Diese beiden Anweisungen sorgen dafür, dass der Text ausgegeben wird (WriteLine) und dass sich das Programm nicht sofort wieder beendet, sondern erst mit Drücken der Enter-Taste bestätigt werden muss (ReadLine). Jeder Befehl muss mit einem Semikolon (;) abgeschlossen werden. Es ist noch nicht wichtig, dass Sie die Struktur der eingegebenen Zeilen verstehen, darauf werden wir später zurück kommen.
Drücken Sie nun F5, um das Programm auszuführen. Es öffnet sich ein Konsolenfenster, in dem der gewünschte Text ausgegeben wird und durch einen blinkenden Cursor signalisiert wird, dass auf eine Eingabe gewartet wird. Drücken Sie die Enter-Taste, um das Programm wieder zu beenden.
[ALIGN="center"][/ALIGN]
Herzlichen Glückwunsch, Sie haben soeben Ihre erste (wenn auch rudimentäre) Anwendung geschrieben. Sie können die beiden gelernten Anweisungen nun mehrfach in das Programm einbauen, um zu sehen, wie es sich verhält.
1. Wen programmieren wir?
Wenn wir eine Software entwickeln, möchten wir, dass der Computer eine bestimmte Aufgabe für uns erfüllt. Das Kernstück eines jeden Computers ist immer der Hauptprozessor (CPU, Central Processing Unit). Dieser arbeitet stupide Anweisungen ab, die er vom Betriebssystem erhält. Diese Anweisungen sind sehr simpel, z.B. die Addition zweier Zahlen oder das Speichern eines Wertes im Hauptspeicher. Die Komplexität, die wir in heutigen Betriebssystemen und den ausgeführten Programmen sehen, ergibt sich erst durch die Intelligenz, die hinter der Entwicklung der Software steht, kombiniert mit der unglaublichen Geschwindigkeit des Hauptprozessors. Dieser ist in der Lage, Milliarden solcher einfachen Befehle innerhalb einer Sekunde auszuführen.
Festzuhalten bleibt, dass ein Programm nichts weiter als eine Aneinanderreihung von simplen Befehlen für den Prozessor darstellt.
2. Quellcode und Programmiersprachen
Um ein Programm zu entwickeln, könnten wir die simplen Befehle für den Hauptprozessor einzelnen aufschreiben und ausführen lassen. Für ein einfaches Programm wären hier aber bereits hunderte oder gar tausende von Zeilen nötig. Weiterhin ist diese Maschinensprache für uns Menschen nur schwer zu lesen und im Kopf zu verarbeiten. Deshalb haben sich mit der Zeit Programmiersprachen entwickelt, die uns die Entwicklung eines Programms auf einem höheren Abstraktionslevel erlauben. Ein Programm, das in einer solchen Programmiersprache geschrieben wurde, wird vom sogenannten Compiler in Maschinencode umgewandelt, der dann vom Hauptprozessor ausgeführt werden kann. So kann es sein, dass eine Zeile in einer höheren Programmiersprache hunderte Zeilen Maschinencode generiert.
Für die Entwicklung eines Programmes schreiben wir Code in einer bestimmten Programmiersprache, den wir in Dateien ablegen. Der Compiler verarbeitet diese Dateien und generiert daraus Maschinencode, unter Windows in Form einer EXE- oder DLL-Datei.
3. Das .NET-Framework
Ein Framework ist ein Rahmen, der die Entwicklung von Software erleichtern soll. Das .NET-Framework bringt viele Komponenten mit, die übliche Aufgaben (wie z.B. das Bearbeiten einer Datei) erledigen. Auf diese Weise müssen wir nicht mit jeder Software die wir schreiben das Rad neu erfinden.
Weiterhin erlaubt uns das .NET-Framework, Quellcode in unterschiedlichen Programmiersprachen zu schreiben (C++, C#, VB, F#, ...). So kann eine Anwendung, die in C# geschrieben ist, eine VB-Bibliothek einbinden.
Das .NET-Framework bringt die Common Language Runtime (CLR) mit sich, was man grob betrachtet als eine Art virtuellen Hauptprozessor verstehen kann. Dieser erlaubt es, dass Anwendungen, die unter Windows entwickelt wurden, ohne Anpassungen auch unter Linux ausgeführt werden können. Dieser Unterschied ist momentan allerdings noch nicht wichtig und wird in einem späteren Kapitel erläutert.
4. Entwicklungsumgebungen
Eine Entwicklungsumgebung (Integrated Development Environment, IDE) ist ein Programm, das uns das Entwickeln von Software erleichtern soll. Für dieses Tutorial verwenden wir die kostenlose Variante des Visual Studios von Microsoft (Visual C# 2010 Express). Sie können selbstverständlich auch eine höhere Variante des Visual Studios verwenden.
Laden Sie sich zunächst den Web-Installer von Visual C# 2010 Express herunter und führen Sie ihn aus. Ich empfehle hier ausdrücklich die englische Version zu wählen, da die meisten Tutorials, die Sie im Netz finden werden, in englisch geschrieben sind. Nachdem Sie die Lizenzvereinbarungen akzeptiert haben, können Sie zusätzliche Komponenten zur Installation auswählen. Für die späteren Tutorial-Teile wird der SQL-Server benötigt werden, deshalb empfehle ich hier die Installation.
[ALIGN="center"][/ALIGN]
Nachdem Sie den Installationspfad ausgewählt haben, wird Visual Studio installiert. Dieser Vorgang kann einige Zeit in Anspruch nehmen. Eventuell ist am Ende der Installation ein Neustart erforderlich.
Die Express-Variante von Visual Studio 2010 lässt sich 30 Tage verwenden, danach müssen Sie sich kostenlos bei Microsoft registrieren. Dies können Sie über Help > Register Product erledigen.
[ALIGN="center"][/ALIGN]
5. Hello World!
Wir sind nun soweit, dass wir unser erstes Programm erstellen können. Es soll eine Konsolenanwendung sein, die die Worte "Hello World!" auf dem Bildschirm ausgibt.
Starten Sie dazu Visual Studio, öffnen Sie den Projektassistenten über File > New Project... und erstellen Sie eine neue Console Application.
[ALIGN="center"][/ALIGN]
Nachdem Sie auf OK geklickt haben, legt der Assistent ein neues Projekt an und Sie sehen die Quellcode-Datei Ihres Programms vor sich. Auf der rechten Seite des Visual Studio-Fensters sehen Sie den Solution Explorer, der alle im Projekt enthaltenen Dateien anzeigt. Für unser Projekt ist dies die Datei Program.cs, die den Quellcode für unser Programm enthält und bereits im linken Teilfenster angezeigt wird.
Sie sehen, dass in der Quellcode-Datei bereits Text eingefügt wurde. Dieser soll uns für den Moment zunächst egal sein, Sie werden im Verlauf des Tutorials verstehen, was diese Anweisungen im Einzelnen bedeuten.
Fügen Sie nun unter den Main-Eintrag diese Zeilen zwischen die geschweiften Klammern ein:
Console.WriteLine("Hello World");
Console.ReadLine();
[ALIGN="center"][/ALIGN]
Diese beiden Anweisungen sorgen dafür, dass der Text ausgegeben wird (WriteLine) und dass sich das Programm nicht sofort wieder beendet, sondern erst mit Drücken der Enter-Taste bestätigt werden muss (ReadLine). Jeder Befehl muss mit einem Semikolon (;) abgeschlossen werden. Es ist noch nicht wichtig, dass Sie die Struktur der eingegebenen Zeilen verstehen, darauf werden wir später zurück kommen.
Drücken Sie nun F5, um das Programm auszuführen. Es öffnet sich ein Konsolenfenster, in dem der gewünschte Text ausgegeben wird und durch einen blinkenden Cursor signalisiert wird, dass auf eine Eingabe gewartet wird. Drücken Sie die Enter-Taste, um das Programm wieder zu beenden.
[ALIGN="center"][/ALIGN]
Herzlichen Glückwunsch, Sie haben soeben Ihre erste (wenn auch rudimentäre) Anwendung geschrieben. Sie können die beiden gelernten Anweisungen nun mehrfach in das Programm einbauen, um zu sehen, wie es sich verhält.