Homepagebau
Dateiversion:
diesen Beitrag diskutieren,
ergänzen, eine Frage stellen

Einleitung

 

Mythen über PHP

Mit dem Grad der Beliebtheit von PHP stieg auch die Zahl der Mythen über PHP. Bevor sie sich dem vertieften Studium der Sprache widmen, möchte ich mit einer Reihe von Irrtümern aufräumen, die zu PHP existieren.

Mythos I: PHP ist für Anfänger - professionelle Entwickler verwenden Java

Beides ist falsch. Richtig ist, dass sich Java in professionellen Kreisen zur Zeit besser verkauft. Dies sagt jedoch absolut nichts über die Qualität der damit erstellten Produkte aus. Es gibt genügend lausige Programme in jeder Programmiersprache, um derart pauschale Behauptungen zu widerlegen und ich bin überzeugt davon, dass auch Sie mindestens ein Beispiel dafür kennen. Professionalität ist eher eine Frage der Art und Weise wie ein Entwickler arbeitet und keine Eigenschaft einer Programmiersprache ansich. Die Wahl der Programmiersprache spielt tatsächlich in der heutigen Zeit kaum noch eine Rolle. Alle wichtigen Konstrukte sind in allen gängigen Sprachen gleichermaßen vertreten. Frameworks tun ihr Übriges um die Entwicklung zu erleichtern.

Mythos II: PHP ist schnell - Java ist langsam

Wie so oft im Leben lautet die Antwort: es kommt darauf an. Grundsätzlich kann jede Anwendung so geschrieben werden, dass sie schneller oder langsamer ist. Tatsächlich ist Java ressourcenhungriger, als Folge der virtualisierten Umgebung. Es ist nicht unüblich einem Tomcat-Server mit Java 500MB oder mehr Speicher zur Verfügung zu stellen. Dagegen nimmt sich eine gewöhnliche Installation von PHP mit etwa 32MB geradezu spartanisch aus. Im Gegenzug bringt PHP von Hause aus kein Caching mit, was die Startup-Zeit verschlechtert. Dies kann jedoch nachgerüstet werden. Fazit: Was Programme in aller Regel langsam macht ist nicht die Programmiersprache, sondern lausige Programmierung.

Mythos III: PHP ist eine "Programmiersprache"

PHP ist keine Programmier-, sondern eine Interpretersprache. Bei einer Programmiersprache kann der Quellcode nicht sofort ausgeführt werden. Zuerst muss ein so genannter "Compiler" den Code übersetzen in etwas, was die Maschine versteht. Bei Windowsprogrammen wären dies in der Regel Exe-Dateien. Sie funktionieren ohne Quellcode und ohne den Compiler, der sie erzeugt hat. Wenn aber Änderungen vorgenommen werden, muss der Code erst erneut kompiliert werden, damit die Änderungen im ausführbaren Programm sichtbar sind. Bei Interpretersprachen hingegen kann der Code sofort ausgeführt werden. Aber dies bedeutet auch, dass das Programm bei jeder Ausführung übersetzt wird.
Fortgeschrittene Nutzer sollten wissen, dass diese scharfen Grenzen in der Praxis häufig verwischt werden. So lassen sich beispielsweise mit geeigneten Werkzeugen auch Exe-Dateien aus PHP-Code erzeugen. Außerdem gibt es Sprachen, die sich in der Mitte beider Extreme ansiedeln und weder reine Programmier- noch Interpretersprachen sind, wie zum Beispiel Java, oder auch Dot.Net-Programme. Entsprechende "Zwischencodeformate", ähnlich Java Class-Files, können auch für PHP-Code erzeugt werden. Wer sich dafür interessiert sollte nach Erweiterungen wie "APC", "EAccelerator" oder "PHP Bytecode-Compiler" suchen.

Mythos IV: PHP ist "nur" für das Internet

Tatsächlich ist PHP eine Allroundsprache, die auf dem Desktop eine ähnlich gute Figur macht wie beispielsweise Perl oder Python. Kleine Skripte für alltägliche Anlässe, wie zum Beispiel das Umbenennen oder Konvertieren großer Mengen von Dateien, sind in PHP absolut üblich. Darüber hinaus gibt es einen anhaltenden Trend klassische Desktopprogramme zunehmend ins Web zu verlagern. Somit ist zur Zeit unklar, welche Rolle genau reine Desktopsoftware in der Zukunft spielen wird. Es könnte durchaus sein, dass sich in wenigen Jahren die Frage, ob Internet oder nicht, für die meisten Anwendungen gar nicht mehr stellt.

Mythos V: PHP ist schwierig

Für Anfänger ist PHP ein guter Einstieg. Dies zeigt sich auch dadurch, dass die Sprache ausgesprochen beliebt ist. PHP ist sogar einfacher als viele clientseitige Sprachen wie JavaScript, weil sie gerade Personen, welche einfache, prozedurale Programmierung gewohnt sind entgegen kommt. Somit bietet die Sprache Einsteigern eine steile Lernkurve und führt schnell zu ersten Ergebnissen. ABER: um PHP in einem professionellen Umfeld sicher und effektiv nutzen zu können benötigen Sie zwar nicht mehr, aber eben auch nicht weniger Kenntnisse als für jede andere Sprache auch. Konzepte wie testgetriebene Entwicklung oder Design-by-Contract zu kennen und zu beherrschen ist für jede Sprache nützlich und selbstverständlich finden diese in PHP ebenso Anwendung.

Mythos VI: PHP-Code ist unsicher

Ob eine Anwendung sicher oder unsicher ist, ist eine Eigenschaft der Anwendung, nicht der Sprache, in der sie geschrieben ist. In allen Sprachen existieren Best-Practices und Konventionen, die helfen können Sicherheitslücken zu vermeiden - vorausgesetzt der Entwickler hält sich daran. Klassische Angriffszenarien sind beispielsweise SQL-Injections, Header-Injections et cetera. Diese Probleme existieren gleichermaßen in allen Sprachen, welche im Web zu finden sind. Die Wahrheit ist vielmehr, dass PHP eine größere Verbreitung hat und vor allem Anfänger sich selbst über- und das Risiko unterschätzen. Es gibt etwa eine Hand voll typischer Anfängerfehler, sowie einige wichtige Konventionen und jeder der neu in ein Thema einsteigt ist gut beraten Sie genau zu studieren: egal in welcher Sprache er entwickelt.