Diskussion:Dynamische Typisierung
Erste Erweiterungsvorschläge
Erweiterungsvorschläge meinerseits:
- Beispielsprachen, welche dynamische Typisierung bieten, z.B. Smalltalk (Programmiersprache)
- Problem der in die Laufzeit verschobenen Fehlererkennung
- Verbindung zu Dynamisches Binden
- Verbindung zu Deinen anderen Artikeln der Thematik, z.B. Unterschied zu Statische Typisierung
--guwac
(Der vorstehende Beitrag stammt von Guwac – 15:14, 16. Feb. 2005 (MEZ) – und wurde nachträglich vollständig (mit Zeitangabe) signiert.)
Verweise auf die englische Wikipedia
Die Verweise auf die englische Wikipedia sind recht abenteuerlich. Es gibt gleich drei davon, wobei zwei effektiv auf die gleiche Seite zeigen und der dritte auf eine andere zum gleichen Thema. Welche der englischen Seiten passt denn nun wirklich zu dieser Seite?
LonelyPixel 23:14, 16. Sep. 2007 (CEST)
Nicht Ruby sondern Python!
Daß der Begriff aus der Ruby-Community kommen soll, erscheint mir zumindest belegungsbedürftig. Im englischen Wikipedia-Artikel Duck Typing steht zu lesen:
- Alex Martelli made an early (2000) use of the term in a message to the comp.lang.python newsgroup. He also highlighted misunderstanding of the literal duck test, which may indicate that the term was already in use.
- In other words, don't check whether it IS-a duck: check whether it QUACKS-like-a duck, WALKS-like-a duck, etc, etc, depending on exactly what subset of duck-like behaviour you need to play your language-games with.
Der message-Link funktioniert, ich habe es soeben ausprobiert. Python hier nicht zu erwähnen erscheint mir also als geradezu sträfliche Unterlassung. Als klassisches Python-Beispiel gibt es ein anwendungsnäheres, nämlich „file-like objects“: Aus einem StringIO-Objekt z. B. kann mit denselben Verfahren gelesen werden wie aus einer Datei, obwohl es sich letztlich um einen String handelt (was z. B. für Unit-Tests sehr nützlich ist). --Tobias 19:39, 16. Okt. 2007 (CEST)
- Update: Duck-Typing ist nun ein eigener Artikel, auf den der entsprechende englische Artikel auch schon verweist. --Tobias 23:24, 16. Okt. 2007 (CEST)
Habe das Ruby-Beispiel gelöscht
… weil es nicht Duck-Typing illustrierte (was es durch Klassen- und Methodennamen suggerierte) und auch nicht simple dynamische Typisierung, sondern den Spezialfall Polymorphie, was etwas anderes ist: abhängig von der Klasse des Objekts wird die jeweils passende Methode verwendet; beim Duck-Typing geht es aber darum, festzustellen, ob ein Objekt eine passende Klasse hat.
Die Umleitung von Duck-Typing hierher habe ich gelöscht und durch einen richtigen Artikel mit Querverweis ersetzt, wie er auch in der englischen Wikipedia existiert (wenngleich dort noch einiges steht, was ich noch nicht übersetzt habe). --Tobias 00:08, 17. Okt. 2007 (CEST)
Vor- und Nachteile einer dynamischen Typisierung
Es sollte gesagt werden welche Vor- und Nachteile eine dynamische Typisierung bietet. Werde versuchen das in den nächsten Tagen mal zu ergänzen. --PhilipMay 19:39, 26. Jul. 2009 (CEST)
Geschichte: Von „Real“ über „Variant“ bis zum „Object“
Wie wäre denn mal ein Absatz zur (Entwicklungs-)Geschichte dieser dünamischen Datentüpen? In Pascal gab es ja bereits den Datentüp „Real“, der kwasi ein Forläufer vom „Variant“ (in VB, bis Wersion 6) war und später zum „Object“ (in – fermutlich – allen objektorientierten Programmiersprachen, einschließlich VB ab Wersion 7) wurde. --92.225.58.81 21:05, 22. Dez. 2011 (MEZ)
Unglückliche Ausdrucksweise
Im Abschnitt "Erläuterung des Beispiels" schreibst Du "... dies ist kein richtiger Datentyp". Das impliziert doch dass es auch einen falschen Datentyp gibt. M. E. ist diese Ausdrucksweise zu sehr bezogen auf Programmiersprachen wie C++ oder Pascal in denen es "richtige" Datentypen gibt. Veilleicht hieße es besser "duck kann auch für andere Typen stehen als in dieser Zeile, z. B. erhält duck in Zeile 7 den Wert *String* (oder wie immer der Typ heißt)".
Auch die Formulierung "... würde dies jetzt zu einem Compiler-Fehler führen" halte ich nicht für verbesserungswürdig. Compiler-Fehler mag im Programmierer-Slang umgangssprachlich benutzt werden, passt aber nicht zum Charakter von Wikipedia. Der Compiler meldet, dass er einen Fehler gefunden hat, ja, aber diese Meldung ist nicht der Fehler eines Compilers, ist kein Compiler-Fehler. Eine Microsoft-Seite über diesen Fehler (Compilerfehler) hat in der deutschen Version leider die Überschrift "Compilerfehler C2240". Das ist m. E. eine falsche Übersetzung des Originaltitels *Compiler Error C2240*. Der (automatische) Übersetzer war wohl nicht in der Lage, zwischen Compiler-Error C2240" und "Compiler Error-C2240" zu unterscheiden, da im Englischen fast immer für die Semantik wertvolle Bindestriche weggelassen werden.
Humbalan (Diskussion) 12:47, 22. Okt. 2015 (CEST)