Programmierung mit C# - Vorstellung

Einstieg in die Programmiersprache mit C#

Für Programme in der Windows-Umgebung bevorzugen wir den Einsatz von C# (Csharp) mit .NET Core. Die von Microsoft entwickelte Sprache ist eng mit der Laufzeitumgebung von Windows vernetzt.

/

ProgrammierungBlogThemaCsharp

Rätsel um C#

In diesem ersten Beitrag zu C# wollen wir einige"Rätsel\" lüften. Wie z.B. was ist C#? Und wo ist der Unterschied zu Visual C#?

Wie der Name schon andeutet, gehört C# zur C-Familie der Programmiersprachen, so wie C++, D oder Java.Der Syntax der Sprachen einer Familie sind ähnlich, mit natürlich einigen individuellen Abweichungen. Um es einen kurzen Nenner zu bringen: C# ist eine Erweiterung von C durch die Firma Microsoft.

Bevor sich alle Gegner von Microsoft abrupt abwenden, sei gesagt, dass C# unter Linux, MacOSX und auch Android lauffähig ist. Die Sprache an sich ist nur ein Syntax, also eine Möglichkeit in einer Sprache zu programmieren.Zugegebenermaßen steckt hinter C# eine besondere Philosophie, die der virtuellen Laufzeitumgebung. C# läuft auf der Laufzeitumgebung CLR (Common Language Runtime)) unter Windows oder .NET.core bzw. Mono unter Linux.Der Hintergrund für diese Laufzeit ist die Plattformunabhängigkeit der Sprache. Jetzt warte ich auf einer speziellen Einwand...

Na, wo bleibt er, der Einwand?

Richtig, der Großteil der C#-Programme laufen unter Windows auf einer Intel-Hardware, wozu dann die Plattformunabhängigkeit?Hier hat Microsoft zurecht langfristig geplant, die Märkte haben sich immer wieder in die eine oder andere Richtung verändert, z.B. durch das Aufkommen von Smartphones.Aber...das ist wichtig...eine Plattformunabhängigkeit, wie z.B. Java hat die Sprache C# nie erreicht.

Antworten zu Visual C#

Visual C# ist die C#-Version von Microsoft. Es gibt z.B. Standards, wie der Standard ECMA-334, welche die Sprache C# definieren, aber Microsoft hat C# immer wieder erweitert.Damit sind die Standards obsolet.

Stattdessen hat der ehemalige Open Source Gegner Microsoft (alte Geschichte, ich weiß) die Sprache als GitHub-Projekt der Community freigegeben.Damit liegen zukünftige Entwicklung auch in der Hand der Programmierer.

Die IDE für Visual C# heißt übrigens Visual Studio. Damit sind wir bei der Produktfamilie der Visual Studio Sprachen angelangt.Ist eine Entwicklung mit Visual C# auf .NET unter Windows geplant, empfiehlt sich der Einsatz von Visual Studio.Das ist jetzt keine Werbung, sondern eher der Hinweis darauf, dass die Visual Produkte stark aufeinander abgestimmt sind. Für die ersten Schritte steht die Visual Studio Community bei Microsoft zum Download zur Verfügung.

Mit C# können verschiedene Anwendungstypen programmiert werden, z.B. Programme für Windows oder für die Konsole, Webanwendungen, Anwendungen für mobile Geräte und natürlich Bibliotheken.Eigentlich alles, was in der Windows-Welt machbar und üblich ist.

Das Wesen von C#

Anders als C ist C# eine typsichere und objektorientierte Programmiersprache. Eine Sprache, die vor Ausführung erstmal compiliert werden muss.Das Ergebnis ist ein Assembly, also ein Paket in einer plattformunabhängigen Sprache, der Common Intermediate Language (CIL). Der Code wird von der Laufzeitumgebung CLR nochmals, diesmal in Maschinencode, compiliert und ausgeführt.Und steht dann anderen Sprache, die .NET nutzen zur Verfügung. Richtig Visual Basic, als Beispiel könnte Visual C# Assembly Pakete, nutzen, obwohl wir einen komplett anderen Syntax haben. Alles möglich, dank der CIL.

Neben der Plattformunabhägigkeit bietet der Ansatz von C# und der CLR den Vorteil der Sprachunabhängigkeit. Ich programmiere in der für den Zweck geeigneten Programmiersprache und rufe die Funktionen über eine andere Sprache auf.

 

Der um das Jahr 2000 entstandene Ansatz war beeindruckend und wegweisend. Schade, dass das Konzept der Unabhängigkeit die Windows-Plattform nie so richtig verlassen hat.Das liegt nicht an der Sprache C#, sondern auch an der Politik von Microsoft in den vergangenen Jahren. Die Bedeutung von C# ist trotz der Widrigkeiten gestiegen. Ein Grund mehr, uns C# im zweiten Teil genauer anzusehen.