dst hat geschrieben:Das kann aber, gerade für Einsteiger, ein großer Unterschied sein. Hast verschiedene
Objekte, bei denen sich ein Teil der Methodennamen überschneidet, kann es sein,
dass ein Script 99% der Zeit ohne Exceptions abläuft, möglicherweise hin und wieder
ein unerwartetes Ergebnis entsteht, möglicherweise aber nicht mal das.
Ich denke, ich spreche hier für jeden Python-Programmierer, wenn ich sage: Das ist FUD, verbreitet von "static typing"-Anhängern.
Theoretisch ist das natürlich möglich, in der Praxis mir zumindest jedoch nie bewusst passiert.
Was dagegen hin und wieder passiert, sind Tippfehler bei Attributnamen oder lokalen Variablen, und genau da hilft pylint.
Sowas ist selbst für einen erfahrenen Programmierer nicht immer leicht zu entdecken.
Wenn es denn vorkäme.
Aber darum ging es mir eigentlich weniger. Dynamische Typisierung setzt eigentlich
voraus, dass man das Prinzip der Typisierung überhaupt erstmal realisiert und
das geht sicherlich besser, wenn man explizit festhalten muss, was für ein Typ
an einer bestimmten Stelle erwartet wird.
Dass man das Prinzip von Datentypen kapieren muss, ist klar, nur kann ich nicht verstehen, wie Typdeklarationen dabei helfen sollen. Wenn ich schreibe ``x = 1``, sehe ich genauso deutlich, dass hier ein Integer vorliegt.
Ich möchte Python damit nicht schlecht machen, oder Java preisen. Ich bin
aber der Ansicht, dass Python als Lernsprache kaum Vorteile, dafür aber einige
Nachteile, bietet und zwar sehr ähnlichen Gründen, warum ich es als Blödsinn
empfinde, irgendjemandem PHP als Einsteigersprache zu empfehlen (was ja
immer wieder gern gemacht wird).
Da sind wir uns ja einig
