Benutzerspezifische Werkzeuge

C#

C# (C-Sharp) ist eine universelle, streng objektorientierte Programmiersprache, die zwar prinzipiell plattformunabhängig ist, in der Regel aber auf dem .NET Framework aufsetzt.

Charakteristische Merkmale

  • Starke syntaktische Ähnlichkeit mit C++ und Java.
  • Common Type System (CTS). Gemeinsame Datenrepräsentation ermöglicht Interoperabilität mit anderen CTS-basierten Sprachen.
  • Keine explizite Allokation und Freigabe von Speicher durch automatisches Memory Management und Garbage Collection.
  • Keine Speicheradress-Pointer (außer für Interoperabilität mit nativem Code).
  • Schutz vor unsicheren Typumwandlungen.
  • Array Bounds Checking.
  • Komponentenorientierung.
  • Einsetzbarkeit in verteilten Systemen.
  • Unterstützung internationaler Zeichensysteme (Unicode).

Faktisch ist (Microsoft-)C# eng mit dem .NET Framework verknüpft: Aus dem Sourcecode wird ein Zwischencode (CIL, Common Intermediate Language) erzeugt, der durch eine Laufzeitumgebung (CLR, Common Language Runtime) zur Ausführung gebracht wird. 

 

Unterschiede zu anderen Programmiersprachen:

Zu C++:
Kein Preprocessing
Keine Templates
Keine multiple Vererbung (aber multiple Interfaces)

Zu Java:
Operator overloading erlaubt
Delegates und Events
Native Unterstützung von Properties

Unterschiede zu VB.NET sind relativ gering und hauptsächlich syntaktischer Natur.

Standardisierung

C# ist in den Normen ECMA-334 (aktuell: 4. Fassung 2006) und ISO/IEC 23270 (2003, Revision 2006) standardisiert. Diese Normen spezifizieren Sprachelemente, Syntax und Semantik, jedoch nicht die Art und Weise wie C# in lauffähigen Code umgesetzt wird (Kompilierung, Zwischencode, Maschinencode, physische Anforderungen des Zielrechners etc.). Die Erzeugung von Zwischencode und dessen Ausführung durch eine Laufzeitumgebung sind daher aus Sicht der genannten Normen nicht zwingend.

Implementationen

Die mit Abstand dominierende C#-Implementation ist diejenige von Microsoft. Sie setzt auf dem .NET-Framework auf und bietet mit Visual Studio eine passende integrierte Entwicklungsumgebung. Die aktuelle Version 3.0 der Microsoft C#-Implementation wurde in 2007 zusammen mit dem .NET Framework 3.5 veröffentlicht und enthält als neues Feature u.a. Unterstützung für LINQ (Language Integrated Query).
Eine Open-Source-Alternative ist das Mono-Projekt mit dem Mono C#-Compiler. 

Literatur

Eller, Frank: Visual C# 2008. München : Addison-Wesley,  2008.

Liberty, Jesse und Xie, Donald: Programmieren mit C# 3.0 (5. Aufl.). Köln : O’Reilly, 2008.

 

Einordnung: ,
Zuletzt bearbeitet: 10.10.2011 07:16
Letzter Abruf: 24.05.2012 03:35
Artikelaktionen