Natürlich wird gewandelt:
Die Operation lautet: Teile Int(a) durch Int(b).
Wenn du das jetzt mal auf Maschinenbefehle abbildest, wird das alles als Integer realisiert., das Ergebnis ist dann wieder ein Register/Speicherinhalt mit dem Typ "Int".
Ggf. brauche ich dann noch den Restwert (mod)...
Die Ausgabe mit echo erfolgt jedoch als Fließkommazahl... und das ist eine überraschende Type-Konvertierung.
Ob da jetzt echo die Konvertierung vollzieht oder das schon das Ergebnis der Division ist, ist Wumpe...
Das hat mit C-Tellerrand nichts zu tun, das hat was mit Typsicherheit zu tun:
Der Entwickler hat einen Typ definiert und will nicht immer überlegen müssen, was der Compiler jetzt aus dem Ergebnis wohl machen wird... (Wir hatten das Problem ja schon mal weiter oben angesprochen - da war es jedoch klar)
- wo da der Fortschritt steckt?
Und mal ehrlich: Wenn der Parser im Compiler zwei verschiedene Divisionsoperanten benötigt (einmal für reine Integeroperationen und dann eine für Fließkomma) dann ist das _kein_ Fortschritt.
Das das bei 30 Jahre alten Interpretern so war, ist mir sowas von...
Hört sich an wie das alte Beamtenmantra:
- "Das haben wir schon immer so gemacht"
- "Das haben wir noch nie so gemacht"
- "Da könnte ja jeder kommen"