Vor kurzem stellte ich plötzlich fest, dass ich wieder gegen den Trend zu handeln schien. Vielleicht denke ich anders als viele meiner Freunde, aber ich denke, PHP, der „Bastard“ der Programmiersprachenwelt, ist beliebter denn je.
Vielleicht fragen Sie sich: Ist PHP nicht schon fertig? Es gibt doch schon jede Menge „bessere“ Programmiersprachen, oder?
Die Antwort ist offensichtlich nein, sonst wäre PHP aus den Augen der Menschen verschwunden und hätte auf zehntausend Fuß getreten. Um die Ursache zu finden, müssen wir wahrscheinlich zunächst herausfinden, was die sogenannte „bessere“ Sprache bedeutet.
Wenn Sie immer noch nicht verstehen, warum PHP immer noch am Leben ist, müssen wir möglicherweise mit Themen wie Programmierung, Programmierern, Markt- und Technologiepopularisierung beginnen. Ja, der wahre Grund liegt hier, nicht im Code, in den Funktionen oder in der Syntax.
Es war einmal ein Trend, PHP zu beschimpfen.
Wenn Sie ein Team auswählen und im heutigen Bereich der Codierungstechnik standhaft bleiben möchten, müssen Sie zunächst alle konkurrierenden Programmiersprachen außer der vom Leiter festgelegten Sprache ausschimpfen. . Dies hat nichts mit funktionalen Merkmalen zu tun, sondern spiegelt direkt die Unternehmenskultur wider. Mit anderen Worten: Eine solche Szene erinnert oft an eine Initiationszeremonie.
Programmierer sind eine Gruppe hartnäckiger Menschen, mich eingeschlossen. Wir sind alle arrogant und kritisieren gerne alle Sprachen, die wir nicht verwenden oder nicht mögen. Sie alle haben Ingenieure sagen hören: „Java ist scheiße und C# ist Müll und nichts.“ Es spielt keine Rolle, über welche Sprache Sie hier sprechen, solange es alle zum Lachen bringt.
Aber hinter der mutwilligen Denunziation verbirgt sich eine tiefere Verachtung, die in der jüngsten Debatte zwischen PHP und Python besonders deutlich wird. In den Augen vieler Akademiker sieht dies wie ein blutiger Dynastiewechsel aus. Es scheint, dass jemand PHP töten und vollständig durch Python ersetzen möchte.
Wenn Sie es nicht glauben, können Sie es auf Wikipedia nachlesen. Das „P“ im LAMP-Stack-Eintrag steht für Python. Als ich vor 20 Jahren zum ersten Mal mit LAMP in Kontakt kam, bezog sich das „P“ interessanterweise definitiv auf PHP – ja, weder auf Python noch auf Perl. Ich sage nicht, dass sich die Dinge nicht weiterentwickeln können, aber wie hat Python unwissentlich den kulturellen Status von PHP ersetzt? Das ist in der Tat eine Frage, die es wert ist, darüber nachzudenken.
Die meisten Programmierer lernen Python in der Schule und einige andere Nischensprachen, die in realen Szenarien möglicherweise nie verwendet werden. Sie werden mehr oder weniger Professoren oder andere Praktiker Dinge sagen hören wie „PHP ist scheiße“, aber wenn wir tiefer graben, werden wir feststellen, dass sie möglicherweise noch nie ernsthaft PHP-Code geschrieben haben.
Tatsächlich löst uns der bloße Gedanke an jemanden, der Vollzeit PHP-Code schreibt, mit Gänsehaut aus, so als würden wir mit eigenen Augen sehen, dass der Teufel Satan wirklich treue Anhänger hat.
Diese Verachtung für PHP ist eigentlich ganz logisch und hat sogar einen endogenen Konsens in der Programmierer-Community gebildet. Wäre es nicht schön, sich mit Freunden zusammenzusetzen und einen Nachmittag bei Starbucks zu genießen und dabei über Trump, Pop-Rock und PHP zu reden?
Es gibt auch Programmierpuristen, die bereit sind, viel ihrer kostbaren Zeit damit zu verschwenden, darüber zu streiten, warum PHP wirklich scheiße ist. Die meisten Auseinandersetzungen drehen sich um einen Designtrend oder eine Nuance, die ihnen nicht gefällt, und Hin und Her ist eine gängige Taktik bei solchen Diskussionen. Was die Sprache betrifft, müssen wir beurteilen, wer höher und wer niedriger ist. Schließlich werden die violetten und goldenen Kürbisse in männliche und weibliche Kürbisse unterteilt.
Es gibt sicherlich viel zu bemängeln: PHP ist eine locker typisierte Sprache, die oft schlechten Code hervorbringt. (Aber das Gleiche gilt für JavaScript und Node.js. Warum sehen Sie nicht so viel Unmut?) PHP hat zu viele Funktionen. (Ja, das ist zu praktisch und zeigt nicht das Niveau eines Programmierers.) Funktionsnamen sind inkonsistent. (Ja, das ist ein Problem, das entsteht, wenn eine Sprache wirklich demokratisiert ist und nicht in den Händen eines einzigen Informatik-Doktoranden bleibt.)
Kehren wir zum Punkt zurück und sehen wir, dass die Kritik an PHP-Meinungen hauptsächlich aus persönlichen Vorlieben resultiert wählerisch im Detail. Wenn wir wollten, könnten wir ähnliche Fehler in anderen Sprachen wie Python, C#, Java, Go oder JavaScript finden. Als Programmierer lieben wir es einfach, uns zu beschweren, und das Beschweren macht uns glücklich.
Aber der wahre Grund, warum Programmierer es lieben, PHP zu verprügeln, ist unsere angeborene Arroganz, gepaart mit wachsender Eifersucht.
PHP ist in der Tat einfacher zu verwenden
PHP wurde Mitte der 1990er Jahre geboren und ist sogar älter als viele georgische Programmierer. Ich begann Anfang der 2000er Jahre mit PHP zu arbeiten, als es gerade von Version 4 auf Version 5 umgestellt wurde. Später begann ich, Anwendungen in dem von mir geschriebenen CodeIgniter ZendFramework-Framework zu schreiben.
Meiner Meinung nach liegt der Hauptgrund dafür, dass PHP immer grün bleibt und nach vielen Jahren keine Alterungserscheinungen zeigt, darin, dass es in neue und alte Anwendungen auf der ganzen Welt eingebettet ist und auch in den Köpfen von Entwicklern verankert ist, unabhängig vom Alter . Manche Leute benutzen es seit ein paar Jahren, andere schon seit Jahrzehnten, und PHP hat bei ihnen einen tiefen Eindruck hinterlassen. Entwickler werden nicht verschwinden, ebenso wenig wie der Geschäftscode, den sie schreiben, daher wird PHP weiterhin bestehen bleiben. Und interessanterweise wurde Python tatsächlich 1991 geboren, also früher als PHP. Und trotz seines längeren Lebenszyklus konnte Python nie die aktuellen Höhen von PHP erreichen.
Warum ist das so?
Aus persönlicher Sicht denke ich, dass Python schwieriger zu verwenden ist als PHP. Dieses Problem hat sich in Python 3 verbessert, aber vor 15 Jahren verfügte Python nicht über die „ausgefallenen Features“ (Funktionen), die in PHP standardmäßig enthalten waren. Viele Funktionen müssen manuell installiert werden, sonst sind sie nutzlos.
Und ein weiteres seit langem bestehendes Problem, das die Python-Sprache seit langem durchdringt, ist die Intervallsyntax. Ich hasse diese Syntax wirklich, bei der die Anzahl der Leerzeichen zwischen den Codes die Trennung bestimmt. Ich teile meinen Code gern auf, wie ich möchte, und kann den Gedanken nicht ertragen, dass die Programmiersprache selbst hier etwas tun muss. Es steht jedem frei, diese Angewohnheit von mir zu kritisieren, aber das ist mein eigener Code und wurde von mir geschrieben. Ist es falsch, meinem eigenen Stil folgen zu wollen? Wenn Ihnen nicht einmal dieses Recht gewährt wird, werde ich die selbstgerechten Trolle verfluchen, die jeden Tag Fehler überprüfen.
Python wirbt immer wieder damit, dass diese Spaced-Syntax „leicht zu lesen“ sei, was offensichtlich Marketing-Bullshit ist. Ich belasse es dabei – die von Python verwendete Syntax kann als die selbstgerechteste und schlechteste Syntax in der Welt der Programmiersprachen bezeichnet werden.
Es ist diese unverständliche Selbstgerechtigkeit, die Programmierern zu schaffen macht. In den frühen Tagen der Programmierung, als es noch keine IDEs gab, die uns bei der Korrektur von Grammatikfehlern halfen, waren nicht viele Programmierer bereit, einen Blick auf Python zu werfen. Ich will jedenfalls nicht. Genauer gesagt ist dies auch ein wesentlicher Grund dafür, dass die Sprache Python in den ersten zehn Jahren ihres Bestehens keinen nennenswerten Marktanteil gewinnen konnte. Ja, dieses Design ist überhaupt nicht benutzerfreundlich.
Außerdem ist die Präsenz der Python-Sprache nicht stark ausgeprägt. Es ist als Skriptsprache in die Linux-Distribution eingebettet, was sein Hauptzweck ist. Niemand wird jubeln: „Ja, Python ist da, wir können damit Websites erstellen!“
Natürlich kann Python auch zum Erstellen von Websites verwendet werden, aber exzellente Ingenieure können das Gefühl haben, dass seine Eigenschaften nicht für Webentwicklungsszenarien geeignet sind. Abgesehen von persönlichen Präferenzen auf Syntaxebene gebe ich zu, dass Python eine äußerst leistungsfähige Sprache ist, die sich besonders für die Handhabung von Datenwissenschaften oder anderen Aufgaben eignet, bei denen es um hochpräzise mathematische Operationen geht.
Jeder kann mit PHP anfangen
In den letzten 15 Jahren hat Python tatsächlich ein radikales Update eingeläutet und PHP auf vielen Ebenen übertroffen. Aber Python hat immer noch zwei schwere Probleme, die nicht weggeworfen wurden: Erstens erscheinen die meisten Updates zehn Jahre zu spät.
Python 3 wurde 2008 veröffentlicht und brach die Abwärtskompatibilität. Python 2-Code kann ohne zusätzliche Änderungen nicht mit Python 3 ausgeführt werden. Aber in einer Unternehmensumgebung gibt es oft Dutzende oder Millionen alter Codeversionen. Wer ist bereit, sich diese Mühe zu machen?
Um fair zu sein, PHP 7 und 8 machen auch einige PHP 5-Codes kaputt (es gibt keine Version wie PHP 6). Ich war Teil der ZendFramework-Community, die dabei geholfen hat, das Framework zu aktualisieren, um die Ausführung auf PHP 7 und 8 für älteren Code zu unterstützen. Die gute Nachricht ist, dass unser Legacy-Code beim Upgrade von ZendFramework auf PHP 7 und 8 kaum beeinträchtigt wurde. Daher weist der meiste PHP 5.6-Code eine gute Abwärtskompatibilität auf.
Vielleicht war der Wendepunkt, der PHP wirklich zu einem immergrünen Baum in der Branche machte, die stille Gründung eines kleinen Start-ups namens Automattic im Jahr 2005.
Wenn WordPress in Python geschrieben wäre, wäre PHP garantiert nie so stolz wie heute. Aber ich wage auch zu sagen, dass Python die Möglichkeit, dass WordPress so weithin erfolgreich wird wie heute, behindern oder sogar zunichtemachen wird.
Damit eine Sprache oder Anwendung weiterhin auf dem Open-Source-Markt bestehen kann, ist der Einsatz und die Erweiterung der Mitwirkenden von entscheidender Bedeutung. Und wer den Einstieg leichter hat, kann mehr Unterstützung von Mitwirkenden aus der Branche gewinnen.
Als Software-Ingenieur mit Berufsausbildung kann ich versuchen, alle Beleidigungen gegen PHP zu verstehen, aber ich möchte alle daran erinnern – PHP wird nicht nur von Ingenieuren mit formellen Diplomen verwendet, sondern auch von Teilzeitarbeitern, Hausfrauen, Grafikdesigner, Unternehmensleiter, Unternehmer und sogar Schüler. Richtig, Tausende von Grundschülern schreiben auf ihren ersten Computern Webseiten in PHP.
Man kann auch sagen, dass PHP die BASIC-Sprache im Informationszeitalter ist.
Als Software-Ingenieure haben sich viele Kritiker an die Denkweise von Ingenieuren gewöhnt, vergessen jedoch, dass es unzählige PHP-Benutzer auf der Welt gibt, die nur eine Website für ein kleines Unternehmen erstellen möchten und nur über begrenzte Zeit und Ressourcen verfügen.
WordPress und PHP stehen ihnen offen. Ja, WordPress selbst ist zwar einfach zu bedienen, aber nicht umfassend genug. Was dieses Manko ergänzt, ist die WordPress-Plugin-Architektur (das Wort „Architektur“ ist hier vielleicht nicht korrekt, aber jeder kann es verstehen), die es normalen Leuten ermöglicht, einen kleinen Code in PHP zu schreiben, um entsprechende Änderungen umzusetzen. Es ist nicht erforderlich, die gesamte Klasse neu zu schreiben, und es ist keine Zertifizierung als Softwareentwickler erforderlich. Es ist nur ein kleiner Code erforderlich.
Auf diese Weise haben Millionen von Amateurprogrammierern ihren eigenen Programmierweg eingeschlagen und ihre Erfahrungen im Internet mit anderen geteilt, wodurch schließlich eine riesige PHP-Technologie-Community entstanden ist.
Einfach zu verstehendes PHP ermöglicht es normalen Menschen, Code effektiv zu schreiben. Es ist einfach, unkompliziert, locker typisiert, erfordert keine Kompilierung und kann als harte Arbeit und ohne Beschwerden bezeichnet werden.
PHP unterstützt das gesamte World Wide Web
Schneller Vorlauf: 15 Jahre später unterstützt PHP mittlerweile 78 % der Websysteme. Allein WordPress macht fast 40 % aller Websites aus und hat fast zwei Drittel der CMS-Anteile! Darüber hinaus macht das „seriöse“ Python nur 10 % des Kuchens aus! Trotz des Hasses rivalisierender Python-Fans auf PHP betreibt Python weniger als 1,5 % des Webs.
Bist du wütend? Es gibt keinen Grund, wütend zu sein.
Ja, so sollte es sein.
Ein Personalvermittler eines Unternehmenskunden hat mich kontaktiert und seine Absicht geäußert, den gesamten Python-Webcode zu löschen und durch PHP zu ersetzen. Das hört sich erstaunlich an, passiert aber tatsächlich ständig. Warum? Denn es gibt ein Sprichwort, dass Python für Webanwendungen nicht sehr geeignet ist. Mit Python vertraute Entwickler sind oft Experten in der Datenwissenschaft und anderen Bereichen, und erfahrene Talente sind sehr gefragt. Es ist völlig unnötig, sie an der Webentwicklung teilnehmen zu lassen.
Unternehmen möchten im Web flexibler sein. Wenn sie ihr Team vergrößern oder verkleinern müssen, möchten sie nicht Wochen oder Monate damit verbringen, langsam nach Talenten zu suchen, die mit Python vertraut sind. Diese Art von Ingenieur ist sehr teuer und kann von Unternehmen nicht getragen werden.
Allerdings verfügen PHP-Programmierer, die sich an unterschiedliche Unternehmensgrößen anpassen können, über eine hohe Qualität und Quantität auf dem Arbeitsmarkt und können bei Bedarf sogar schnell ausgebildet werden. Noch wichtiger: Selbst wenn Sie einen erfahrenen PHP-Architekten mit jahrzehntelanger Erfahrung finden möchten, ist dies weitaus einfacher, als jemanden mit dem gleichen Niveau im Python-Bereich zu finden.
Und die Unternehmensleitung wird Python-Fans auch Verhaltensregeln beibringen. Möchten Sie ohne konkreten Grund Web- oder Middleware in Python schreiben? Die Leute haben einfach nicht so viel Budget und müssen jederzeit durch andere Tools ersetzt werden. Das sind Dinge, in denen Python nicht gut ist.
Um ein qualifizierter Anwendungsarchitekt zu werden, müssen Sie zunächst lernen, die effektivste Technologie zu verwenden, um dem Unternehmen oder Unternehmen Unterstützung in „angemessenem Umfang“ zu bieten: Unsere persönlichen Vorlieben sind nicht wichtig, die Technologie ist in Mode, das Wichtigste Es ist mehr, schneller, besser und wirtschaftlicher.
Daher habe ich herausgefunden, dass es tatsächlich nur sehr wenige SaaS-Anwendungen gibt, die sich dafür eignen, vollständig in Python zu schreiben. Angesichts des erbärmlichen Marktanteils von Python im Web scheinen die meisten Anwendungsarchitekten meine Meinung zu teilen. Sie verwenden Python nur dort, wo es am besten passt, und PHP dort, wo es noch besser passt.
Zusammenfassung
Als Ingenieure verwenden wir alle gerne Dinge, mit denen wir vertraut sind, und wir sind es auch gewohnt, Dinge herabzusetzen, die wir nicht verstehen. Haben Sie keine Angst, es zuzugeben, wir Programmierer haben dieses Problem.
Universitäten haben versucht, Python als universelle Geschäftssprache zu positionieren – aber das ist nicht der Fall. Python eignet sich besser als High-End-Sprache, spezialisiert auf den Betrieb von Servern, Datenwissenschaft, den Umgang mit großen komplexen Daten oder sogar den Umgang mit Kryptowährungs-Mining. Das sind seine Spezialitäten.
Und PHP ist eine beliebte Sprache und hat sich zu einem objektiven Standard im World Wide Web entwickelt.
Wenn Sie möchten, können Sie also weiterhin schlecht über PHP reden, das ist in Ordnung. Letztendlich ist es jedoch immer noch die am weitesten verbreitete Sprache im Web, und da WordPress weiter wächst und PHP 7 und 8 weiterhin aktualisiert werden, wird diese Führungsposition so schnell nicht ins Wanken geraten.
Über den Autor:
Beau Beauchamp ist ein UI/UX-Full-Stack-Webanwendungsarchitekt und leitender Entwickler auf Unternehmensebene mit mehr als 20 Jahren Erfahrung in der Entwicklung skalierbarer Anwendungen.
Originallink:
https://beau-beauchamp.medium.com/php-is-killing-python-2be459364284