Daaron schrieb:
Wer weiß, was für eine Steinzeit-Version von PHP du da laufen hattest, und auf was für einer Fehlkonfiguration.
Als ich diese Firma verlassen habe ist gerade PHP 5.4 heraus gekommen, gearbeitet haben wir allerdings noch unter 5.2. Die Systemtechnische Seite konnten wir Entwickler nicht beeinflussen. Aber als Library für verschiedenste Portale konnten wir nicht die neuste Version unterstützen. Erst mussten alle Portale gehoben werden.
Ich glaube allerdings nicht, dass an einem Servercluster mit 150+ Webservern nur Leute gearbeitet haben, die "Fehlkonfigurationen" erstellt haben.
Daaron schrieb:
PHP 5.5/5.6 bietet zwar nicht ganz so viele OOP-Features wie z.B. Java, aber es sind mehr als genug.
Ist ja interessant, dass du bestimmst für wen welche Features "mehr als genug" sind.
Aber bitte, was ist mit Multitasking? - gibt es nichts oder nur besch****
Was ist mit dem endlosen Schreiben von Gettern und Settern, vorallem wenn ich diese Typsicher haben möchte? - ja es gibt generatoren, die sind aber meist auch unzulänglich (typehinting, casten und exceptionhandling auf einfache datentypen)
Was ist das Pendant zu den Attributen in .NET? - Achja gibt es nicht, wo sollen Präprozessoren ohne Kompilierung auch zum Einsatz kommen.
PHP ist unübersichtlich, was Operationen auf skalaren Datentypen anbelangt. Eben weil diese nicht OOP sind und daher für alles Funktionen existieren, die zudem inkosistent benamt sind (strlen vs. str_pad), gibt genug andere Beispiele.
Daaron schrieb:
Außerdem ist PHP halt kein erzwungenes OOP (wie Java).
Und wo genau ist hier der Vorteil für ein wohlgemerkt
komplexes System?
Daaron schrieb:
Und die Performance? Ein schönes PHP-FPM - Setup mit aktivem OpCode-Cache (z.B. Zend oder APC) ist ziemlich flott. Wem das nciht reicht, der packt ne HHVM drum herum und erreicht beinahe den Speed einer nativen Implementierung.
Dass sich die Performance seitdem verbessert hat kann sein, ich kann mir aber kaum vorstellen, dass sie an .NET auch nur annähernd heranreicht. Und warum sollte ich so ein Gefrickel, wie eine HHVM nutzen, wenn ich gleich eine kompilierte Sprache nutzen kann?
Performancehits die aus dem Scriptsprachencharakter entstehen können auch durch eine HHVM nicht, oder nur wenig beeinflusst werden. Eine typisierte Sprache wird immer um ein vielfaches schneller sein.
Daaron schrieb:
1.) MySQL ist tot, es lebe MariaDB... Gegen die Fähigkeiten und Performance von MariaDB 10 kommt MySQL nicht im Traum an, schon gar nicht wenn die nicht mal mit was neuerem als 5.6 zu Potte kommen)
2.) Es gibt noch deutlich mächtigere und schnellere freie RDBMS, z.B. PostgreSQL.
Als ich mich aus der PHP Welt verabschieded habe, war der Hype um MariaDB noch nicht da. Ich kann dazu deshalb auch nicht allzuviel sagen. Allgemein habe ich wenig Erfahrungen mit anderen RDBMS als MySQL und MSSQL.
Daaron schrieb:
Wer sich freiwillig MSSQL bzw. MS-Server allgemein, ans Bein nagelt, an dessen geistiger Gesundheit erhebe ich starke Zweifel. Ressourcenverschwendung mit eingebauter Sicherheitslücke...
Die Kosten für einen Server sind heutzutage sowas von scheiß egal im Vergleich zur Entwicklungszeit. Daher ist die Resourcenverschwendung vernachlässigbar. Zudem skalieren .NET Applikationen viel besser als PHP. Daher ist das Argument totaler Müll.
Und der Rest ist reines Fanboygeblubber.
Hast du überhaupt mal produktiv mit .NET gearbeitet? Hast du überhaupt mal eine wirklich komplexe Applikation mit PHP erstellt? Deine Argumentation lässt nicht darauf schließen.
Ich gebe dir gerne ein Beispiel:
Nimm einen onlineshop mit x-tausend Produkten. Wir leben in einer SOA, das heißt kein direkter DB Zugriff. Die Produkte müssen je nach Produktkategorie nach verschiedenen anderen Parametern (die der Produktkategorie zugeordnet sind) weiter gruppiert werden und dann in dieser Gruppe "gewichtet" und evtl. manipuliert werden. Die Ausgabe wird dann nochmal nach den manipulierten Eigenschaften sortiert. Viel Spaß mit PHP. Du weißt bestimmt in welchen Fällen PHP bei übergaben die Arrays als Referenz und in welchen es als Kopie benutzt wird, bzw. die Referenzen zu Kopien umgewandelt werden.
Erstell dir für o.g. Beispiel nur mal ein flaches POCO mit meinetwegen 20 Properties. Und nimm eine Liste von 500 Produkten und führ o.g. Operation aus. Live ist das nahezu unmöglich. Caching aufgrund ständiger Veränderung nicht möglich.
Ich gebe zu, dass das ein recht spezifisches Problem ist. Aber überall wo es um Datenoperationen und nicht nur um das herumschubsen zwischen persistentem Speicher und Ausgabe geht, ist PHP einfach unbrauchbar.
PHP hat seine Stäken (anfängerfreundlich, kostenlos, schnelles Ergebnis). Genauso wie .NET seine Schwächen hat (MS gebunden, für kleine Projekte rel. umständlich). Ich verstehe nicht, warum immer einige Weltverbesserer kommen müssen und einem erklären müssen, dass das eine Scheiße sei und das andere der heilige Gral. Es kommt wie immer auf die Anwendung an.
@Topic
jQuery zu können kann sicher kein Fehler sein. Allerdings gibt es da nicht viel zu können, weil es einfach nur DOM Manipulation ist. Wer Javascript und CSS beherrscht, beherrscht auch jQuery.
AngularJS mit Dependency Injection, MVC und Databinding sieht da schon ganz anders aus.