Hi Matti
use Mosche;
Wenn den Thread jetzt ein Einsteiger liest, dann erfährt er nämlich
folgendes:
von mir: aha, klare Trennung: "=" ist Zuweisung, "==" ist Vergleich
von Euch: aha, kann auch "=" für Vergleiche nehmen oder gar nichts
geht auch, also ist es egal
Letzteres ist falsch und wurde auch von niemandem so behauptet.
So kam es aber bei mir an. Natürlich steht nicht immer jede Behauptung wort-wörtlich beschrieben da.
Ich möchte mal ein Stück aus dem Posting http://forum.de.selfhtml.org/?m=28095&t=5001 nochmal hierhin schreiben:
(meine)
In den meisten Programmiersprachen gibt es noch ein "vergleichendes Gleich" für Fallunterscheidungen:
if ($a == $b){
// mach dies
} else {
// mach das
}
An dieser Stelle sei erwähnt, daß es sogar ein Fehler wäre, das einfache Zuweisungs-"Gleich" (=) zu verwenden.
(Deine)
Ist es nicht. Es macht nur nicht das, was du willst. ...
Frage: Wenn Dein Programm nicht das tut, was es soll, würdest Du es dann als fehlerfrei bezeichnen? Es macht ja was, nur was anderes. Also für mich ist das ein Fehler. Da hat zwar kein Compiler "syntax error" geschriehen und kein Interpreter hat "parse error" gerufen.
Es ist aber trotzdem kein Fehler, weil es auch den Fall gibt, wo was "Zuweisungs-Gleich" gebraucht wird und nicht das "Vergleichs-Gleich".
Das Programm ist zwar fehlerhaft, es hat aber keine Fehler (hääähh?).
Wenn ich $a mit $b multipliziere und will eigentlich mit $c multiplizieren, dann ist das auch ein Fehler. Erklär doch eher das dem Anfänger.
Also ich habe jetzt den Eindruck, daß wir doch eigentlich einer Meinung sind. Oder nicht?
Es ist ein Fehler, nicht das zu tun, was man sollte, weil dann was anderes herauskommt. Und ich sag doch auch _nur_, daß es ein Fehler ist für einen Vergleich den Operator für die Zuweisung zu nehmen. Es war doch nie die Rede von falscher Syntax oder so.
Also ich hatte mir damals beim Schreiben nicht so intensive Gedanken gemacht, aber je mehr ich drüber nachdenke, um so weniger kann ich in meiner Formulierung keinen Fehler sehen. Jedenfalls kann ich nicht verstehen, warum ein Fehler zwangsweise ein Syntaxfehler sein muß.
Damit wären wir irgendwie bei der Klassifizierung, eine Grundlage für gutes objektorientiertes Softwaredesign (denk ich mal):
Es gibt Schußlichkeitsfehler, Denkfehler, Syntaxfehler, Rechenfehler, Materialfehler, Produktionsfehler, Konzeptfehler, Designfehler, Schönheitsfehler......... alles sind Fehler.
Genauso gibt es Schreibtische, Eßtische, Couchtische, Schultische ... alles Tische. Nur weil Du den ganzen Arbeitstag am Schreibtisch sitzt, muß doch Deine Frau nicht zwangsweise mit einem Tisch einen Schreibtisch meinen. Oder?
Ich denke, wir sollten diesen Thread langsam mal abschließen, sonst wird der noch größer, als der "Was war los in selfhtml". Dann tun die anderen uns bestimmt schlagen. Oder sie steigen nochmal mit ein *lol*
Gruß,
Andreas
PS: Falls mal ein bisschen Abwechslung gefragt ist: http://schigold.de/spiel/