|
|
|
|
| Zitat von [KDO2412]Mr.Jones
| Zitat von cms
...
***
| Zitat von [KDO2412]Mr.Jones
Es gibt nur ein return Statement am Ende der Methode!
Also am Anfang ein Bool mit false initialisieren, nur bei erfolgreichem login auf true setzen und am Ende noch mal vergleichen.
| |
| |
Ich finde es furchtbar, wenn Funktionen mittendrin an mehreren Stellen ein "return" ausführen. Mag praktisch sein, aber macht es nicht leichter lesbar / verständlicher, vor allem wenn da noch "viel Code" zwischen ist.
Und wenn am Ende $loginSuccessful true ist, dann kannst Du ja ein Userobjekt zurückgeben oder was auch immer...
| |
Du nutzt auch continue; und break; nicht, oder?
|
|
|
|
|
|
|
Leider gar nix lesbar, da unformatted
An und zu sehe ich ein frühes return ja ein, aber in dem Fall oben war es ja nur Code-Verdoppelung.
|
|
|
|
|
|
|
| Zitat von Ameisenfutter
Woher kommt (heute) eigtl der PHP-Hate? Klar, Syntax ist immer noch nicht 100% C-like, aber das macht doch Laravel wieder wett.
| |
PHP-Hass ist doch sehr traditionell, den gibt es seit 20 Jahren oder so!
|
|
|
|
|
|
|
|
Code: |
for (let foo of bar) {
if (allesNochOk) {
doSomething();
}
}
|
|
/doppelzwipo
// Unter fünf returns lohnt sich keine Methode, mfM!
|
[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von Ameisenfutter am 30.08.2021 13:10]
|
|
|
|
|
|
| Zitat von SkunkyVillage
| Zitat von [KDO2412]Mr.Jones
| Zitat von cms
...
***
| Zitat von [KDO2412]Mr.Jones
Es gibt nur ein return Statement am Ende der Methode!
Also am Anfang ein Bool mit false initialisieren, nur bei erfolgreichem login auf true setzen und am Ende noch mal vergleichen.
| |
| |
Ich finde es furchtbar, wenn Funktionen mittendrin an mehreren Stellen ein "return" ausführen. Mag praktisch sein, aber macht es nicht leichter lesbar / verständlicher, vor allem wenn da noch "viel Code" zwischen ist.
Und wenn am Ende $loginSuccessful true ist, dann kannst Du ja ein Userobjekt zurückgeben oder was auch immer...
| |
Du nutzt auch continue; und break; nicht, oder?
| |
Kaum, da ich wenig bis gar keine Loops habe, die etwas überprüfen müssen. Bei mir ist es immer ein Iterieren über Datenbank-Ergebnisse (oder halt Antworten von der REST Schnittstelle im Frontend, wenn in Typescript).
Momentan ärgere ich mich aber eher mit AWS Datenbanken rum, bzw. der Netzwerk-Latenz. Da haben wir evtl. aufs falsche Pferd gesetzt. Und nein, Elasticache ist nicht die Lösung unserer Probleme.
|
|
|
|
|
|
|
| Zitat von Armag3ddon
| Zitat von Ameisenfutter
Woher kommt (heute) eigtl der PHP-Hate? Klar, Syntax ist immer noch nicht 100% C-like, aber das macht doch Laravel wieder wett.
| | PHP-Hass ist doch sehr traditionell, den gibt es seit 20 Jahren oder so!
| | Mein Hauptproblem mit PHP ist dasselbe wie bei JS: Es fing an als Funktionssammlung und ist dann organisch gewachsen. Irgendwann wurde es von professionellen Software-Entwicklern weiter spezifiziert, aber die ganzen komischen Eigenarten und Design-Fehler sind - im Namen der Abwärtskompatibilität* - immer noch drin. Und anders als JS kann PHP mittlerweile auf Serverseite durch jede andere Sprache ersetzt werden (sogar durch JS - nicht, dass das irgendwas besser machte ...)
* Probleme, die übrigens auch C und C++ begleiten: In C++ gibt es mittlerweile ca. 500 verschiedene Syntax-Varianten, um ein und dasselbe zu schreiben.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von cms am 30.08.2021 13:19]
|
|
|
|
|
|
|
|
|
|
| Zitat von [KDO2412]Mr.Jones
| Zitat von cms
...
***
| Zitat von [KDO2412]Mr.Jones
Es gibt nur ein return Statement am Ende der Methode!
Also am Anfang ein Bool mit false initialisieren, nur bei erfolgreichem login auf true setzen und am Ende noch mal vergleichen.
| |
| |
Ich finde es furchtbar, wenn Funktionen mittendrin an mehreren Stellen ein "return" ausführen. Mag praktisch sein, aber macht es nicht leichter lesbar / verständlicher, vor allem wenn da noch "viel Code" zwischen ist.
Und wenn am Ende $loginSuccessful true ist, dann kannst Du ja ein Userobjekt zurückgeben oder was auch immer...
| |
Ich kann ehrlich gesagt keinen Unterschied zwischen einem early return und einer geworfenen Exception erkennen was die Verständlichkeit vom Kontrollfluss angeht.
|
|
|
|
|
|
|
| Zitat von Armag3ddon
| Zitat von Ameisenfutter
Woher kommt (heute) eigtl der PHP-Hate? Klar, Syntax ist immer noch nicht 100% C-like, aber das macht doch Laravel wieder wett.
| |
PHP-Hass ist doch sehr traditionell, den gibt es seit 20 Jahren oder so!
| |
Wenn der PHP-Hate auch auf wissen von vor 20 Jahren sich stützt, der gehört dann aber auch gepaddelt.
|
|
|
|
|
|
|
Der Blogpost wird ja bald auch schon zehn, da war es noch PHP 5...
|
|
|
|
|
|
|
Wenn ich doch bloß erwähnt hätte, dass da nicht mehr alles aktuell ist.
Oh, wait.
|
|
|
|
|
|
|
| Zitat von cms
| Zitat von Armag3ddon
| Zitat von Ameisenfutter
Woher kommt (heute) eigtl der PHP-Hate? Klar, Syntax ist immer noch nicht 100% C-like, aber das macht doch Laravel wieder wett.
| | PHP-Hass ist doch sehr traditionell, den gibt es seit 20 Jahren oder so!
| | Mein Hauptproblem mit PHP ist dasselbe wie bei JS: Es fing an als Funktionssammlung und ist dann organisch gewachsen. Irgendwann wurde es von professionellen Software-Entwicklern weiter spezifiziert, aber die ganzen komischen Eigenarten und Design-Fehler sind - im Namen der Abwärtskompatibilität* - immer noch drin. Und anders als JS kann PHP mittlerweile auf Serverseite durch jede andere Sprache ersetzt werden (sogar durch JS - nicht, dass das irgendwas besser machte ...)
* Probleme, die übrigens auch C und C++ begleiten: In C++ gibt es mittlerweile ca. 500 verschiedene Syntax-Varianten, um ein und dasselbe zu schreiben.
| |
Das Problem verstehe ich eigentlich nicht. Einerseits ist es quasi zwingend bei einer Technologie, die lange Zeit besteht und andererseits zwingt Dich ja keiner, alte Syntax zu verwenden.
|
|
|
|
|
|
|
| Zitat von Ameisenfutter
| Zitat von cms
| Zitat von Armag3ddon
| Zitat von Ameisenfutter
Woher kommt (heute) eigtl der PHP-Hate? Klar, Syntax ist immer noch nicht 100% C-like, aber das macht doch Laravel wieder wett.
| | PHP-Hass ist doch sehr traditionell, den gibt es seit 20 Jahren oder so!
| | Mein Hauptproblem mit PHP ist dasselbe wie bei JS: Es fing an als Funktionssammlung und ist dann organisch gewachsen. Irgendwann wurde es von professionellen Software-Entwicklern weiter spezifiziert, aber die ganzen komischen Eigenarten und Design-Fehler sind - im Namen der Abwärtskompatibilität* - immer noch drin. Und anders als JS kann PHP mittlerweile auf Serverseite durch jede andere Sprache ersetzt werden (sogar durch JS - nicht, dass das irgendwas besser machte ...)
* Probleme, die übrigens auch C und C++ begleiten: In C++ gibt es mittlerweile ca. 500 verschiedene Syntax-Varianten, um ein und dasselbe zu schreiben.
| | Das Problem verstehe ich eigentlich nicht. Einerseits ist es quasi zwingend bei einer Technologie, die lange Zeit besteht und andererseits zwingt Dich ja keiner, alte Syntax zu verwenden.
| | Das Problem verstehst du, sobald mehr als eine Person an einer Code-Base arbeitet. Wechsel doch einfach den Job! Oder schreib doch einfach die Code-Base von 2 mio LoC um! Oder schreib doch einfach neuen Code in neuester Syntax!
Klar, wenn man komplett bei null beginnt, kann man sich darauf einigen, die neueste Syntax und die sinnvollsten Funktionen zu benutzen, bzw. problemanfällige Funktionen zu meiden, aber früher oder später sind die aktuellen, tollen Funktionen, die problematischen Funktionen von gestern. Was machst du dann?
Sinnvoll wäre es, Altlasten erst zu deprecaten und dann später komplett wegzuschmeißen (über 2-3 Major-Versionen). Python-Programme haben beim Port von 2.7 auf 3.5 auch selten einfach so weiterhin funktioniert.
|
|
|
|
|
|
|
Ich arbeite am 30 Jahre alten Fahrzeuginstandhaltungssytem der Deutschen Bahn.
Ich sehe dazu halt keine Alternative.
/ Ja klar wäre super, aber wer soll das mitmachen (und bezahlen)? Der Code funktioniert ja.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Ameisenfutter am 30.08.2021 15:21]
|
|
|
|
|
|
(Geil (eine (Programmiersprachen (Debatte))))
|
|
|
|
|
|
|
| Zitat von Ameisenfutter
Ich arbeite am 30 Jahre alten Fahrzeuginstandhaltungssytem der Deutschen Bahn.
Ich sehe dazu halt keine Alternative.
/ Ja klar wäre super, aber wer soll das mitmachen (und bezahlen)? Der Code funktioniert ja.
| | Junge, die Eingangsfrage war, wo der Hass auf <Programmier-Sprache X> herkommt. Das PHP-Programme (oder das Fahrzeuginstandhaltungssytem der Deutschen Bahn) funktionieren* war nie Teil des Problems.
* meistens**
** Wenn sich der User nicht außerhalb des goldenen Pfads bewegt***
*** meistens
|
|
|
|
|
|
|
Die Frage, wie in einer nicht-idealen Welt eine weit verbreitete Programmiersprache ohne Abwärtskompatibilität auskommen soll, wird dadurch ja nicht beantwortet. Ich versteh's ja, aber ist halt irgendwie nicht so guter Hate, wenn der Grund für den Hate einfach unausweichlich ist.
Guck Dir mal ABAP an. Das ist genauso alt, genauso abwärtskompatibel und da ist selbst die Neueste Syntax noch scheiße.
|
|
|
|
|
|
|
Trifft doch auf PHP auch zu, dass auch die neueste Syntax noch scheiße ist.
|
|
|
|
|
|
|
Wie gesagt: Python-Programme mussten von 2.7 auf 3.5 portiert werden. Da Python eine der weltweit am meisten verwendeten Programmier-Sprachen ist, ist die Frage ausreichend beantwortet.
Es geht ja nicht darum, von heute auf morgen alles umzuschmeißen. Es geht darum, die schlimmsten Design-Fehler zu korrigieren und die jeweiligen Anpassungen im Rahmen zu halten. Wenn sowas >20 Jahre dauert und dann immer noch fragwürdig ist, dann ist der Hass möglicher Weise berechtigt.
Und die Frage, wer das bezahlen soll, wird immer sehr schnell und einfach beantwortet, wenn die Abwärtskompatibilität auf einmal weg ist. Entweder gibt man Geld aus, um am Zahn der Zeit zu bleiben (mit Abstand, natürlich), oder man gibt mehr Geld für Entwickler aus, die sich noch damit auskennen.
**
Hab mir ABAP angeguckt. Ich hasse diese Sprache jetzt auch. ezgg!
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von cms am 30.08.2021 16:00]
|
|
|
|
|
|
| Zitat von cms
Wie gesagt: Python-Programme mussten von 2.7 auf 3.5 portiert werden. Da Python eine der weltweit am meisten verwendeten Programmier-Sprachen ist, ist die Frage ausreichend beantwortet.
| |
Also ich kenne keinen Konzern, der sein ERP oder andere Kernsoftware mit einem Python-Backend umgesetzt hat.
|
|
|
|
|
|
|
| Zitat von Ameisenfutter
| Zitat von cms
Wie gesagt: Python-Programme mussten von 2.7 auf 3.5 portiert werden. Da Python eine der weltweit am meisten verwendeten Programmier-Sprachen ist, ist die Frage ausreichend beantwortet.
| | Also ich kenne keinen Konzern, der sein ERP oder andere Kernsoftware mit einem Python-Backend umgesetzt hat.
| | Toyota benutzt Odoo, das mit Python umgesetzt ist.
|
|
|
|
|
|
|
Der Punkt ist, dass das nicht die Regel ist. Die großen Softwaresysteme dieser Welt sind alle uralt und mit Sprachen gebaut, die auch 20 Jahre alte Syntax und Patterns noch zulassen.
/ Tatsächliche Software-Produkte mal ausgenommen.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Ameisenfutter am 30.08.2021 16:03]
|
|
|
|
|
|
| Zitat von Ameisenfutter
Die großen Softwaresysteme dieser Welt sind alle uralt und mit Sprachen gebaut, die auch 20 Jahre alte Syntax und Patterns noch zulassen.
| | ... und einen Entwickler nach dem nächsten ausbrennen, was den Hass auf die Programmier-Sprachen u.A. erklärt. Und so schließt sich der Kreis.
|
|
|
|
|
|
|
Da bin ich ja bei Dir. Die Ursachen- und Lösungssuche müssten wir aber in den ibjnr-Thread auslagern.
|
|
|
|
|
|
|
Ist Python 2.7 damit jetzt eigentlich vom Tisch?
|
|
|
|
|
|
|
Java und Python sind beide älter als PHP, und deutlich besser gealtert.
¤: Und überhaupt, beschissene Software lässt sich mit allem schreiben, und wichtiger noch: schlecht gewartete Systeme sowieso. Software die benutzt wird, und nicht einem steten Wartungsprozess unterzogen wird, altert wie reife Bananen. Und das wird auch immer so bleiben.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von SwissBushIndian am 30.08.2021 16:16]
|
|
|
|
|
|
Ich bin ja leidenschaftslos, was PHP angeht, aber Laravel hat mich wirklich geflashed.
|
|
|
|
|
|
|
Rails ist auch ein tolles Framework, macht Ruby noch nicht zu einer guten Sprache.
Mir ist btw die verwendete Sprache insgesammt ziemlich egal. Tooling drumrum macht auf lange Frist einen viel grösseren Unterschied. Ohne Qualitätsanspruch kann man alles zerficken, und das in Windeseile. Ich sehe es wieder jeden Tag
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von SwissBushIndian am 30.08.2021 16:21]
|
|
|
|
|
|
|
|
|
|
Aber das is doch kacke.
- NIH syndrome
|
|
|
|
|
|
Thema: Software-Entwicklung 0 ( new SammelThread() ) |