C#: eine Konkurrenz für Java? (C#: a Competitor of Java?)
Zusammenfassung
C# ist eine neue Programmiersprache, die im Wesentlichen bei Microsoft entwickelt worden ist. Erste Fassungen der Sprachdefinition wurden im Jahre 2000 veröffentlicht, im Dezember 2001 wurde bei ECMA die Norm ECMA-334 und im März 2003 bei ISO die Norm 23270 verabschiedet. C# ist inhaltlich gesehen eine Erweiterung von Java. Die Erweiterungen bestehen aus der Einführung neuer Sprachelemente wie zum Beispiel Delegate, Event und Property, und aus der Verbesserung vorhandener Elemente, wie zum Beispiel der Switch-Anweisung. Das technische Konzept der Implementierung weist ebenfalls Verbesserungen auf, und nicht zuletzt ist die Sprachdefinition noch etwas übersichtlicher als die auch recht gute Definition von Java. Der Aufsatz gibt einerseits einen Überblick über die Geschichte von C# und Java und stellt andererseits die Neuerungen anhand von kleinen Beispielen vor. Abschließend wird auf einige Defizite hingewiesen, die vor allem auf der Verwurzelung in der C-Welt beruhen.
Summary
C# is a new programming language developed by Microsoft. It was first published in 2000. The standard ECMA-334 and the international standard ISO/IEC 23270 were accepted in December 2001 and March 2003, respectively. Conceptually, C# is an extension of Java. There are new elements, e. g., delegate, event, and property, and there are improvements of existing elements, e. g., the switch statement. The implementation has also been improved, especially with respect to interoperability. Last but not least the language specification is even more lucid than that of Java. The paper gives an overview of the history of C# and Java. It discusses new elements and properties of C# by giving small examples. The paper closes with hints to elements which still show deficiencies.
© 2004 Oldenbourg Wissenschaftsverlag GmbH
Articles in the same Issue
- Konzepte zur Beherrschung der Entwurfskomplexität eingebetteter Systeme (Concepts for the Control of the Complexity of Embedded System Design)
- Hyperdatenbanken zur Verwaltung von Informationsräumen (Hyperdatabases for Managing Information Spaces)
- Einsatz von Mechanismen aktiver Datenbanken beim Entwurf eingebetteter Systeme (Supporting the Development of Embedded Systems by Mechanisms of Active Databases)
- C#: eine Konkurrenz für Java? (C#: a Competitor of Java?)
- Sonderforschungsbereich 588: Humanoide Roboter – Lernende und kooperierende multimodale Roboter (Humanoid Robots – Learning and Cooperating Multimodal Robots)
- Evolutionärer Test des Zeitverhaltens von Realzeit-Systemen (Evolutionary Testing of the Temporal Behaviour of Real-Time Systems)
- International Symposium on Computer Architecture (ISCA 2004)
- Gibt´s bald keine Oldtimer mehr?
Articles in the same Issue
- Konzepte zur Beherrschung der Entwurfskomplexität eingebetteter Systeme (Concepts for the Control of the Complexity of Embedded System Design)
- Hyperdatenbanken zur Verwaltung von Informationsräumen (Hyperdatabases for Managing Information Spaces)
- Einsatz von Mechanismen aktiver Datenbanken beim Entwurf eingebetteter Systeme (Supporting the Development of Embedded Systems by Mechanisms of Active Databases)
- C#: eine Konkurrenz für Java? (C#: a Competitor of Java?)
- Sonderforschungsbereich 588: Humanoide Roboter – Lernende und kooperierende multimodale Roboter (Humanoid Robots – Learning and Cooperating Multimodal Robots)
- Evolutionärer Test des Zeitverhaltens von Realzeit-Systemen (Evolutionary Testing of the Temporal Behaviour of Real-Time Systems)
- International Symposium on Computer Architecture (ISCA 2004)
- Gibt´s bald keine Oldtimer mehr?