Tom_H, du hast recht, ich denke ich muss dich jetzt wirklich verhauen. Aber nur verbal, also keine Angst
Ich kann deinen Punkt verstehen, mit statisch typisierten Sprachen, allerdings nicht die auswahl der Sprache. Denn C verarbeitet alles was wie ne Zahl aussieht, denn für C ist eigentlich alles ne Zahl und man kann beliebig im Speicher rumschreiben, und wunderbar Memory-Corruption basteln. Der typischste Fehler in C-Programmen ist, nunja, "Segmentation Fault", der meist passiert wenn man irgendwo irgendwas überschreibt bis es kracht. Nicht gerade Anfängerfreundlich. Und Pointer sind für viele Anfänger auch extrem schwer zu verstehen, ich hab den Sinn davon erst verstanden als ich angefangen habe x86-Assembler zu schreiben. Für ne sichere statisch typisierte Sprache würde ich eher zu Haskell, OCaml oder SML raten. Allerdings denke ich nicht, dass das allzuleicht für die meisten Anfänger sein wird. Auch wenn es schicke Sprachen sind, zweifellos.
Tom_H hat geschrieben:Ich bin alter Pascalianer der ersten Stunde - bei "True == 1" bekomm' ich graue Haare. Ein Boolean ist kein Integer (das ist aber keine Python-Eigenart - sehr viele Sprachen behandeln False und Null gleichwertig).
Na, und dann empfiehlst du C, das als ANSI C erstens gar keine Booleans hat und als C99 diese quasi als aliase für 0 und 1 definiert sind. Interessant, aber nicht sehr konsequent von dir
Tom_H hat geschrieben:Die stillschweigende float/int-Conversion kann auch viele Stunden Fehlersuche bescheren - da wären dann vordeklarierte Typen eindeutig im Vorteil.
Mag sein, allerdings aus eigener Erfahrung: passiert mir nie. Liegt daran, dass ich eigentlich nie Fälle hab wo Integer und Floats zusammengerechnet werden. Wenn dann sind die Integer konstanten und die Variablen Floats und es ist mir immer klar dass am Schluss Floats rauskommen.
Tom_H hat geschrieben:Die Python-Regeln, wann Referenzen und wann Werte übergeben werden, sind mir bis heute nicht klar - und den meißten Anfängern wahrscheinlich auch nicht. Hier ist IMHO ein breites Betätigungsfeld für Seiteneffekte (und ganz schwer auffindbare Programm-Fehler).
Wie jemand schon sagte, die Regel ist einfach: "IMMER"

Es werden immer Referenzen übergeben, nie die Objekte selbst. Und Referenzen sind keine Pointer.
Tom_H hat geschrieben:Ich habe übrigens mit Fortran-77 auf Lochkarten an einer CDC-6500 angefangen.
Ohne dich jetzt diskreditieren zu wollen, das muss nicht viel heißen.
