1. Foren
  2. Kommentare
  3. Software-Entwicklung
  4. Alle Kommentare zum Artikel
  5. › Entwicklung: Microsoft…
  6. Thema

sowohl PHP, als auch NT sind bedeutungslos..

  1. Thema
  1. 1
  2. 2

Neues Thema Ansicht wechseln


  1. Re: sowohl PHP, als auch NT sind bedeutungslos..

    Autor: vollstorno 11.07.20 - 07:13

    [quote]PHP ist schlicht und einfach eingeschränkt, das ist einfach so.[/quote]Man kann durchaus sehr viel in PHP realisieren, nur sollte man es vllt. nicht ;-) Andere Sprachen eignen sich besser um Spezialaufgaben zu übernehmen, bspw. Python oder Node für Bots.

    [quote]man kann sich im RAM zwischen Requests nichts speichern.[/quote]Caching, so u.a. Memcached, wurde oben bereits abgehandelt. Wo ist das Problem?

    [quote]BETE dass dein Prozess nicht länger als ein paar Minuten braucht (..) Garbage und leaked Memory[/quote]Man muss schon aufpassen was man macht (Beispiel: bei Table Joins unnötige Blobs auslassen) und entsprechend konfigurieren, ist jedoch nicht zwangsläufig ein PHP-Problem. Ich habe einige "daily" Tasks auf meinen Systemen die gerne 15 Minuten am Stück laufen; sind es nur Pipifax-Operationen gibt es keinerlei Probleme; ansonsten Logs lesen und nachjustieren.

    [quote]gewisse Sauereien in PHP einafch untragbar geworden sind, weshalb man sie aus der Sprache löscht. Die std lib von PHP ist in diesem Bereich einfach absolut furchterregend[/quote]Korrekt, jedoch wird man nicht (mehr) gezwungen unsauber zu arbeiten. Hat man eine halbwegs kompetente Codebase sind Upgrades keine unüberwindbare Hürde. Schwierig wird es bei "richtigen Sauereien", wobei man ggf. 5.6 weiterverwenden kann oder eben alles neu schreibt.

    [quote]Deswegen gibt es auch so tollen syntax wie "continue 2" in Switches *g*.[/quote]Ja gut, aber wer braucht und schreibt sowas?

    [quote]Schon mal probiert in PHP eine Datei zu zippen? Hast du auch daran gedacht, was passiert wenn die Datei plötzlich größer als 4 GB ist?[/quote]Auch eher als Spezialfall einzuordnen. Schau mal bei Stackoverflow/Bing vorbei, Stichwörter: stream, gzcompress, exec, pipe; so kann man u.a. eine ZIP Klasse schreiben und Daten via gzcompress on the fly streamen. Wie es genau umzusetzen wäre kommt drauf an - Raketenwissenschaft ist das alles nicht.

    [quote](..) dass Caching dafür sorgt, dass PHP nicht "untragbar langsam ist". (Hohe) Geschwindigkeit ist etwas absolut anderes und PHP ist damit immer noch weit abgeschlagen (..)[/quote]Solange man keinen Schwachsinn implementiert und sinnvoll konfiguriert ist PHP7 meiner Erfahrung nach äußerst performant. Dies kann man auch an Benchmarks ablesen, die laufend aktualisiert und publiziert werden.
    PHP ist nicht schuld wenn der Anwender ein Stümper ist und/oder Bloatware installiert.

  2. Re: sowohl PHP, als auch NT sind bedeutungslos..

    Autor: aLpenbog 11.07.20 - 07:42

    Gole-mAndI schrieb:
    --------------------------------------------------------------------------------
    > Ich verstehe gar nicht wieso immer alle gegen PHP hetzen. So schlecht ist
    > die Sprache gar nicht. Vielleicht sind alle Hater bei PHP 4 ausgestiegen?

    Weil etwas gemeinsam hassen Gemeinschaft bildet. Das war schon so in der Schule mit Lehrern oder ist teilweise bei Bossen so oder auch bei politischen Gesinnungen.

    Klar PHP war früher zum Schreien. Es war auch nie wirklich als Sprache gedacht, sondern hat als Template Engine gestartet. Wurde von den Nutzern dann komplett anders genutzt und hat sich der Nutzerbase nach und nach angepasst.

    Mittlerweile kann man damit relativ guten Code schreiben aber natürlich auch noch aufgrund der Abwärtskompatiblität viel zusammen fuschen. Das muss aber auch nicht immer schlecht sein. Sei es ein kurzes Skript oder Snippet, was in die Tonne kommt oder für seltene Fälle mal ausgepackt wird oder eben als Prototype für etwas, um eine Idee schnell umzusetzen, die so nicht ewig produktiv bleiben muss.

    Klar gibt es viel, was PHP nicht wirklich kann, wofür es dann andere Tools wie Caches gibt, die mit PHP zusammenarbeiten, Module für den Apache usw. Manches läuft gut und ist so brauchbar, manches könnte man maximal als experimentell bezeichnen.

    Das ist dann aber für mich ein Bereich, da geht es nicht darum, dass PHP schlecht ist, sondern dass der Entwickler oder das Unternehmen schlicht das falsche Werkzeug für die entsprechende Aufgabe nutzt. Nur weil der Vorschlaghammer sich nicht so gut für eine Wurzelbehandlung eignet, ist er kein schlechtes Werkzeug. Ggf. ist der Zahnarzt, der ihn verwendet und schlecht redet ein schlechter Zahnarzt?

    Ich sage mal zum Rendern von HTML, Daten aus einer Datenbank holen und entsprechende String- und Arraybearbeitung sind vermutlich die Haupt-Use-Cases von PHP und abgesehen von kleinen Inkonsistenzen bei der API ala Needle/Haystack erledigt das bestens seinen Job.



    1 mal bearbeitet, zuletzt am 11.07.20 07:50 durch aLpenbog.

  3. Re: sowohl PHP, als auch NT sind bedeutungslos..

    Autor: Gole-mAndI 11.07.20 - 08:28

    Was haben denn nun alle mit Caching? Schon mal REST programmiert? Das ist per Definition stateless, der Server merkt sich also die Arbeitsdaten nicht*. Trotzdem lassen sich hoch performante Dienste realisieren.

    * Höchstens allgemeine Daten die request unabhängig sind.

  4. Re: sowohl PHP, als auch NT sind bedeutungslos..

    Autor: Gole-mAndI 11.07.20 - 08:32

    Das Osterschnabeltier schrieb:
    --------------------------------------------------------------------------------
    > Schattenwerk schrieb:
    > ---------------------------------------------------------------------------
    > -----
    >
    > Ich kann PHP und finde es schlecht. So, und jetzt?
    > PHP ist schlicht und einfach eingeschränkt, das ist einfach so. Es ist
    > fundamental in die Sprache eingeprägt. Es gibt kein Threading und man kann
    > sich im RAM zwischen Requests nichts speichern.
    >
    Erstmal ist gar nichts so. Du klingst nach einem sehr unerfahrenen Programmierer. Für eigentlich alle von dir genannten Punkte gibt es gute Lösungen. Man muss sie nur kennen und nutzen.
    Aktuell wird REST state of the art und das ist sogar zustandslos.

  5. Re: sowohl PHP, als auch NT sind bedeutungslos..

    Autor: dr1fter 11.07.20 - 09:20

    > Ich sage mal zum Rendern von HTML, Daten aus einer Datenbank holen und entsprechende
    > String- und Arraybearbeitung sind vermutlich die Haupt-Use-Cases von PHP und abgesehen von
    > kleinen Inkonsistenzen bei der API ala Needle/Haystack erledigt das bestens seinen Job.

    schon zum Rendern von HTML ist PHP schlecht geeignet. Für die PHP-Laufzeit (im HTTP-Server-Kontext) ist nämlich alles, was ausgegeben wird im Wesentlichen ein String. Obwohl man typischerweise mit PHP-Anwendungen HTML generiert, weiß PHP nichts über HTML. Und das ist spätestens dann ein Problem, wenn es um Sicherheitsthemen geht (Escaping / Script-Injektionen durch gezielt zu Angriffszwecken geschriebene Benutzereingaben).

    Natürlich gibt es dafür (etliche) Bibliotheken, und insbesondere Rahmenwerke, die dafür Funktionen anbieten. Die muss man aber konsistent und immer korrekt verwenden. Gerade unerfahrenen Entwicklern wird das vermutlich schwerfallen - so sie denn überhaupt dafür sensibilisiert sind. Wenn man trial-error-Programmierung betreibt, hört man auf, wenn der Gutfall funktioniert (dabei entdeckt man Schwachstellen typischerweise nicht).

    Natürlich: wenn man immer alles richtig macht, kann man auch mit PHP korrekte, robuste und fehlerfreie Software / Webanwendungen entwickeln. Deswegen ist PHP aber noch kein _gutes_ Werkzeug.

    Ein weiteres Problem, nicht so sehr von PHP als Sprache, sondern vielmehr des Ökosystems, ist die Hemdsärmeligkeit der community. Das zieht sich nach meiner Erfahrung quer auch durch beliebte Libs. Da wird dann gerne in dummdreist-manier der 70%-Fall implementiert ("reicht ja"). Und sobald man mal einen richtigen Use-Case hat, stößt man an die Grenzen dieser ignoranz.

    Z.B. SWIFT-Mailer, bei dem man etwa nicht wahlfrei die SMTP-Headers setzen kann, sondern nur eine abstruse Abstraktion vorfindet, die es ja so viel einfacher machen soll (Spoiler: tut es nicht!).

  6. Re: sowohl PHP, als auch NT sind bedeutungslos..

    Autor: NaruHina 11.07.20 - 09:59

    warum sollteman eine andere sprache nutzen wenn es mit PHP auch funktoniert, und ich bereits PHP entwikler im haus habe?

  7. Re: sowohl PHP, als auch NT sind bedeutungslos..

    Autor: jankapunkt 11.07.20 - 10:13

    Sehe ich auch so, obwohl ich NodeJs entwickle. Php erfüllt seinen Dienst zufriedenstellend und wenn ich die skills dafür in der Firma da habe, macht es auch Sinn in php weiter zu entwickeln. Ich persönlich würde es nicht, weil mir die skills dazu fehlen.

    Ich denke auch die Zukunft von php wird eher danach aussehen, dass es sich eher noch weiter entwickelt und eben nicht irrelevant wird.

  8. Re: sowohl PHP, als auch NT sind bedeutungslos..

    Autor: tomatentee 11.07.20 - 11:16

    TheUnichi schrieb:
    --------------------------------------------------------------------------------
    > dr1fter schrieb:
    > ---------------------------------------------------------------------------
    > -----
    >
    > Auch heute entstehen täglich neue Plattformen in PHP und der Job-Markt
    > sucht verrückter und für höhere Preise als je zuvor.
    >
    In welcher Welt das denn?
    Einer unserer größten Kunden (Finanzsektor) hat z.B. in seiner ratecard in der 2020er Version die Rolle PHP-Entwickler gleich ganz gestrichen. Gibt sicherlich noch hier und da nen Legacy-Projekt, Neuentwicklungen finden in Java (Springboot) statt, das ersetzt .Net.
    Ich weiß gar nicht, wann ich das letzte Mal nen PHP-Entwickler gesucht habe. Java ist unproblematisch (Lehrsprache), grade haben wir eher Probleme Leute zu finden die DevOps Prozesse aufbauen können und Kubernetes, Istio und Camel KowHow haben.

  9. Re: sowohl PHP, als auch NT sind bedeutungslos..

    Autor: TheUnichi 11.07.20 - 15:15

    tomatentee schrieb:
    --------------------------------------------------------------------------------
    > In welcher Welt das denn?
    > Einer unserer größten Kunden (Finanzsektor) hat z.B. in seiner ratecard in
    > der 2020er Version die Rolle PHP-Entwickler gleich ganz gestrichen. Gibt
    > sicherlich noch hier und da nen Legacy-Projekt, Neuentwicklungen finden in
    > Java (Springboot) statt, das ersetzt .Net.
    > Ich weiß gar nicht, wann ich das letzte Mal nen PHP-Entwickler gesucht
    > habe. Java ist unproblematisch (Lehrsprache), grade haben wir eher Probleme
    > Leute zu finden die DevOps Prozesse aufbauen können und Kubernetes, Istio
    > und Camel KowHow haben.

    Ja, es gibt dann ab und zu mal einen Rockstar-CTO der loszieht und alle PHP Stacks gleich mit seiner Lieblings-To-Go-Sprache ablöst (Elixir, Go, JavaScript/TypeScript + GraphQL, Scala und Konsorten), was üblicherweise darauf hinaus läuft das 1 Jahr 2 Entwickler im Unternehmen mega aktiv sind und alle anderen sich an den Füßen spielen weil sie keine Ahnung haben was sie machen sollen, man am Ende eine Applikation hat die zwar Ideologisch voll toll ist, aber es einfach mega umständlich ist neue Features hinzuzufügen damit auch bloß alles schön ideologisch bleibt und diese nicht 60% der Funktionalität der vorigen Lösung bietet. Dann wird der CTO gefeuert, meist zusammen mit weiteren Mitarbeitern oder das Unternehmen geht daran direkt zugrunde.

    So kenn ich die "Ablöse von PHP". Als Null- bis Minusgeschäft. Man ersetzt nicht mal eben sein gesamtes Entwicklerteam.

    Wo wurde denn eine erfolgreiche Transition von PHP weg zu etwas anderem gemacht? Selbst Facebook läuft heute schlechter als je zuvor, was die Performance betrifft.

  10. Re: sowohl PHP, als auch NT sind bedeutungslos..

    Autor: Das Osterschnabeltier 11.07.20 - 15:55

    Gole-mAndI schrieb:
    --------------------------------------------------------------------------------
    > Das Osterschnabeltier schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > Schattenwerk schrieb:
    > >
    > ---------------------------------------------------------------------------
    >
    > > -----
    > >
    > >
    > >
    > >
    > > Ich kann PHP und finde es schlecht. So, und jetzt?
    > > PHP ist schlicht und einfach eingeschränkt, das ist einfach so. Es ist
    > > fundamental in die Sprache eingeprägt. Es gibt kein Threading und man
    > kann
    > > sich im RAM zwischen Requests nichts speichern.
    > >
    > Erstmal ist gar nichts so. Du klingst nach einem sehr unerfahrenen
    > Programmierer. Für eigentlich alle von dir genannten Punkte gibt es gute
    > Lösungen. Man muss sie nur kennen und nutzen.
    > Aktuell wird REST state of the art und das ist sogar zustandslos.

    Schöne Unterstellung (-:
    Wie sagt man so schön: Wenn dein einziges Werkzeug ein Hammer ist, ist jedes Problem ein Nagel.

    Natürlich gibt es für das alles Workarounds. Es kommt dann halt nur auf deine Schmerzensgrenze bei Wartbarkeit und Performace drauf an.

  11. Re: sowohl PHP, als auch NT sind bedeutungslos..

    Autor: mifritscher 11.07.20 - 15:58

    "
    Ich kann PHP und finde es schlecht. So, und jetzt?
    PHP ist schlicht und einfach eingeschränkt, das ist einfach so. Es ist fundamental in die Sprache eingeprägt. Es gibt kein Threading und man kann sich im RAM zwischen Requests nichts speichern.
    "
    Leider Käse.

    Natürlich geht das - siehe https://github.com/lukaszkujawa/php-multithreaded-socket-server als allererstes Beispiel. Das verwendet das im Unix-Bereich gerne verwendete fork() Prinzip - lässt sich aber auch mit pthreads realisieren.

    Dass bei php-Anwendungen der jeweilige Kontext meist nur für einen Seitenaufruf existiert hat nichts, aber auch garnichts mit der Sprache zu tun. Ach ja, übrigens, auch bei der klassischen Verwendung wird nicht für jeden Aufruf ein eigener php-Prozess gestartet, wenn man nicht gerade das völlig veraltete klassische cgi verwendet, sondern fastcgi.

    Bei der Webentwicklung benötigt man halt für sehr viele Anwendungen keine persistenten Objekte, und das Hintergrundzeug hat man in crons ausgelagert. Zum Speichern gibt es Dateien, Datenbanken oder shared memory (viele Caches haben da eingebaute Unterstützung für). Aber es ist auch mit php sehr wohl möglich, langlebige Prozesse zu bauen. Verwende ich selbst regelmäßig - und von Problemen beim GC habe ich noch nichts gemerkt. Kann aber auch sein, dass ich diese Probleme nicht habe, weil ich en wenig aufpasse und nicht GB-weise Zeug alloziere, nur um es Sekundenbruchteile später wieder wegzuschmeißen.

  12. Re: sowohl PHP, als auch NT sind bedeutungslos..

    Autor: Tuxee 11.07.20 - 17:31

    Das Osterschnabeltier schrieb:
    --------------------------------------------------------------------------------
    > Schattenwerk schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > Das ist ganz einfach:
    > >
    > > PHP muss schlechter sein als die Sprachen, die man selbst kann.
    > Ansonsten
    > > würde man ja etwas besseres nicht könne und würde sich indirekt
    > "fehlende
    > > Perfektion" eingestehen müssen.
    > >
    > > Daher ist PHP schlecht. Genau so wie Java, C#, Python, Ruby, C++ usw.
    > >
    > > Alles Kacke, nur Mutti nicht.
    >
    > Ich kann PHP

    Das würde ich nicht als erwiesen ansehen.

    Das Osterschnabeltier schrieb:
    --------------------------------------------------------------------------------
    > und finde es schlecht. So, und jetzt?

    Kann man natürlich. Die Begründungen sind nur nicht unbedingt tauglich.

  13. Re: sowohl PHP, als auch NT sind bedeutungslos..

    Autor: zilti 12.07.20 - 15:40

    jankapunkt schrieb:
    --------------------------------------------------------------------------------
    > > Javascript Frameworks für SLAs für neue Projekte zu wechseln wie andere
    > Unterhosen und nur etwas Langzeit wartbares zu haben.
    >
    > Da wirfst du aber einiges in den Topf auf einem Level, als wenn ich php auf
    > dem Stand von 2007 bewerten würde.
    >
    > Es gibt viele stabile frameworks für NodeJs

    Leute, die JavaScript freiwillig auf dem Server benutzen kann ich noch viel weniger ernst nehmen als die, die PHP nutzen

  14. Re: sowohl PHP, als auch NT sind bedeutungslos..

    Autor: jankapunkt 12.07.20 - 16:42

    > Leute, die JavaScript freiwillig auf dem Server benutzen kann ich noch viel weniger ernst nehmen als die, die PHP nutzen

    Weil genau?

  15. Re: sowohl PHP, als auch NT sind bedeutungslos..

    Autor: tomatentee 13.07.20 - 14:44

    Ich sprach explizit nicht von ablösen, Legacy PHP Kram bleibt bestehen. Du brauchst für die Wartung alter Applikationen in die keine neuen Features mehr eingebaut werden (dürfen) aber keine Heerscharen an Entwicklern.
    Neuen Projekte werden in Java entwickelt, dass du das für nen kurzfristigen Trend hältst lässt tief blicken...

  16. Re: sowohl PHP, als auch NT sind bedeutungslos..

    Autor: Gole-mAndI 13.07.20 - 14:51

    tomatentee schrieb:
    --------------------------------------------------------------------------------
    > Ich sprach explizit nicht von ablösen, Legacy PHP Kram bleibt bestehen. Du
    > brauchst für die Wartung alter Applikationen in die keine neuen Features
    > mehr eingebaut werden (dürfen) aber keine Heerscharen an Entwicklern.
    > Neuen Projekte werden in Java entwickelt, dass du das für nen kurzfristigen
    > Trend hältst lässt tief blicken...

    Das du Java als einzige Sprache in Betracht ziehst lässt tief blicken. Es gibt eine Vielzahl ausgezeichneter Sprachen. Allerdings ist nicht jede für jeden Anwendungsfall. Java pauschal als die Sprache zu bezeichnen zeugt von fehlender Fachkompetenz.

  17. Re: sowohl PHP, als auch NT sind bedeutungslos..

    Autor: TheUnichi 13.07.20 - 15:53

    tomatentee schrieb:
    --------------------------------------------------------------------------------
    > Neuen Projekte werden in Java entwickelt, dass du das für nen kurzfristigen
    > Trend hältst lässt tief blicken...

    Wer "neue" Projekte in Java, von allen Sprachen JAVA, entwickelt, der hat sowieso irgendwas nicht verstanden.

    Wenn du was NEUES machen willst nimmst du Scala, Kotlin, Swift, F#, Haskell oder Elixir. Vllt. so was wie Blazor mit WASM, Backend .NET Core o.ä. Wenn du was Neues-Altes machen willst nimmst du TypeScript, C# oder sonstige ECMAScript Konsorten, gute alte Web-Technologien etc.. Wenn du was Altes machen willst nimmst du Java oder legst gleich mit C los.

    Bevor ich die JVM mit so einer Kneifzange wie Java anfasse würde ich mich doch eher zu Kotlin oder Scala quälen lassen, aber sich gleich von der JVM fern zu halten ist denke ich der Beste weg. Eine Sprache die nicht mal Remote Development unterstützen kann weil die Struktur so quälend statisch und dumm ist, nee lass mal.

    Java, also ich bitte dich, jetzt bleib mal auf dem Boden. Lern Kotlin oder Scala sonst bist du in ein paar Jahren arbeitslos. Über Development brauchen wir gar nicht reden, denn über SOLID wird dein Verständnis demnach gar nicht hinaus gehen (e.g. deklarative Programmierung, so was gibt's ja in Java gar nicht)

  1. Thema
  1. 1
  2. 2

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Sie müssen ausserdem in Ihrem Account-Profil unter Forum einen Nutzernamen vergeben haben. Zum Login

Stellenmarkt
  1. Schaeffler Technologies AG & Co. KG, Herzogenaurach
  2. über duerenhoff GmbH, Raum Offenbach
  3. Statistisches Bundesamt, Wiesbaden
  4. Protagen Protein Services GmbH, Heilbronn, Dortmund

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Top-Angebote
  1. (u. a. Thrustmaster T300 RS GT Edition für 259,29€ statt 331,42€ im Vergleich und ASUS TUF...
  2. (u. a. Marvel's Spider-Man: Miles Morales 59,99€, Horizon: Forbidden West für 79,99€, Gran...
  3. (u. a. Spider-Man: Miles Morales für 59,99€, Demon's Souls für 79,99€, Sackboy: A Big...
  4. 499,99€ (Release 10.11.)


Haben wir etwas übersehen?

E-Mail an news@golem.de