PHP 7 erschienen!

Dann sind das wohl alles recht vernünftige Sprachen... Bis auf PHP eben.

Sry, aber eine Sprache bei der "String + String = Int" gilt, kann ich nicht wirklich ernst nehmen.

Implizite Typenkonvertierung ist einfach ein Magnet für schwer auffindbare Fehler. Wie soetwas beabsichtigtes Verhalten sein kann, wird mir für immer ein Rätsel bleiben.
 
Dann sind das wohl alles recht vernünftige Sprachen... Bis auf PHP eben.

Sry, aber eine Sprache bei der "String + String = Int" gilt, kann ich nicht wirklich ernst nehmen.

Implizite Typenkonvertierung ist einfach ein Magnet für schwer auffindbare Fehler. Wie soetwas beabsichtigtes Verhalten sein kann, wird mir für immer ein Rätsel bleiben.

An sich richtig.
Aber man betrachte es mal von der anderen Seite: So muss man Usereingaben (die eigentlich immer als String vorhanden sind) nicht erst prüfen und in einen Int umwandeln, wenn man Rechenschritte durchführen muss. Aber man kann, soweit ich mich entsinne, vorher natürlich eine Abfrage machen, ob denn beide Variablen gültige Ints sind, um andere Fehler zu vermeiden.
In meinen Augen würde es hier nur zu mehr Fehlern führen, wenn das + in PHP wie in anderen Sprachen zur String-Konkatenation benutzt werden würde.

Klar, eine Fehlerausgabe wäre auch möglich. Aber wie bereits gesagt: Zum Verarbeiten von Usereingaben empfinde ich dies als idealen Ansatz, anstatt gleich dem User einen fetten Fehler entgegenzuwerfen, der damit vermutlich nichtmal etwas anfangen kann.

Aber dieses Verhalten bei impliziter Typenkonvertierung ist immer noch besser als der Ansatz von JavaScript (jedenfalls in meinen Augen). ;)

Aber es ist trotzdem nicht richtig, eine Sprache deswegen als "unvernünftig" abzustempeln.
Nur mal so - Pythons Zwangseinrückungen sind auch nicht sooo das Wahre. ;)
Keine Sprache macht alles richtig, aber wir können ja eine Workgroup aufmachen und unsere eigene Sprache entwickeln und diese ganzen Fehler in dieser dann nicht einbauen. ;)
 
An sich richtig.
Aber man betrachte es mal von der anderen Seite: So muss man Usereingaben (die eigentlich immer als String vorhanden sind) nicht erst prüfen und in einen Int umwandeln, wenn man Rechenschritte durchführen muss. Aber man kann, soweit ich mich entsinne, vorher natürlich eine Abfrage machen, ob denn beide Variablen gültige Ints sind, um andere Fehler zu vermeiden.
In meinen Augen würde es hier nur zu mehr Fehlern führen, wenn das + in PHP wie in anderen Sprachen zur String-Konkatenation benutzt werden würde.

Klar, eine Fehlerausgabe wäre auch möglich. Aber wie bereits gesagt: Zum Verarbeiten von Usereingaben empfinde ich dies als idealen Ansatz, anstatt gleich dem User einen fetten Fehler entgegenzuwerfen, der damit vermutlich nichtmal etwas anfangen kann.

Das sehe ich anders. In der GUI weißt man doch, welche Werte (ob String oder Zahl) wo reinkommen. Also prüft man bei der Eingabe in die Felder die Werte und lässt nur das zu, was auch wirklich erlaubt ist. Dann im Code, sollte man es wirklich zusammensetzen wollen, castet man das Ganze ist das Thema ist erledigt.
 
Das sehe ich anders. In der GUI weißt man doch, welche Werte (ob String oder Zahl) wo reinkommen. Also prüft man bei der Eingabe in die Felder die Werte und lässt nur das zu, was auch wirklich erlaubt ist. Dann im Code, sollte man es wirklich zusammensetzen wollen, castet man das Ganze ist das Thema ist erledigt.

Darauf kann man sich (leider) auch nicht verlassen. Ich hatte erst gestern ein Web-Formular der Telekom aufm Bildschirm, die haben einem E-Mailfeld nicht mal den Typ "email" verpasst ... :heul:
 
Zurück