Statische Typisierung
aus Wikipedia, der freien Enzyklopädie
Statische Typisierung (engl. static typing) bezeichnet ein Schema der Typisierung von Programmiersprachen.
Bei der statischen Typisierung muss während der Kompilierung der Datentyp von Variablen bekannt sein, dies kann durch Typinferenz geschehen oder durch explizite Nennung.
Vorteile:
- Bestimmte Fehler können bereits zur Übersetzungszeit erkannt werden und müssen nicht zur Laufzeit geprüft werden. Damit werden Fehler in selten benutzten Programmteilen, die bei Tests oft nicht durchlaufen werden, gefunden. Die Effizienz von Programmen wird durch die Reduzierung des Overheads für Laufzeitüberprüfungen 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 Variable global oder am Stack angelegt werden, statt am 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).
[Bearbeiten] Siehe auch
- Das Gegenteil der statischen Typisierung ist die Dynamische Typisierung
- Typisierung (Informatik)