Strenge Versus Lockere Typisierung
StartSeite | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern
In streng typisierten Programmiersprachen besitzt jedes "Objekt" einen Typ, der aussagt was mit ihm getan werden kann. Der Versuch, eine Aktion auszuführen, die auf dem entsprechenden Typ nicht definiert ist, führt - entweder zur Kompilierzeit oder zur Laufzeit - zu einem Typfehler. Typische Beispiele sind die SpracheSmalltalk und die SpracheJava.
Frühe Versionen der SpracheCpp sind ein Beispiel für lockere Typisierung - hier kann praktisch jeder Speicherbereich als Objekt eines beliebigen Typs behandelt werden.
Anmerkungen:
- Korrigiert mich, wenn ich falsch liege, aber ist nicht eigentlich SprachePerl das ParadeBeispiel? von lockerer Typisierung oder überhaupt lockerer Programmierung? Ist eine Pro- & Contra-Liste hier angemessen? --- JanHosang?
- Die Frage um die es hier geht ist, wer die Information über den Typ des referenzierten Objektes hält...
- die referenzierende Variable: C++, Java, ...
- das referenzierte Objekt: Java, Python, Ruby, Perl, ...
- ... und wie mit dieser Information umgegangen wird. In Java ist es z.B. nicht möglich einer Variable vom Typ String ein Objekt vom Typ Date zuzuweisen (strenge Typisierung). In C++ mit RTTI kann zwar ein Objekt wissen, zum welchen Typ es gehört (dynamische Typisierung), C++ verhindert aber nicht, dass das Objekt als Bitklumpen oder als anderer Typ referenziert wird (lockere Typisierung). Dabei spezifiziert in C++ jede Variable den Typ der Objekte die sie enthalten oder referenzieren kann, also ist C++ eine statisch typisierte Sprache. -- GregorRayman
StartSeite | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern
Text dieser Seite ändern (zuletzt geändert: 14. Oktober 2003 17:12 (diff))