Starke Typisierung

Starke Typisierung (engl. strong typing) bezeichnet ein Schema der Typisierung von Programmiersprachen. In der Literatur wird auch von strenger Typisierung gesprochen.

Bei der starken Typisierung bleibt eine einmal durchgeführte Bindung zwischen Variable und Datentyp bestehen, es wird auch (möglichst) keine implizite Typkonvertierung vorgenommen.

Eine nicht stark typisierte Sprache bezeichnet man als schwach typisiert.

Das Konzept der starken Typisierung ist nicht eindeutig definiert. In der Literatur finden sich diverse Regeln, die sich teilweise widersprechen. Versucht man alle bisher in der Literatur aufgestellten Regeln für starke Typisierung auf bekannte Programmiersprachen anzuwenden, hält keine Sprache dieser Überprüfung stand:

Eine Sprache ist stark typisiert, wenn

  1. Datentypen an Variablennamen anstatt an diskreten Werten geknüpft sind - die passende Terminologie dafür wäre statische Typisierung (static typing) im Gegensatz zur dynamischen Typisierung (dynamic typing);
  2. sie Typüberprüfungen zur Compile-Zeit enthält;
  3. Typkonvertierungen verboten sind;
  4. Typkonvertierungen explizit durchgeführt werden müssen;
  5. die Sprache keine Mechanismen besitzt, um das Typ-System zu umgehen, etwa type casts (Typumwandlungen) in C);
  6. es ein komplexes, fein abgestuftes System an Typen mit Sub-Typen gibt;
  7. der Datentyp eines Objektes fix ist und sich während der gesamten Lebensdauer des Objektes nicht verändern kann (auch diese Eigenschaft wird oftmals statische Typisierung genannt);
  8. das Typ-System das Laufzeitverhalten eines Programmes garantieren kann.

Vorteile durch starke Typisierung

  • Wenn Typkonvertierungen wie integer->float explizit durchgeführt werden müssen, ist der Laufzeitaufwand, der eine solche Konvertierung darstellt, im Programm direkt zu sehen.
  • Durch den Verzicht auf implizite Typkonvertierungen werden Mechanismen zum Überladen von Operatoren und Funktionen leichter durchschaubar.

Beispiele

Stark typisierte Sprachen (Keine der genannten Sprachen genügt allen Definitionen):

Schwach typisierte Sprachen:

Weblinks

Quelle:
Artikel Starke Typisierung aus der freien Enzyklopädie Wikipedia mit dieser Versionsgeschichte
Lizenz:
Kategorien:
Empfehlungen
Bookmarks
delicious wong linkarena google