Kapitel 36 C# und die Zukunft
Wie bereits zu Beginn dieses Buches erwähnt,
ist C# eine Sprache, die sich noch in Entwicklung befindet, daher fällt
es schwer, Spekulationen über die Zukunft anzustellen – es
sei denn, Microsoft hat eine offizielle Meinung zum jeweiligen Thema.
Eine Funktion, an der Microsoft arbeitet, ist eine
generische Version der Vorlagen. Wären innerhalb der Sprache generische
Vorlagen vorhanden, könnten stark typisierte Auflistungsklassen
geschrieben werden, beispielsweise ein Stack, der anstelle von beliebigen
Objekten nur einen bestimmten Typ enthält.
Eine solche Stackklasse könnte mit dem int-Typ eingesetzt werden, sodass der Stack nur int-Werte
enthält. Dies hätte zwei große Vorteile:
|
Wenn der Programmierer
versucht, einen float-Wert von einem Stack mit int-Werten
abzurufen, geben die aktuellen Auflistungen diesen Fehler zur Laufzeit
aus. Generische Vorlagen würden einen Fehlerbericht zur Kompilierungszeit
ermöglichen. |
|
In den derzeit verwendeten
Auflistungen muss für alle Wertetypen ein Boxing durchgeführt
werden, int-Werte werden daher nicht als Werteobjekte,
sondern als Verweisobjekte gespeichert. Das Hinzufügen und Entfernen
dieser Objekte erzeugt Overhead, der bei einer generischen Unterstützung
wegfiele. |
|