Der Martin: If-Abfrage

Beitrag lesen

Hi,

Ich weiss nicht, wo du zur Schule gegangen bist, aber in diesem Universum ist mathematisch-logisch ein Ding der Unmöglichkeit, einen Text mit einer Zahl zu vergleichen.

aus einem ganz ähnlichen Universum komme ich wohl auch.

... didaktisch besonders wertvoll.

Ja, finde ich auch.

Dann würde sich mir nämlich erschließen, in welcher unbescholtenen Ecke unseres Universums man behauptet "Hasimaus" === "" wäre eine mathematisch-logische Operation und "Hasimaus" > 0 nicht. Denk doch bitte mal darüber nach.

Gut, da du selber das anscheinend vergessen hast, holen wir das mit dem Nachdenken mal nach.

In der Mathematik haben wir es mit Zahlen, Vektoren, Mengen oder ähnlichem zu tun; das Grundelement ist aber immer wieder ein Zahlenwert, ein Skalar. Die kann man miteinander vergleichen - nicht nur auf Gleichheit, sondern auch anhand einer Größer-Kleiner-Relation.

Verlassen wir die reine Mathematik und gehen in die Physik, wo wir nicht mit rein numerischen Angaben hantieren, sondern mit physikalischen Größen. Da wird's mit dem Vergleichen schon knifflig, weil ein Größer/Kleiner-Vergleich nur dann sinnvoll ist, wenn beiden Operanden zumindest dieselbe physikalische Größe darstellen. Wir bekommen also keine sinnvolle Aussage, ob 20 Sekunden größer oder kleiner sind als 100 Meter. Wir können bestenfalls feststellen: Die beiden Angaben sind ungleich.

Und in Programmiersprachen sieht es ähnlich aus: Konstanten, Variablen und Ausdrücke haben einen Typ, und Vergleiche sind nur durchführbar, wenn die Operanden vom gleichen Typ sind oder wenigstens eine eindeutige Umwandlungsvorschrift existiert. Falls nicht, bleibt auch nur die einzig mögliche Aussage: Die Operanden sind ungleich. Die Frage nach Größer oder Kleiner ergibt aber keinen Sinn.

Programmiersprachen mit starker (statischer) Typisierung lehnen übrigens sogar den reinen Vergleich auf gleich/ungleich ab, wenn die Operanden nicht typkompatibel sind.

Stellvertretend dürfen das auch alle, die deinen 1. Beitrag für hilfreich hielten. Ich schau derweil mal ...

Ja, mach mal.

So long,
 Martin