Statische Typisierung

Statische Typisierung

Statische Typisierung (engl. static typing) bezeichnet ein Schema der Typisierung von Programmiersprachen.

Bei der statischen Typisierung wird im Gegensatz zur dynamischen Typisierung der Datentyp von Variablen und anderen Programmbausteinen schon während der Kompilierung festgelegt. Dies kann durch Typinferenz geschehen oder durch explizite Deklaration. Statische Typisierung kann durch Starke Typisierung erweitert werden.

Vorteile:

  • Bestimmte Fehler können bereits zur Übersetzungszeit erkannt werden und müssen nicht zur Laufzeit geprüft werden. Damit werden Fehler auch in selten benutzten Programmteilen, die bei Tests oft nicht durchlaufen werden, gefunden.
  • Die Effizienz von Programmen wird durch die Reduzierung des Rechenaufwands für Typüberprüfungen zur Laufzeit ebenfalls gesteigert.
  • Zahlreiche Optimierungen hängen von den zur Übersetzungszeit vorhandenen Informationen ab. So ermöglicht statische Typisierung zum Beispiel das direkte Einfügen von Maschinencode statt einem Methoden- oder Funktionsaufruf.

Nachteile:

  • Teilweise sind die Typen erst zur Laufzeit bekannt, bei Sprachen mit statischer Typisierung bedeutet dies dann meist einen gewissen Aufwand, da das Typsystem "umgangen" werden muss.
  • Die Compiler sind aufwendiger, weil dort mehr Aufwand für die Analyse anfällt.
  • Statische Typisierung ist weniger flexibel (erschwert z.B. die Erstellung generischer Container, siehe C++-Standardbibliothek).

Beispiele

Nach dieser Definition sind beispielsweise die folgenden Sprachen statisch typisiert:

Sprachen wie PHP und Ruby hingegen sind dynamisch typisiert.

Alternative Definition

Eine alternative Definition des Begriffs statische Typisierung betrachtet Typprüfungen: Eine Sprache ist genau dann statisch typisiert, wenn sie keine dynamischen Typprüfungen, also solche, die zur Laufzeit geschehen, aufweist. Ansonsten nennt man sie dynamisch typisiert.

Nach dieser Definition wäre beispielsweise Java dynamisch typisiert.

Siehe auch


Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

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

  • Statische Typsysteme — Statische Typisierung (engl. static typing) bezeichnet ein Schema der Typisierung von Programmiersprachen. Bei der statischen Typisierung wird im Gegensatz zur dynamischen Typisierung der Datentyp von Variablen und anderen Programmbausteinen… …   Deutsch Wikipedia

  • Typisierung (Informatik) — Eine Typisierung (engl. typing) dient in der Informatik dazu, dass die Objekte (hier Objekte im mathematisch abstrakten Sinne verstanden) der Programmiersprachen, wie z. B. Variablen, Funktionen oder Objekte (im Sinne der objektorientierten… …   Deutsch Wikipedia

  • 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… …   Deutsch Wikipedia

  • Schwache Typisierung — Die Artikel Typsystem und Typisierung (Informatik) überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zu vereinigen. Beteilige dich dazu an der Diskussion über diese Überschneidungen. Bitte entferne diesen… …   Deutsch Wikipedia

  • 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

  • Static typing — Statische Typisierung (engl. static typing) bezeichnet ein Schema der Typisierung von Programmiersprachen. Bei der statischen Typisierung wird im Gegensatz zur dynamischen Typisierung der Datentyp von Variablen und anderen Programmbausteinen… …   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

  • Typkonzept — Die Artikel Typsystem und Typisierung (Informatik) überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zu vereinigen. Beteilige dich dazu an der Diskussion über diese Überschneidungen. Bitte entferne diesen… …   Deutsch Wikipedia

  • Dynamic typing — Dynamische Typisierung ist die Zuteilung des Typs einer Variablen zur Laufzeit eines Programms. Im Gegensatz zur statischen Typisierung verzichtet man auf eine explizite Typisierung; der Typ einer Variablen ergibt sich aus dem Typ des Werts, der… …   Deutsch Wikipedia

  • Dynamische Typsysteme — Dynamische Typisierung ist die Zuteilung des Typs einer Variablen zur Laufzeit eines Programms. Im Gegensatz zur statischen Typisierung verzichtet man auf eine explizite Typisierung; der Typ einer Variablen ergibt sich aus dem Typ des Werts, der… …   Deutsch Wikipedia

Share the article and excerpts

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