Zitat
Herkunft
Im Prinzip gehört C#, dessen Name als C Sharp gesprochen wird, der Sprachfamilie von C und C++ an, da sowohl die Syntax als auch einige Sprachkonzepte an diese beiden Sprachen angelehnt sind. C# wurde von Microsoft in Kooperation mit Anders Hejlsberg, dem Designer der Sprache Delphi, entwickelt und am 14. Februar 2002 im Rahmen des .net Framework veröffentlicht, über das Sie später in » was ist .net noch mehr erfahren werden.
Ein Ziel bei der Entwicklung von C# war unter anderem, die Sprache so einfach wie möglich zu gestalten und dabei auch einige fehlerträchtige Konzepte von C und C++ wie beispielsweise Mehrfachvererbung zu vermeiden. Der Gefahr, dass sich die weit verbreitete Meinung, C und C++ seien schlecht verständlich und schwer erlernbar, auch auf C# übertragen könnte, wollte Microsoft so von vornherein begegnen.
Plattformunabhängigkeit
Der größte und auffälligste Unterschied zwischen C# auf der einen und C beziehungsweise C++ auf der anderen Seite ist, dass mit C# entwickelte Programme plattformunabhängig sind. Das heißt, ein Programm läuft nicht nur unter dem Betriebssystem, unter dem es entwickelt wurde, sondern auf allen Systemen, für die eine Version des .net Framework existiert.
Dabei müssen diese Systeme nicht unbedingt PCs sein, es kann sich dabei beispielsweise auch um tragbare Geräte wie PDAs oder Mobiltelefone handeln. So existiert zum Beispiel eine speziell an die Eigenschaften mobiler Endgeräte angepasste, besonders kompakte Version des .net Framework. Ein ähnliches Konzept verfolgt die Sprache Java mit ihren verschiedenen Editionen (J2SE, J2ME, J2EE), womit ebenfalls plattformunabhängige Programme erzeugt werden können.
Da die Plattformunabhängigkeit jedoch keine spezielle Eigenschaft von C#, sondern eine generelle Eigenschaft von .net ist, finden Sie nähere Informationen dazu unter » was ist .net.
» nach oben
Objektorientierung und andere moderne Konzepte
C# ist wie fast jede andere moderne Programmiersprache objektorieniert, wobei die Objektorientierung von C# deutlich konsistenter und weitreichender ist als die anderer Sprachen, denn in C# wird fast alles als Objekt angesprochen. Sogar die einfachen Basisdatentypen für Ganz- und Dezimalzahlen oder für einzelne Zeichen lassen sich in C# als Objekt darstellen und entsprechend flexibel und vielseitig einsetzen.
Ergänzt wird C# durch die ebenfalls durchgängig objektorientierte Klassenbibliothek des .net Framework, die gerade im Vergleich zu den anderen häufig eingesetzten Klassenbibliotheken wie MFC oder JFC deutlich übersichtlicher gestaltet ist.
Des weiteren enthält C# einige Konzepte, die stark an Java angelehnt sind, teilweise aber deutlich ausgereifter arbeiten, wie beispielsweise eine umfassende und durchdachte Fehlerbehandlung oder eine automatische Resourcenverwaltung (Garbage collection).
...