Unterschied zwischen streng typisierte Sprache und dynamische Sprache?

...komplette Frage anzeigen

2 Antworten

Bei einer stark typisierten Sprache weiß der Compiler zu jeder Zeit welchen Datentyp eine Variable hat. Ist der Datentyp einmal gesetzt ist es unmöglich den Typen zu ändern.

Eine dynamisch typisierte Sprache kann die Zuordnung des Datentyps auch zur Laufzeit setzen. C++ war zum Beispiel früher eine  streng typisierte Sprache. Jederzeit musste der Datentyp vorher bekannt sein. Seit einigen Jahren ist es jedoch auch möglich das Schlüsselwort auto zu verwenden, wobei der Datentyp dann nicht durch den Compiler, sondern zur Laufzeit abhängig vom übergebenen Datentypen bestimmt wird.

dediboy 08.11.2016, 13:56

Erstmal Danke für deine Antwort!

Aber ich habe da eine Frage und zwar, war das nicht bei der dynamischen Sprache, wo der Compiler zu jeder Zeit den Datentyp einer Variable weiß? 
also ich habe das von meinem IT Lehrer so von der Tafel abgeschrieben:

x=23 (int)
y=42 (int)
z="23"(string)

w= x+y (int)

a=3.14 (double, float)

w=x+a (w double)
(Phyton macht aus x ein double)
x->double

ist das jetzt eine dynamische Sprache oder ene streng typisierte Sprache? weil Phyton macht das ja automatisch und der Compiler erkennt dann das Problem ja direkt.

0

Es gibt keine streng typisierten Sprachen, sondern nur Programmier-sprachen, die verlangen, dass jede deklarierte Variable einen wohldefinierten Typ haben muss. Sie sind gemeint, wenn jemand von "streng typisierten" Sprachen spricht.

Im Unterschied zu Programmiersprachen, die strenge Typisierung erzwingen, gibt es auch solche, die das nicht tun. In ihnen geschriebene Programme erlauben, gewissen Variablen Werte unterschiedlichen Typs zuzuweisen.

Solche Programmiersprachen aber gelten als eher überholt (wenn sie nicht einfach nur als Skriptsprache gedacht sind - d.h. zum Schreiben von wenig umfangreichem Code, der nicht erst kompiliert werden muss).


Was möchtest Du wissen?