Was ist Typisierung?
Mit der Typisierung werden Variablen oder Konstanten in Programmiersprachen bestimmte Type-Eigenschaften innerhalb des Computer-Systems zugewiesen. In der Informatik verstehen Programmierung unter Typisierung die Zuweisung eines Objekts zu einem Datentyp.
Wozu Typisierung?
Ein wesentliches Ziel von Typisierung in Programmiersprachen ist die Vermeidung von Laufzeitfehlern.
Konzepte zur Typisierung
Für manche Anwendungen ist die fehlende strenge Typisierung – wie beispielsweise in der Programmiersprache C – nachteilig. In einer Programmiersprache gibt es das Konzept der statischen Typisierung und die Methode der dynamischen Typisierung.
Statische Typisierung
Mit der statischen Typisierung werden Typen bereits während der Kompilierung und somit vor der Laufzeit des eigentlichen Programms überprüft.
Statische Typisierung in Java
Eine Variable ist in Java statisch typisiert. Dabei bedeutet statische Typisierung, dass der Datentyp einer Variable zur Übersetzungszeit bekannt sein muss und nicht geändert werden kann.
In der Praxis gibt es umfangreiche Diskussionen darüber ob statische oder eher dynamische Typisierung besser sind.
Vorteile der statischen Typisierung
Statisch typisierte Sprachen haben im Allgemeinen den Vorteil, dass der Compiler bereits zur Übersetzungszeit Fehler finden kann. Beispielsweise wenn eine Methode eine Zeichenkette erwartet aber die übergebene Variable zufällig einen Integer-Wert enthält, findet der Compiler diesen Fehler bereits zur Übersetzungszeit.
- höhere Performance zur Laufzeit von Programmen
- gesteigerte Sicherheit bereits im Erstellungsprozess von Software
Ein großer Vorteil von statischer Typisierung besteht in der Performance. Da Objekte und Variablen bereits zur Kompilierung mit bestimmten Typen definiert sind, sind performanceintensive Typen-Checks zur Laufzeit von Programmen überflüssig.
Dynamische Typisierung
Bei dynamisch typisierten Sprachen kann der Datentyp einer Variable von Codezeile zu Codezeile variieren, sodass eine entsprechende Prüfung durch den Compiler schwierig ist. Dafür kann mit diesen Sprachen etwas kompakter programmiert werden, da die Typdeklarationen entfallen.
JavaScript oder PHP sind Beispiele für Programmiersprachen die dem Konzept der dynamischen Typisierung folgen.
Vorteile der dynamischen Typisierung
- flexibel
- kompakte Handhabung
Typisierung mit dem Type-System
Ein Type System ist ein ein Satz definierter Regeln für eine Programmiersprache, die eine als “Type” benannte Eigenschaft verschiedenen Konstrukten innerhalb des “Systems” zuweist.
Weil jedes Computerprogramm besteht aus Variablen, Ausdrücken, Funktionen oder Modulen. Der Hauptzweck eines Typsystems dient dem Ziel die Anfälligkeit des Systems für Bugs in Computerprogrammen zu reduzieren, indem Schnittstellen zwischen verschiedenen Teilen eines Computerprogramms definiert werden und dann überprüft wird, ob die Teile konsistent miteinander verbunden sind.
Moechtest Du mehr ueber Softwareentwicklung & Programmierung lernen?
Mit unserem Projekt Rock the Prototype unterstützen wir aktiv das Prototyping von Software. Am besten lernst Du gute Software zu entwickeln indem Du Dir einen iterativen, prototypischen Softwareentwicklungsprozess aneignest.
Unser kostenloses Angebot fuer Dich: Rock the Prototype!
Unsere Community Initiative Rock the Prototype bietet Dir – kostenlos – eine Chance neue Technologien mit anderen im Team zu entwicklen und in der Praxis zu erproben.
Das darfst Du von Rock the Prototype erwarten:
Die Community Rock the Prototype ist Deine Chance um…
Deine Programmierfähigkeiten zu erweitern,
indem Du gemeinsam mit anderen
lernst technische Herausforderungen effektiv zu lösen,
neue Ideen und Fähigkeiten entwickelst und
wertvolle neue agile Methoden & Konzepte lernst
Lass Dich von anderen Entwicklern inspirieren!
Unser Motto ist: Coding is fun – im Team entsteht der beste Code!
Du wirst neue Konzepte und Best Practices entdecken,
Deine IT-Skills vertiefen und
Neues erlernen!