Was ist Typprüfung?
Die Typprüfung wird normalerweise von einem Compiler durchgeführt, der überprüft, ob alle Operationen eine ordnungsgemäße Anzahl von Argumenten und Datentypen erhalten haben. Es gibt zwei Arten von Systemen, nämlich:
Statische Typprüfung
Bei der statischen Typprüfung ist es nicht erforderlich, ein Programm zur Überprüfung auszuführen. Der Compiler führt zur Kompilierungszeit eine statische Typprüfung durch.
Die statische Typprüfung ist nützlich, wenn Ihr Programm Fehler enthält, da diese vor der Ausführung erkannt werden können. Es trägt zur Verbesserung der Zuverlässigkeit und Sicherheit bei.
Ein Beispiel für die statische Typprüfung ist die Sprache C, wo Sie Variablen deklarieren müssen, bevor Sie sie in Ihrem Programm verwenden können. Wenn Sie sie nicht deklarieren, zeigt der Compiler einen Fehler an und Sie können Ihr Programm nicht ausführen.
Dynamische Typprüfung
Die dynamische Typprüfung erfolgt erst zur Laufzeit oder Ausführungszeit. Die dynamische Typprüfung ist nützlich, da sie es uns ermöglicht, Programme ohne Vorkenntnisse über Typen zu schreiben. In Szenarien, in denen wir Typen nur zur Laufzeit überprüfen müssen.
Die gebräuchlichste Form der Typprüfung besteht darin, jeder Variablen, jedem Parameter und jedem Funktionsrückgabewert in einem Computerprogramm einen Datentyp zuzuweisen. Basierend auf den diesen Werten zugewiesenen Typen sind die entsprechenden Operationen zulässig (z. B. das Hinzufügen zweier Ganzzahlvariablen, um eine weitere Ganzzahl zu erzeugen, oder die Verkettung zweier Zeichenfolgen, um eine weitere Zeichenfolge zu erzeugen). Durch die Typprüfung wird sichergestellt, dass diese Vorgänge für den beabsichtigten Zweck gültig sind.
In einigen Programmiersprachen (zum Beispiel C) wird die Typprüfung vom Compiler durchgeführt; in anderen (z. B. PHP) kann es bis zur Laufzeit verschoben werden (in diesem Fall kann es als dynamische Typprüfung bezeichnet werden).
In einigen Sprachen kann der Programmierer neue Typen definieren, sodass seine Programme diese Typen in seinen Algorithmen verwenden können. Andere Sprachen ermöglichen es dem Programmierer, zur Laufzeit beliebige Eigenschaften mit Werten zu verknüpfen.
Viele Sprachen beinhalten beide Ansätze; Beispielsweise stellt Java vordefinierte Typen bereit und ermöglicht es Programmierern, neue Klassen zu erstellen oder bestehende zu erweitern (dh neue Typen zu definieren). Einige Sprachen wie Perl und Python führen auch Typinferenzen durch und erfordern keine Typdeklarationen.