Static typing

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 schon während der Kompilierung festgelegt. Dies kann durch Typinferenz geschehen oder durch explizite (Deklaration).

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.
  • Der von Variablen benötigte Speicherplatz (Größe und bei globalen Variablen auch die Adresse) kann bereits vom Compiler festgelegt werden. Dadurch können Variablen global oder auf dem Stack angelegt werden, statt auf dem Heap (welcher mehr Verwaltungsaufwand benötigt).
  • 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).

Siehe auch

Starke Typisierung


Wikimedia Foundation.

Игры ⚽ Нужен реферат?

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

  • static typing — noun A system in which type checking is performed during compilation and not at run time, opposed to dynamic typing …   Wiktionary

  • Static — has several meanings:* Static electricity, a net charge of an object ** The triboelectric effect, e.g. from shoes rubbing carpet * White noise, a random signal with a flat power spectral density ** Noise (radio), a type of radio interference **… …   Wikipedia

  • Duck typing — Type systems Type safety Inferred vs. Manifest Dynamic vs. Static Strong vs. Weak Nominal vs. Structural Dependent typing Duck typing Latent typing Linear typing Uniqueness typing …   Wikipedia

  • Latent typing — In computer programming, latent typing (as opposed to eager typing or manifest typing) is a style of typing that does not require (or perhaps even offer) explicit type declarations. Latent typing is heavily associated with duck typing and dynamic …   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

  • dynamic typing — noun A system in which type checking is performed at run time and not at compilation, opposed to static typing …   Wiktionary

  • Manifest typing — Type systems Type safety Inferred vs. Manifest Dynamic vs. Static Strong vs. Weak Nominal vs. Structural Dependent typing Duck typing Latent typing Linear typing Uniqueness typing …   Wikipedia

  • Type system — Type systems Type safety Inferred vs. Manifest Dynamic vs. Static Strong vs. Weak Nominal vs. Structural Dependent typing Duck typing Latent typing Linear typing Uniqueness typing …   Wikipedia

  • Comparison of programming languages — Programming language comparisons General comparison Basic syntax Basic instructions Arrays Associative arrays String operations …   Wikipedia

  • Objective-C — Paradigm(s) reflective, object oriented Appeared in 1983 Designed by Tom Love Brad Cox Developer Apple Inc. Typing discipline …   Wikipedia

Share the article and excerpts

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