IDE-Visual Studio 2010 C# Konzept von C#.NET Framework Visual Studio 2010
C# C# Der Name ist rein Zufällig entstanden und ist auch keine Abkürzung. C# C# ist ursprünglich ein Symbol für den in der Musik durch ein Kreuz (#) um einen Halbton erhöhten Ton C, das Cis in englisch: C sharp. Es ist nicht bekannt ob die Entwickler von C# auch Musiker waren. 14_IDE_Visual_Studio 2010_v1.3.pptm 2
Entwicklung von C# Programmiersprache C# von Microsoft entwickelt Chefentwickler Anders Hejlsberg (Delphi/Borland C#/MS.) 2000: Microsoft, HP und Intel reichen C# bei der Europäischen Normungsorganisation ECMA ein 2001: Veröffentlichung der Norm ECMA-334 C# Language Specification 2003: ISO Normierung Für.NET Framework konzipiert Net Version 1.0 aus 2002 4.0 (04/2010) Objektorientierte, plattformunabhängige Sprache Konzepte aus: Java, C++, SQL, C, Delphi 14_IDE_Visual_Studio 2010_v1.3.pptm 3
Wo ist der Einsatz von C# sinnvoll? Verschiedene Technologien entsprechend Stärken und Schwächen einsetzen Pro C#: Schnelles Prototyping bzw. GUI Entwicklung Viele High-Level Libs. Schneller Einstieg Contra C#: schnelle Algorithmen bzw. Echtzeit ggf. schwierig de fakto Windows 14_IDE_Visual_Studio 2010_v1.3.pptm 4
C# und.net VB,C#: CIL: Sprachen, in denen Programme geschrieben werden Universalsprache. Diese wird zu runtime interpretiert CLR: Run-Time Engine, Ausführung der CIL auf Maschine Ausführbare Einheiten heißen Assemblies 14_IDE_Visual_Studio 2010_v1.3.pptm 5
[C]IL-Code Ist C# nun eine Compiler- oder eine Interpreter-Sprache? Nun, es ist beides. Erstellen und Ausführung von C#-Programmen C#-Quelltext wird zunächst mit einem Compiler (der csc heisst) übersetzt, allerdings nicht in den Maschinencode eines bestimmten Prozessors, sondern in sogenannte Intermediate Language Code, kurz IL-Code. Man kann sich diesen IL-Code als den Maschinencode eines virtuellen Prozessors vorstellen, d.h. eines Prozessors, den es als Hardware gar nicht gibt. Damit der IL-Code nun von einem realen Prozessor ausgeführt werden kann, muss er während der Programmausführung in dessen Maschinencode übersetzt werden, d.h., zum Ausführen von C#-Programmen ist ein Interpreter notwendig. 14_IDE_Visual_Studio 2010_v1.3.pptm 6
CLR Common Language Runtime (CLR) Laufzeitumgebung, der Teil des.net Frameworks, welcher für die Ausführung der Anwendungen verantwortlich ist Beim Aufruf einer.net-anwendung schaltet sich die Common Language Runtime ein Die Common Language Runtime beinhaltet den JIT-Compiler, welcher den IL- Code nach und nach in Maschinencode übersetzt, der schliesslich zur Ausführung an den Prozessor des Rechners übergeben wird Bibliotheken.NET-Bibliotheken sind ein Fundus an Programm-Modulen, die nach belieben in der eigenen Anwendung benutzt werden können 14_IDE_Visual_Studio 2010_v1.3.pptm 7
Ihr Rechner static void main() C#-Quelltext { } C#-Compiler 01010101010 01010101001 01010101001 IL-Code (plattformunabhängig) InterpreterWi n 98 InterpreterWi n NT InterpreterWi n XP/Vista Win 98 14_IDE_Visual_Studio Win NT 2010_v1.3.pptm Win XP/Vista 8
Vorteile des IL-Code (1) Vorzüge des IL-Codes (Intermediate Language Code) Geschützter Code Programmcode ist nicht einsehbar, da kompiliert Schnelligkeit Der vorkompilierte IL-Code kann wesentlich schneller interpretiert werden als reiner Quelltext IL-Code ist sogar so schnell, dass dieser nicht mehr Interpreter, sondern Just-in-Time-Compiler genannt wird Der Just-in-Time-Compiler, auch JIT-Compiler verarbeitet den IL-Code stückweise und nach Bedarf Der JIT-Compiler übersetzt den IL-Code abschnittsweise, wobei dieser stets die Codeteile aussucht, die vom Anwender gerade benötigt werden 14_IDE_Visual_Studio 2010_v1.3.pptm 9
Vorteile des IL-Code(2) Plattformunabhängigkeit Der IL-Code ist plattformunabhängig C#-Quellcode wird einmal übersetzt und läuft dann auf sämtlichen Systemen, welche einen JIT-Compiler installiert haben Der JIT-Compiler ist fester Bestandteil des.net Frameworks. In Zukunft werden alle Windows-Betriebssysteme (seit XP bereits vorhanden) das.net Framework integriert haben. Somit gehört das.net Framework und damit der JIT-Compiler zur Grundausstattung jedes Windows-PCs 14_IDE_Visual_Studio 2010_v1.3.pptm 10
Vorteile des IL-Code (3) Sprachunabhängigkeit Der JIT-Compiler übersetzt IL-Code und führt ihn in der Umgebung des.net Frameworks aus. Daher ist egal, mit welcher Sprache der Quelltext ursprünglich erstellt wurde. Wenn der Quelltext mit einem Compiler übersetzt wurde, der als Ergebnis korrekten IL-Code liefert, kann das Programm auf jedem Rechner, auf dem das.net Framework installiert ist, aufgerufen und ausgeführt werden. Beispiele von Programmiersprachen: C# C++ Visual Basic 14_IDE_Visual_Studio 2010_v1.3.pptm 11
.NET Framework Was beinhaltet das.net Framework (stark vereinfacht) JIT-Compiler (Interpreter) Code-Bibliothek.NET-Initiative Antwort von Microsoft auf die Programmiersprache JAVA Wichtigsten Komponenten des.net Frameworks Common Language Runtime (CLR) Bibliotheken 14_IDE_Visual_Studio 2010_v1.3.pptm 12
.NET Plattform Interoperability (Zugriff Nicht-.NET Komponenten) Common Runtime Engine Language Independence, Common Type System Base Class Library Security (keine Buffer overflows etc.) Portability (theoretisch) Garbage Collector (GC) 14_IDE_Visual_Studio 2010_v1.3.pptm 13
Integrated Development Plattformen (IDE) IDE ist eine Sammlung von Anwendungsprogrammen, mit denen die Aufgaben der Softwareentwicklung (SWE) möglichst ohne Medienbrüche bearbeitet werden können. Integrierte Entwicklungsumgebungen für den SWE-Teilbereich Programmierung verfügen in der Regel über folgende Komponenten: Texteditor Compiler bzw. Interpreter Linker Debugger Quelltextformattierungsfunktionen Entwicklungsplattformen für C# Microsoft Visual Studio.NET SharpDevelop (Open Source) KDevelop (Open Source) MonoDevelop - IDE für Unix-basierte Betriebssysteme (Open Source) Visual C# Express (Eingeschränkte kostenlose Version von Microsoft Visual Studio.NET) C#-Builder von Borland (Verwendet den Microsoft C#-Compiler in Lizenz) Baltie, C#-IDE für Kinder 14_IDE_Visual_Studio 2010_v1.3.pptm 14
Installation Visual Studio Installation Siehe separates Word-Dokument Zusätzlich sind noch die IBZ-spezifischen Templates IBZ-Klasse.zip und IBZKonsolenanwendung.zip in den VisualStudio-Ordner zu kopieren. (Falls Ordner Template nicht vorhanden bitte anlegen.) Diese Templates finden Sie auf der Homepage des Dozenten im Downloadbereich. IBZ-Klasse.zip kopieren in Ordner ItemTemplates IBZKonsolenanwendung.zip in Ordner ProjectTemplates Einstellen der Pfade in VisualStudio auf die Ablageorte der soeben kopierten Dateien Einstellen Sie sollten nun Vorlagen mit dem IBZ-Würfel sehen. Wir arbeiten in diesem Kurs ausschliesslich mit diesen Templates. 14_IDE_Visual_Studio 2010_v1.3.pptm 15
Visual Studio 2010 Uebersichtliche integrierte Projektverwaltung Konfigurierbar Wählbarer Applikationstyp Intelligenter Editor 14_IDE_Visual_Studio 2010_v1.3.pptm 16
Codeansicht 14_IDE_Visual_Studio 2010_v1.3.pptm 17
Entwurfsansicht 14_IDE_Visual_Studio 2010_v1.3.pptm 18
Debugansicht 14_IDE_Visual_Studio 2010_v1.3.pptm 19
Tutorial Hello World 14_IDE_Visual_Studio 2010_v1.3.pptm 20
Projektmappe anlegen 1 3 2 14_IDE_Visual_Studio 2010_v1.3.pptm 21
Hello World Konsolenanwendung: using `namespace namespace `Name class Program static void Main( ) Console Objekt Bibliotheks-Klasse-Console Console schreibt in Ausgabe -Fenster Console liest von Tastatur 14_IDE_Visual_Studio 2010_v1.3.pptm 22
Namespaces (Packages) Enthalten typischerweise Klassen ähnlicher Bedeutung Eigene Namensräume können erstellt werden.net enthält viele Namensräume (z.b. Console, Math, ) Einbinden: using am Dateianfang Schachtelung möglich, untergeordnete Namensräume sind separat einzubinden Namespaces entsprechen den Packages in UML und Java 14_IDE_Visual_Studio 2010_v1.3.pptm 23
Debugging / Experiment Erstellen Sie ein Projekt FB14_1-Debugbeispiel in VS2010 In Program.cs geben Sie den nebenstehenden Code ein Im Rumpf der Methode Main() können Sie experimentieren. Wir wollen nun das Modul Program.cs debuggen 14_IDE_Visual_Studio 2010_v1.3.pptm 24
Haltepunkt (Breakpoint) setzen Starten des Debuggvorgangs durch Menu: Debuggen/debugging starten F5 Symbol Hinweis: Vorher Projekt als Startprojekt festlegen 14_IDE_Visual_Studio 2010_v1.3.pptm 25
Debug -Fenster Wir stellen fest dass die Wurzel aus y=23 berechnet wird. Weiterfahren mit Einzelschritt F11 Prozedurschritt F10 Bis Rücksprung F9 Beenden Shift-F5 14_IDE_Visual_Studio 2010_v1.3.pptm 26
Lernkontrolle Was ich wissen muss: Konzept der Erstellung und Ausführung von C#-Programmen Begriffe IL-Codes (Intermediate Language Code) JIT-Compiler (Just-in-Time-Compiler) CLR (Common Language Runtime ) Bedienung von Visual Studio 2010 14_IDE_Visual_Studio 2010_v1.3.pptm 27 15_Uebunegen