Was haltet ihr von PHP?

Man kann PHP doch nicht danach beurteilen, welche großen Seiten es verwenden. Facebook z.B. besteht aus einer kompletten Infrastruktur, PHP wird hier nur für das Frontend verwendet. Im Hintergrund erledigen Datenbanken und Daemons die eigentliche Drecksarbeit, fernab von PHP. Die Frage sollte auch nicht sein, ob die Sprache X gut ist, sondern welches Werkzeug ich am effizientesten in meiner Situation einsetzen kann. Wenn mir gerade Entwickler zur Verfügung stehen, die das Programm am schnellsten in PHP implementieren können und sonst nichts dagegen spricht, dann nehm ich eben PHP. Viel wichtiger sind sowieso das Design und die verwendeten Algorithmen, die eigentliche Sprache kann man dann ja immernoch anhand der gegebenen Randbedingungen variieren.

PHP ist vielleicht deshalb so verrufen, weil es eben ready-to-go bei den meisten Webspaces ist und deshalb viele schlechte Programmierer anzieht, die kein Beduerfnis danach haben, sich ernsthaft mit der Materie auseinanderzusetzen. Dadurch hat es sicher etwas den "Geek-Aspekt" vieler anderer Sprachen (Python, Perl, etc.) verloren. Im Endefekt halte ich einen Großteil dieser Diskussion für eine Glaubenskrieg.

Bei den großen Webseiten ist die Vielfalt der verwendeten Technologien übrigens größer, als man vermuten mag. Twitter benutzt mittlerweile Scala, von okcupid.com habe ich vor kurzem gelesen, dass es in C++ geschrieben ist, Facebook setzt neben dem erwähnten PHP auch noch memcached und selbstgeschriebene Patches fuer PHP ein. Dass Google "in Python geschrieben" ist, stimmt zwar nicht, aber es wird dort anscheinend sehr intensiv eingesetzt. Z.B. sollen die Web-Crawler damit geschrieben sein und es ist eine der beiden von der App Engie unterstützen Sprachen (die andere ist Java). Man sieht also, es ist nicht klug sich auf eine Sprache zu beschränken ;).

JavaScript war mal "in"..... genauso wie die vielen wild blinkenden GIF-Animationen.
Im Zuge von Web 2.0 wird heute eher AJAX, anstatt reines JavaScript, verwendet.
Geh wek aus meinem /coders-talk/, bitte.
 
Ich hab in letzter Zeit mit verschiedenen Sprachen herum gespielt. Sie sollten alle herausfinden ob die Zahl 45612871 eine Primzahl ist. Folgendes ist herausgekommen:

C: 1 Sekunde :suspekt: (wohl vermessen)
Java: 0.295 Sekunden
PHP: 5.1 Sekunden
Python: 6.2 Sekunden
C++ nicht getestet

Pseudocode:
Code:
i <- 45612871
for n from 2 to i {
  if (i mod n = 0)
  {
    return 0
  }
}
return 1

Nur ein Test. Aber wenn andere auch so ausfallen, sollte man dann auf JSP umsteigen wenn man hohe Performance haben will? (Caching etc mal außer acht lassen)
 
Du schreibst Java, aber hast du es auch mit JSP gemessen, damit es vergleichbar ist? Oder war das alles auf Konsole?

Skriptsprachen vergleicht man imho nicht mit Programmiersprachen ;)

Ansonsten finde ich PHP eine sehr hässliche Sprache, vollgepackt mit Inkonsistenzen, die ich aber trotzdem gut leiden kann ;)
Ich arbeite mit ihr und verbessere dadurch mein BAföG.
Man könnte es eine Art Hassliebe...

Wie sentimental! ;)
 
Hi!

Also erstmal ein Forum-interner Link unter dem das Thema schon mal aus einer etwas anderen Perspektive diskutiert wurde. Vor allem dem Post von Irgendjemand_1 kann ich größtenteils Zustimmen wenn's um PHP geht.

Google ist in Python geschrieben.
Nein, in Dollar. Spaß beiseite, PHP und Python nehmen sich bei Google gegenseitig nicht viel. Aber: Alle wirklich interessanten Funktionen/Dienste/Was-weiß-ich - und damit meine ich die auf die man gern einen Blick werfen würde - sind C. Oder Perl/Python/PHP Module in C.

Ich habe jetzt zwar nicht nachgesehen, aber müsste Microsoft nicht schon alleine aus Überzeugung ASP.NET einsetzen?! ;)
Nicht aus Überzeugung: Die sind gezwungen! Wer sonst würde die Produkte testen? Ich kenne niemanden der freiwillig Beta-Tester für eine Company sein will, deren Releases andere nicht mal als Alpha bezeichnen würden... :p

Ich hab in letzter Zeit mit verschiedenen Sprachen herum gespielt. Sie sollten alle herausfinden ob die Zahl 45612871 eine Primzahl ist.

Wie Dein Nickname im Forum vermuten lässt (und weil ich da so eine Ahnung habe von wegen APR unter Windows kompilieren und so...) hast Du das natürlich auf einem Windows-System gemessen. Das bedeutet, selbst wenn Du alles hübsch in der Eingabeaufforderung gemacht hast, konntest du nicht mal time verwenden um zwischen Interpreter- und/oder Programm-Ladezeit, Nutzerinteraktion (Ein/Ausgabe) und eigentlicher Laufzeit zu unterscheiden...
C zum Beispiel kommt mit der von Dir gestellten Aufgabe garantiert in einer System-Laufzeit von < 0.005 Sekunden klar. Auch auf einem alten Rechner, sagen wir mal Pentium II mit 64MB RAM. Ein guter Compiler dürfte sogar merken dass er getestet wird und mal eben den ganzen Code auf eine return Anweisung kürzen. Da ist das OS schon fast egal.

C/C++, Perl, PHP, Python, Ruby, Java und wie sie alle heißen sind niemals nie und niemals nicht in einen Topf zu werfen. Jede Sprache hat Stärken und Schwächen. Die Kriterien beginnen beim Design der Syntax, ob man prozedural und/oder objektorientiert schreiben kann, für welche Aufgabe(n) die Sprache eigentlich geschaffen wurde, Modularität, die durchschnittliche Form der Lernkurve und die damit mögliche Produktivität. Dann kommt irgendwann der Kompiler/Interpreter; wie gut sind seine Optimierungen? Ganz zum Schluss (ja, ich hab' so einige Faktoren unterschlagen) interessiert dann die Performance mit all ihren Facetten.
Die perfekte Sprache gibt es noch nicht, wird es wohl auch niemals geben. Selbst wenn einige Leute LISP dafür halten. Ach ja:

Skriptsprachen vergleicht man imho nicht mit Programmiersprachen ;)
Amen!

Halt es wie ein Handwerker - oder wie Google: Das richtige Werkzeug zu wählen ist das Wichtigste. Wenn ein Projekt z.B. Geld abwirft ist es meist von Vorteil, eine gut strukturierte und leicht erlernbare Sprache zu wählen: Programmierer sind schneller eingearbeitet, die Fehlersuche ist effizienter und das Vermeiden selbiger erst recht. Und wenn dem Java-Server mal die Puste ausgeht, kauft man halt 'nen zweiten. Das gleiche bei PHP, es sei denn man hat keinen Optcode-Cacher verwendet: Dann erschießt man sich besser gleich. Wer noch CGI Skripten laufen hat, sollte langsam mal aufwachen und z.B. über FastCGI oder ggf. mod_perl nachdenken. Hardware-nah oder extrem ressourcen-lastig? Ein Job für C*, klare Sache. Mathe pur: Fortran*, was sonst? Darf's auch ein wenig O'Caml sein? ;)
Wenn Du mal eben 'ne Homepage bastelst, bleib bei PHP. Webspace ist schließlich spottbillig. Und noch was:

Ansonsten finde ich PHP eine sehr hässliche Sprache, vollgepackt mit Inkonsistenzen, die ich aber trotzdem gut leiden kann ;)
Amen!

Es wurde schon angesprochen, aber ich möchte es noch einmal betonen: Applikationen bestehen heutzutage oft nicht mehr nur aus einer "Executable". Da ziehen Bibliotheken, Datenbanken, Server etc. alle an einem Strang. Wer wirklich weit kommen will, sollte so einige Sprachen beherrschen. Genauer gesagt die Prinzipien so weit verstanden haben, dass das Erlernen einer neuen Sprache nicht länger dauert als die Lektüre eines lustigen Taschenbuches.
Vor allem wer auf OpenSource oder freie Software setzt sollte unbedingt C lernen: Die meisten (Skript-) Sprachen, Server und DBMS' lassen sich prima erweitern bzw. mit C-Modulen anpassen.

Soo, und abschließend noch ein Zitat von Eric Steven Raymond (übersetzt von Christopher Özbek):
http://www.linuxtaskforce.de/hacker-howto-ger.html hat gesagt.:
Welche Sprache sollte ich als erste lernen?

XHTML (...), wenn Du es nicht bereits kannst. (...)

HTML ist keine vollwertige Programmiersprache. Wenn Du bereit bist, mit echter Programmierung zu beginnen, würde ich empfehlen, mit Python zu beginnen. Du wirst von vielen Leuten den Rat hören, mit Perl zu beginnen, und Perl ist populärer als Python, aber es ist schwerer zu lernen und (meiner Meinung nach) weniger gut entworfen.

C ist sehr wichtig, ist aber auch sehr viel schwerer als Python oder Perl. Versuche nicht damit zu beginnen.

Windowsbenutzer sollten nicht auf Visual Basic setzen. Es lehrt Dich schlechte Angewohnheiten und man kann es nicht auf andere Plattformen portieren. Vermeide es.

Gruß
Enum


MEINE Wahl. MEINE Freiheit. Mach was Du willst.
Aber denke immer daran: Meine Freiheit muss noch lang' nicht Deine Freiheit sein...
 
Zuletzt bearbeitet:
Enumerator hat gesagt.:
Nicht aus Überzeugung: Die sind gezwungen! Wer sonst würde die Produkte testen? Ich kenne niemanden der freiwillig Beta-Tester für eine Company sein will, deren Releases andere nicht mal als Alpha bezeichnen würden...

*doppelgähn* und *schnarch*

Wie lange kommen denn noch immer dieselben Microsoft-Basher-Witze... die Zeiten von Windows 98 sind doch echt vorbei...
 
Zurück