PHP? Bitte nicht!

Ich habe nicht alle 110 Beiträge glesen, aber meinen Senf geb ich jetzt auch mal ab...
Diskussionen die in die Richtung "richtige Programmiersprache" gehen zeugen davon, dass man voreingenommen ist oder ohne keine Ahnung hat... Jeder der schon lange dabei ist weiss dass es nur das falsche Projekt zu richtigen Programmiersprache gibt - aber das nur am Rande, denn die ursprüngliche Frage verglich "leistungsähnliche" Sprachen, deshalb schreibe ich überhaupt, denn da ist soeine Fragestellung gerechtfertigt :)

Meine Meinung: PHP ist wirklich inkonsistent was die Funktionsbenennung angeht, aber sobald man mehr als 5 "Sprachen spricht" wird man eh zum "Referenzprogrammierer"...
Wer die Entwicklung von "Homepagetools" zu PHP5 wirklich verfolgt hat weiss wie die Sprache hingelitten wurde zu dem was sie ist.. :) Java ist halt in einem Labor entstanden, C an Universitäten... das merkt man. "Hässlich" ist allerdings das falsche Wort.

Sie IST leicht zu lernen und JA sie ist ebenso gefährlich. Ich denke sie ist für Anfänger geeignet zu lernen. Für Amateure gehört sie verboten (in diesem Stadium sollte kein PHP Projekt ins Netz gestellt werden dürfen.. da musses Gesetze gegen geben :) ). Und für Profiprogrammierer ist sie wieder Saugeil... ;) Ordentlichen Code lebt man! Das geht in jeder Sprache. Und das Verständnis für eine Funktion wird beim Lesen nicht gestört ob ein "i" vor, hinter oder ohne underscore steht ;) *bezug_2_threadanfang*

Beispiel: Die oft verschipften varianten Datentypen in Verbindung mit den identisch Operatoren sind durchaus handhabbar wenn ein Programmierer wirklich versteht was abgeht und was implizite Typkonversionen in anderen Sprachen sind sind usw.. deshalb mein Fazit:

PHP für Anfänger und Profis auf dem Weg dazwischen viel Tutorials(.de) lesen!
 
Ok. Ich hab mich wohl ein wenig unverständlich ausgedrückt mit meiner Aussage das jeder halbwegs denkende Mensch mit PHP Programmieren kann.

Ich muss euch völlig recht geben. Wie der Code aussieht hat aber nichts mit der Sprache zu tun sondern mit dem Willen des Entwicklers. Es kann doch nicht sein das einer Programmiersprache schlampiger Stil oder "verleitet zumindest dazu" vorgeworfen wird.

Ich schätze mal Ihr plant eure Projekte bis ins tiefste Detail. Baut UML Diagramme haltet dutzende Meetings ab, schreibt Pflichten und Lastenheft und im endeffekt merkt Ihr es sind Monate vergangen und noch keine Zeile Code ist geschrieben. Ist ja auch nicht schlimm!

Schade finde ich es nur das PHP zu etwas gemacht werden soll was es nicht ist. Kompliziert. Es wird über zuweisungen diskutiert, typisierungen usw. Nichts für ungut. Vor zwei Jahren wusste ich nicht mal was "typisierung" überhaupt bedeutet. Heute weis ich es. Und? Bringt mir das was? Nö. Gar nix! Ich tu mir weder leichter beim Programmieren noch trägt die lasche typisierung irgendwas bei.

Frage: Wenn Ihr UML, und Brainstorming Diagramme malt, warum könnt Ihr dann nicht nachvollziehen welche Zustände eine Variable an nimmt. Jeder benutzt Debugger. Zumindest behaupten es viele. Nun. Bei den meisten Debuggern wie den Zend Debugger kann man Variablen beobachten. Es wird nicht nur der Wert sondern auch der Typ angezeigt. Für die Nachverfolgung kann man ja Breakpoints setzten. Also so schwer ist das auch nicht.

Ok. Ich rede sehr allgemein. Aber was solls. Was mich stört an PHP sind nur die laschen Fehlermeldungen wo ja auch wirklich hebräisches darunter ist. Wie die Fehlermeldung wenn man eine Methode statisch aufruft und PHP dies nicht zulässt.

PHP:
$objStat::__construct();

Da kommt dann die Fehlermeldung:

PHP:
...T_PAAMAYIM_NEKUDOTAYIM...

Das ist aber auch schon das einzige was mich wirklich stört.

Es ist halt eine gewisse Herrausforderung solche Sachen zu enträtseln. Aber gut. Ich denke jede Sprache hat da so ihre Macken. ;-]

Das tolle an PHP wiederum ist die Community. PEAR, PECL, PHPCLASSES.org usw. tragen extrem zur arbeiterleichterung bei.

.Net hat sein Framework, Perl hat das PCRE usw.
 
Das merkwürdige ist nun einmal:
Das ist ein Vergleich und keine Zuweisung / Definition. Andersherum: Die Konstrukte if ($a == 1234) { } oder gar if ($a === 1234) { } ist keine mathematisch korrekte Schreibweise.
PHP ist ja auch nicht für Mathe entwickelt worden. Ob das nun ein "Mathematisch inkorrekter" Ausdruck ist, ist glaub ich jedem mal egal. Ich will ja auch keine Formel schreiben sondern ein Programm. Die Zeiten des Assemblers sind vorbei.

PS: Gott sei Dank hat PHP nichts mit Mathe zu tun! Ich hatte in Mathe ne 4! Ich glaube eher Programmiersprachen haben was mit Logik zu tun. Und die ist bekanntlich ja unterschiedlich aufzufassen.
 
Um mal auf die uneinheitliche Funktionsbenennung bei PHP zu sprechen zu kommen... Eine Sprache (Deutsch, Englisch, Portugiesisch etc.) hat doch auch unregelmäßige Verben und so... ;) Schlechter Vergleich, ich weiß... Aber ich kann damit Leben. Ich hab mir mal Phyton angeschaut, aber hab nach kurzer Zeit wieder aufgegeben, weil ich erstens zu wenig Informationen (Tutorials, Einführungen etc.) im Netz gefunden hab (und deutsche Bücher in Brasilien kaufen doch recht teuer ist :)) und zweitens die "Erfolge" nicht gleich so sichtbar wie in PHP.
 
Ich muss euch völlig recht geben. Wie der Code aussieht hat aber nichts mit der Sprache zu tun sondern mit dem Willen des Entwicklers. Es kann doch nicht sein das einer Programmiersprache schlampiger Stil oder "verleitet zumindest dazu" vorgeworfen wird.
Natürlich tut es das. PHP ist ja in aller Munde als Anfängersprache. Und daher denken viele "fang ich gleich mal damit an". Daher kann man sich ausmalen, dass viele die die Sache so angehen, keinelei grundlegendes Wissen zu den Paradigmen der heutigen Anwendungsentwicklung haben. Das meinte ich mit
cosmo hat gesagt.:
Wir wollen aus der Softwarekriese herraus und nicht wieder hinein.
Ich hoffe Du verstehst meine Intension in dem Zusammenhang und weisst, was ich mit Softwarekriese gemeint habe.
Jemand der an einer richtigen Sprache gelernt hat, weiss was er tut. Weil er sich erstens vorstellen kann, was hinter einem Script eigentlich passiert. Und zweitens, bereitet er sich entsprechend auf seine Arbeit entsprechend vor, damit während der Entwicklung keine Änderungen (zumindest keine schwerwiegenden) vorgenommen werden müssen, die den Code inkonsistent sprich fehler-anfälliger machen.

Ich schätze mal Ihr plant eure Projekte bis ins tiefste Detail. Baut UML Diagramme haltet dutzende Meetings ab, schreibt Pflichten und Lastenheft und im endeffekt merkt Ihr es sind Monate vergangen und noch keine Zeile Code ist geschrieben. Ist ja auch nicht schlimm!
Warum sollte es das sein? :confused:

Schade finde ich es nur das PHP zu etwas gemacht werden soll was es nicht ist. Kompliziert. Es wird über zuweisungen diskutiert, typisierungen usw. Nichts für ungut. Vor zwei Jahren wusste ich nicht mal was "typisierung" überhaupt bedeutet. Heute weis ich es. Und? Bringt mir das was? Nö. Gar nix! Ich tu mir weder leichter beim Programmieren noch trägt die lasche typisierung irgendwas bei.
Meine Argumentation bezog sich auf die Desktopentwicklung. Ich kann mir beim besten willen nicht vorstellen, dass das was bei PHP intern passiert, wenn man ohne typisierung arbeitet, die Resourcen eines Clientsystems nicht sprengen würde. Ausserdem wird der Code zudem scheller, da PHP bei jedem Aufruf nicht aufschlüsseln muss, wie das Objekt intern verwaltet werden muss. Das meinte ich mit
cosmo hat gesagt.:
Jemand der an einer richtigen Sprache gelernt hat, weiss was er tut, weil er sich erstens vorstellen kann, was hinter einem Script eigentlich passiert.
Dann gibt es noch solche Experten die Variablen innerhalb von wiederkehrenden Durchläufen (Schleifen etc) deklarieren. Um nur mal eine weiteres Beispiel zu nennen.

Frage: Wenn Ihr UML, und Brainstorming Diagramme malt, warum könnt Ihr dann nicht nachvollziehen welche Zustände eine Variable an nimmt.
Versteh ich deine Aussage jetzt richtig? Wenn wir das nicht könnten, wurden wir nicht in Firmen sitzen und damit Geld verdienen. Oder wolltest doch was anderes fragen? :confused:

fireblade1282 hat gesagt.:
PHP für Anfänger und Profis auf dem Weg dazwischen viel Tutorials(.de) lesen!
Aber vorher schön fleißig alle Grundlagen studieren. Dann gehts zudem auch viel viel schneller vorran :)

@New Post: Bitte erst den gesamten Thread durchlesen.
 
PHP ist nun mal eine Sprache, in die man einen schnellen Einstieg hat. Man lädt einfach das XAMPP-Paket herunter, entpackt es und schon kann es los gehen. Das „Hallo Welt“ hat man dann schon während des Entpackens fertiggeschrieben. Auch mit den Kontrollstrukturen hat man sich schnell angefreundet und der Umgang mit Variablen ist auch ein Kinderspiel, da man allen Bezeichnern ja noch immer Zahlen anhängen kann. Die Erfolgskurve scheint also geradewegs nach oben zu zeigen.
Nun hat man so viel gelernt, dass man meint, man könne sich an etwas Größeres trauen, typischerweise ein Nachrichtensystem oder ein Gästebuch. Der Umgang mit einer Datenbank ist auch schnell gelernt, dafür gibt es ja genügend (schlechte!) Tutorials, aus denen man den Quellcode kopieren kann. Und schon hat man auch sein einfaches Nachrichtensystem oder Gästebuch fertig.
Der nächste logische Schritt wäre (wieder) typischerweise ein Forum oder eine Community. Auch hierzu gibt es genügend Tutorials, aus denen man sich bedienen kann. Und schon hat man auch sein Forum oder seine Community zusammengefrickelt. Man kann sich jetzt also selbst ein PHP-Profi nennen.

Was dabei allerdings auf der Strecke bleibt, da dies mehr Denkarbeit erfordert, sind Themen wie Sicherheit, Datenschutz, Interoperabilität, Kompatibilität oder die Effizienz der Anwendung. Damit wird sich meist erst beschäftigt, wenn es zu spät ist, wenn das Gästebuch oder Forum mit Spam zugemüllt ist, der Webserver gehackt oder das ganze System durch Überlastung zusammenbricht.

Klar, das sind nicht nur Probleme, die PHP betreffen. Doch PHP bietet aufgrund des so schnellen Einstiegs leider ein gutes Fundament dafür sich um diese Themen erst gar keine Gedanken zu machen. Schließlich funktioniert das Skript! Und darauf kommt es doch nur an.
 
Meine Argumentation bezog sich auf die Desktopentwicklung. Ich kann mir beim besten willen nicht vorstellen, dass das was bei PHP intern passiert, wenn man ohne typisierung arbeitet, die Resourcen eines Clientsystems nicht sprengen würde. Ausserdem wird der Code zudem scheller, da PHP bei jedem Aufruf nicht aufschlüsseln muss, wie das Objekt intern verwaltet werden muss.

Was hinter dem PHP Parser geschieht ist mir oft selbst ein Rätsel. ;) Ich programmiere nun hauptberuflich schon seit ein paar Jahren und es wundert mich immer was so als Ergebniss einer Klasseninitialisierung rauskommt. Aber egal. Auch in PHP hat man Normen an die man sich halten muss, da man sonst ganz schnell zum aussetzigen wird in der Community. Ich erinnere mich mit Schrecken über ein Voting bei PEAR. Da wurde doch glatt die Aufnahme ins Repo verweigert nur weil der Entwickler eine geschwungene Klammer an der Falschen stelle gesetzt hat. Mein Gott. Das war ein schlachtfest. Beschimpfungen des Entwicklers waren da noch das kleinere Übel. Man sieht: Heutzutage wird alles genormt. Sogar wieviele Tabstops erlaubt sind. Einer zuviel und du wirst als schlechter Programmierer dein Leben lang gebrandmarkt.
 
Das war ein schlachtfest. Beschimpfungen des Entwicklers waren da noch das kleinere Übel.
Das erinnert mich ein wenig an die Diskussionen zu Reiser4 auf der Linux-Kernel Mailingliste. ;) Hans Reiser scheint naemlich auch nicht der umgaenglichste aller Zeitgenossen zu sein und hat sich mit so einigen Kommentaren unter den Kernel-Entwicklern und Maintainern ein paar "richtig gute Freunde" gemacht. :)
 
Das erinnert mich ein wenig an die Diskussionen zu Reiser4 auf der Linux-Kernel Mailingliste. ;) Hans Reiser scheint naemlich auch nicht der umgaenglichste aller Zeitgenossen zu sein und hat sich mit so einigen Kommentaren unter den Kernel-Entwicklern und Maintainern ein paar "richtig gute Freunde" gemacht. :)

Das ist dann wohl auch der Grund warum selbst die soooooo beliebte Suse bei der Installation von damals Standardmäßig ReiserFS auf ext3 umgestiegen ist. Tja. Da kann das Produkt noch so gut sein. Wenn es sich der Entwickler verscherzt kann das Produkt noch so gut sein. Find ich irgendwie super. :p
 
Auch wenn das Ganze jetzt etwas abdriftet, aber ich denke zum Thema wurde eh bereits alles Noetige gesagt, ReiserFS 3 ist ja im offiziellen Kernel drin, aber Reiser4 laesst halt noch etwas auf sich warten.
ReiserFS (also Version 3) ist im Grunde kein schlechtes Dateisystem, meiner Meinung nach. Ich selbst nutze ext3 und ueberlege ob ich nicht auf ext4 "upgraden" soll.
Auch Reiser4 scheint ein wirklich gutes Dateisystem zu sein. Ich hatte mal was dazu gelesen und das hoerte sich halt alles ganz gut an. Aber es ist nicht verwunderlich, dass sich einige Kernel-Entwickler quer stellen wenn Namesys es eben nicht fuer noetig haelt die Kernel-Coding-Conventions zu befolgen und Hans Reiser dann auch noch gross rumtoent. Ein Kritikpunkt ist wohl auch, dass der Support fuer ReiserFS 3 wohl relativ schnell nach Aufnahme in den offiziellen Kernel eingestellt wurde und dann wohl nur noch fuer Reiser4 entwickelt wurde.
 

Neue Beiträge

Zurück