Statisch getippt

Definition - Was bedeutet statisch typisiert?

Statisch typisiert ist ein Programmiersprachenmerkmal, in dem Variablentypen explizit deklariert und somit zur Kompilierungszeit bestimmt werden. Auf diese Weise kann der Compiler entscheiden, ob eine bestimmte Variable die von ihr angeforderten Aktionen ausführen kann oder nicht.

Durch statische Typisierung werden Typen Variablen zugeordnet, nicht Werten. Einige Beispiele für statisch typisierte Programmiersprachen sind:

  • Haskell
  • FORTRAN
  • Java
  • C
  • C#
  • C + +
  • Ada
  • Jade
  • Pascal
  • ML
  • Perl
  • Scala

Technische.me erklärt statisch typisiert

Bei der statischen Typisierung müssen zur Laufzeit keine zusätzlichen Überprüfungen durchgeführt werden, um zu bestätigen, dass ein Objekt einige Aktionen ausführen kann. Statisch typisierte Programmiersprachen führen die Typprüfung eher während der Kompilierung als zur Laufzeit durch, wodurch in diesen Sprachen geschriebene Programme viel schneller ausgeführt werden.

Darüber hinaus sind Tooling und Refactoring in statisch typisierten Sprachen besser, da die Tools die Variablentypen beim Codieren des Programms ermitteln können. Dies hilft, die Parameter für eine bestimmte Funktion und auch die für ein bestimmtes Objekt verfügbaren Methoden sofort zu verstehen. Dies macht den Refactoring-Prozess auch viel einfacher.

Mit wenigen Ausnahmen ist es nach der Überarbeitung einer Methode oder eines Objekts leicht zu verstehen, welche anderen Codes davon abhängen. Dies ist jedoch mit Kosten verbunden. Mit wenigen Ausnahmen erfordern statisch typisierte Sprachen zusätzliche Anmerkungen, um den Compiler über die beabsichtigten Ziele des Autors zu informieren.

Wenn es um die Objektstruktur geht, sind statisch typisierte Sprachen im Vergleich zu ihren dynamischen Gegenstücken tendenziell weniger flexibel. Es ist nicht möglich, einem bestimmten Objekt zur Laufzeit Felder und Methoden hinzuzufügen. Dies kann kompliziert sein, wenn weniger strukturierte Daten verarbeitet werden. Das Parsen von JSON-, XML- oder Datenbankabfragen führt beispielsweise zu nicht idealen Objektzuordnungen.