C-Sharp

objektorientierte Programmiersprache
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 5. Februar 2006 um 05:35 Uhr durch DHN-bot~dewiki (Diskussion | Beiträge) (Bot: Ändere: he). Sie kann sich erheblich von der aktuellen Version unterscheiden.

C# (Aussprache: ßiescharp [ˌsiːˈʃɑɹp]) ist eine Programmiersprache, die vom Softwarehersteller Microsoft im Rahmen seiner .NET-Initiative entwickelt wurde.

Konzept

Neben Konzepten der Programmiersprachen Java und Delphi greift C# auch Konzepte aus C++ sowie der Microsoft-eigenen Sprache Visual Basic auf. Beide Programmiersprachen sind ebenfalls, neben weiteren, als eigenständige Portierungen für .NET verfügbar und nutzbar. C# zählt zu den objektorientierten Programmiersprachen.

Einige der Elemente von C++, die im Allgemeinen als unsicher gelten, wie beispielsweise Zeigerarithmetik, wurden in C# nur für so genannten unsicheren Code (engl. unsafe) erlaubt, der eine veränderte Sicherheitseinstellung benötigt, um auf einem Zielsystem ausgeführt zu werden.

Als .NET-Sprache verfügt auch C# über Sprachunterstützung für Attribute und Delegaten. Attribute erlauben es, Informationen über eine Klasse, ein Objekt, oder eine Methode zu speichern, die von anderen Programmen zur Laufzeit ausgewertet werden können. Man spricht hierbei auch von Metadaten. Ein Delegat kann auf Methoden einer Klasse verweisen. Das Konzept lässt sich mit Funktionszeigern vergleichen. Im Unterschied zu Funktionszeigern enthalten Delegaten zusätzlich auch Verweise auf die zu den Methoden gehörenden Objekte. Ein Aufruf eines Delegaten ruft also Methoden auf, denen implizit ein Objektzeiger als Parameter mitübergeben wird.

Syntaxbeispiel: Hallo-Welt-Programm in C#

Standardisierung

Microsoft reichte im Oktober 2000 C# bei der Europäischen Standardisierungsorganisation European Computer Manufacturers Association ECMA zur Standardisierung ein. Im Dezember 2001 veröffentlichte die ECMA den Standard ECMA-334 C# Language Specification. 2003 wurde C# von der ISO standardisiert (ISO/IEC 23270).

Verfügbarkeit von integrierten Entwicklungsumgebungen

Neben der von Microsoft vertriebenen Entwicklungsplattform Visual Studio .NET aus dem eigenen Hause, gibt es inzwischen auch Entwicklungsumgebungen (IDEs) anderer Hersteller für C#:

Politik

Viele Microsoft-Produkte und -Initiativen ziehen politische Aufmerksamkeit auf sich, und C# bildet hier keine Ausnahme. Wegen der engen Beziehung zu einer kommerziellen Institution gibt es immer wieder heftige politische Diskussionen bezüglich der Rechtmäßigkeit der Standardisierung von C#, der Ähnlichkeiten zu Java, der Zukunft als professionelle Programmiersprache, und verschiedene andere Diskussionen. Einige Sicherheitsexperten bezweifeln die Wirksamkeit der CLR-Sicherheitsmechanismen und kritisieren deren Komplexität. Gleichzeitig wird die Sprache für ihre Klarheit und ihre programmiererfreundliche Syntax gelobt.

Im Gegensatz zu Visual Basic (Microsoft) oder Java (Sun Microsystems), die unter der Kontrolle von kommerziellen Institutionen stehen, hat sich Microsoft dazu entschlossen, C# einem Standardisierungsprozess zu öffnen.

Der Vorwurf, C# sei an Java angelehnt, wird von Microsoft zwar vehement bestritten, dennoch lassen sich zahlreiche Gemeinsamkeiten zwischen beiden Sprachen finden. Aufgrund der bisherigen Konzernpolitik ist davon auszugehen, dass .NET in allen kommenden Windows-Versionen einen festen Bestandteil des Betriebssystems bilden wird. Anders als bei der JVM (für Java) könnte dieser Umstand Microsoft dabei helfen, Java wichtige Marktanteile streitig zu machen. Zudem stellt C# in Verbindung mit .NET bereits heute trotz des relativ jungen Alters eine sehr leistungsstarke Umgebung für Entwickler bereit. Zudem setzt Microsoft enorme Ressourcen für die Entwicklung von .NET ein.

Es gibt auch – von Microsoft unabhängige – Projekte für die Portierung von .NET auf Unix Systeme, wie z.B. Mono, eine .NET-kompatible Entwicklungs- und Laufzeitumgebung.

Der Name C#

Die Raute ist eine symbolische Anlehnung an die verwandte Sprache 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 – englisch C sharp (Aussprache: [ˌsiːˈʃɑɹp]). Manchmal wird C# auch mit see sharp (scharf sehen) übersetzt.

Siehe auch