Strenge Typisierung

Strenge Typisierung

Starke Typisierung (engl. strong typing, daher oft auch strenge Typisierung) bezeichnet ein Schema der Typisierung von Programmiersprachen.

Bei der starken Typisierung bleibt eine einmal durchgeführte Bindung zwischen Variable und Datentyp bestehen, es wird auch (möglichst) keine implizite Typkonvertierung vorgenommen. 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 diskrete Werte 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. automatische oder implizite 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

Der entscheidende Vorteil der starken Typisierung ist, dass schon beim Übersetzen des Quellcodes eine Überprüfung der Zulässigkeit von Operationen durchgeführt wird. Daher ist nach dem erfolgreichen Kompilieren bereits gewährleistet, dass zum Beispiel Fehler, die auf der unzulässigen Typkonvertierung oder der Bereichsüberschreitung bei Datenfeldern beruhen, ausgeschlossen sind. Die zusätzliche Rechenzeit, die dafür erforderlich ist, spielt bei modernen Rechenmaschinen in der Regel keine Rolle. Daher ist es im Hinblick auf die Zuverlässigkeit und Sicherheit von Software nur bei extrem rechenintensiven Programmen sinnvoll, die starke Typisierung nicht zu berücksichtigen.

Wenn Typkonvertierungen zum Beispiel von ganzzahligen Typen nach Gleitkommatypen explizit angegeben und durchgeführt werden müssen, ist der Laufzeitaufwand, der eine solche Konvertierung darstellt, im Programm direkt zu erkennen.

Beispiele

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

  • Ada
  • C# (solange die Option /unsafe nicht verwendet wird)
  • Component Pascal (erfüllt alle oben angegebenen Kriterien, wenn das Modul SYSTEM nicht explizit importiert wird)
  • D
  • Haskell
  • Java
  • Python (keine Bindung zwischen Variable und Datentyp)

Schwach typisierte Sprachen:


Wikimedia Foundation.

Игры ⚽ Поможем написать курсовую

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Starke Typisierung — (engl. strong typing, deutsch oft auch strenge Typisierung) bezeichnet ein Prinzip bei der Typisierung von Programmiersprachen, das allerdings nicht eindeutig definiert ist. In der Fachliteratur finden sich unterschiedlich strenge Definitionen.… …   Deutsch Wikipedia

  • Strong typing — Starke Typisierung (engl. strong typing, daher oft auch strenge Typisierung) bezeichnet ein Schema der Typisierung von Programmiersprachen. Bei der starken Typisierung bleibt eine einmal durchgeführte Bindung zwischen Variable und Datentyp… …   Deutsch Wikipedia

  • Borland Delphi — Delphi ist zum einen der Name einer vom Unternehmen Borland entwickelten objektorientierten Programmiersprache, die ursprünglich aus der von Niklaus Wirth erstellten Programmiersprache Pascal hervorgegangen ist, und zum anderen die Bezeichnung… …   Deutsch Wikipedia

  • Borland Developer Studio — Delphi ist zum einen der Name einer vom Unternehmen Borland entwickelten objektorientierten Programmiersprache, die ursprünglich aus der von Niklaus Wirth erstellten Programmiersprache Pascal hervorgegangen ist, und zum anderen die Bezeichnung… …   Deutsch Wikipedia

  • Delphi-Language — Delphi ist zum einen der Name einer vom Unternehmen Borland entwickelten objektorientierten Programmiersprache, die ursprünglich aus der von Niklaus Wirth erstellten Programmiersprache Pascal hervorgegangen ist, und zum anderen die Bezeichnung… …   Deutsch Wikipedia

  • Delphi Programmiersprache — Delphi ist zum einen der Name einer vom Unternehmen Borland entwickelten objektorientierten Programmiersprache, die ursprünglich aus der von Niklaus Wirth erstellten Programmiersprache Pascal hervorgegangen ist, und zum anderen die Bezeichnung… …   Deutsch Wikipedia

  • ObjectPascal — Delphi ist zum einen der Name einer vom Unternehmen Borland entwickelten objektorientierten Programmiersprache, die ursprünglich aus der von Niklaus Wirth erstellten Programmiersprache Pascal hervorgegangen ist, und zum anderen die Bezeichnung… …   Deutsch Wikipedia

  • Object Pascal — Delphi ist zum einen der Name einer vom Unternehmen Borland entwickelten objektorientierten Programmiersprache, die ursprünglich aus der von Niklaus Wirth erstellten Programmiersprache Pascal hervorgegangen ist, und zum anderen die Bezeichnung… …   Deutsch Wikipedia

  • Embarcadero Delphi — Entwickler Borland, inzwischen Embarcadero Technologies Erscheinungsjahr 1995 Aktuelle Version 16.0 (1. September 2011) Betriebssystem Windows …   Deutsch Wikipedia

  • C/AL — Microsoft Dynamics NAV Entwickler: Microsoft Corporation Aktuelle Version: Dynamics NAV 2009 (19.11.2008) Betriebssystem: Windows Kategorie …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”