PHP? Bitte nicht!

Vorteile von PHP aus Sicht eines Hobbyschreiberlings:

1.) Riesige Community - dadurch viele Ansprechpartner...seht euch nur mal die Forenstatistik an, wo PHP mehr als deutlich am Rest der Programming-Ecke vorbeizieht.

2.) Dadurch bedingt viele Tutoriale, Hilfeseiten wie eben auch diese hier

3.) kostenfrei

4.) Im Gegensatz zu C oder Java leichter verständlicher -> höherer Erfolgsfaktor -> Leute bleiben bei der Stange, beschäftigen sich damit, werden besser.

5.) Die Grundlagensprachen (HTML, CSS) zur Strukturierung und Layoutierung von mit PHP erstellen Seiten sind sehr leicht zu erlernen.
Wenn ich mir da das umständliche Gewese bei Java (AWT, Swing) oder C anschaue, vergeht es dem Hobbyschreiberling.

6.) Ganz gute Unterstützung dank diverser administrativer Entwicklungsprogramme

6.) Nicht jeder studiert jahrelang Informatik, möchte aber trotzdem gerne selbst etwas entwickeln und da bietet sich PHP dank seiner großen Verbreitung auf dem Servermarkt sehr gut an.

Die Namensinkonstitenz diverser Funktionen stört mich bisweilen auch etwas. Da hilft dann meist nur noch php.net.
 
noch ein Beispiel von Tom, der mein Closure nicht niedlich genug findet :-)

Python:
months=['Januar','Februar','Maerz']
def month():
   idx=0
   while True:
     yield months[idx]
     idx =(idx+1) % 12
 
Admi hat gesagt.:
Vorteile von PHP aus Sicht eines Hobbyschreiberlings:
1.) Riesige Community - dadurch viele Ansprechpartner...seht euch nur mal die Forenstatistik an, wo PHP mehr als deutlich am Rest der Programming-Ecke vorbeizieht.

Ja bei uns. Aber wenn hier mehrere Interresse haben und das gepuscht wird dann ändert das sich auch auf tutorials.de.
Ich kann mich noch errinnern als ich das Java Forum aufgemacht habe auf tutorials.de. Wir sind gestartet mit 1 neuem Thread alle 2 Tage ;).
Aber nach und nach sind Leute wie Tom dazu gekommen so das das Java Forum ordentlich zugelegt hat und das C++ Forum bald überholt.
PHP (24 Betrachter)
Java (29 Betrachter)
PHP Forum wird zwar nicht eingeholt, aber

2.) Dadurch bedingt viele Tutoriale, Hilfeseiten wie eben auch diese hier

Das mag gut sein. Aber das ist immer noch nicht eine gute Eigenschaft der Sprache.


Das gilt für Java, Python, Ruby, Lisp, C, C++, Brainfuck ;) usw auch

4.) Im Gegensatz zu C oder Java leichter verständlicher -> höherer Erfolgsfaktor -> Leute bleiben bei der Stange, beschäftigen sich damit, werden besser.

Nun gegenüber Ruby und Python (um nur 2 zu nennen) ist die Verständlichkeit aber nicht höher. Eigentlich niedriger.

5.) Die Grundlagensprachen (HTML, CSS) zur Strukturierung und Layoutierung von mit PHP erstellen Seiten sind sehr leicht zu erlernen.

Code:
Hallo <%= user.username %><br />
bla blub blem<br>
<% if user.loggedin: %>
Du bist eingeloggt
<% #end %>

<table>
<%
for m in month:
%>
<tr>
     <td><%= m %></td>
</tr>
<% #end %>
</table>

sieht doch PHP sehr ähnlich oder? ;)

Wenn ich mir da das umständliche Gewese bei Java (AWT, Swing) oder C anschaue, vergeht es dem Hobbyschreiberling.
AWT/Swing ist kein HTML ;)

Mann kann auch Java in JSP Pages mit HTML mischen

Code:
Hallo <%= user.getUsername() %> <br >
bla  blub blem
<% if(user.isLoggedIn()) { %>
Du bist eingeloggt 
<% } %>
<table>
<% for(String month: monthStrings) { %>
<tr>
   <td><%= month %></td>
</tr>
</table>
<% } %>

ja sowas ist auch mit Java möglich. Genauso ist das mit C# möglich. Nur macht mann das in diesen beiden Sprachen nicht da man hier genügend Möglichkeiten bekommt den Code komplett aus dem HTML rauszuhalten.

6.) Ganz gute Unterstützung dank diverser administrativer Entwicklungsprogramme

Die Toolunterstützung ist bei PHP nicht gerade berauschend. Wie Norbert schon angesprochen hat.

6.) Nicht jeder studiert jahrelang Informatik, möchte aber trotzdem gerne selbst etwas entwickeln und da bietet sich PHP dank seiner großen Verbreitung auf dem Servermarkt sehr gut an.

nun die Hoster spielen das auf was verlangt wird. Es stimmt zwar das man für die Alternativen etwas suchen muss, aber nur solange es nicht genügend angefragt wird.

Die Namensinkonstitenz diverser Funktionen stört mich bisweilen auch etwas. Da hilft dann meist nur noch php.net.

jap
 
Jetzt kommt noch ein wenig Mathe dazu:
Ich gehe jetzt nur auf ein Statement ein:
Christian Fein hat gesagt.:
Das Addition von Zahlen
$a += 3 aber "addition" von Strings $str .= "blub" erledigt wird.
Wie bitteschön ist die Addition von Strings definiert? Es ist jedenfalls korrekt, dass man Strings nicht addieren, sondern verketten kann. Ein nettes (teilweise unverzichtbares) Feature, was die Unterscheidung von Addition und Zusammenfügen von Zeichenketten nötig macht, ist die automatische Typenumwandlung. Wenn ich aus einem Webformular eine Zahl zurückbekomme, überprüfe ich, ob das eine Zahl ist und kann sie weiterbearbeiten. Soll ich erst eine Typumwandlung machen und darum eine Exception bauen?

Viel "hässlicher" ist, dass die Zuweisung von Variablen mit einem Gleichheitszeichen geschieht:
Code:
$a = 1234
Ein Mathematiker liest hier "Die Variable a entspricht 1234", eine richtige Zuweisung, also Definition, funktionier mit :=
Code:
a := 1234

Mamphil
 
Mamphil hat gesagt.:
Viel "hässlicher" ist, dass die Zuweisung von Variablen mit einem Gleichheitszeichen geschieht:
Code:
$a = 1234
Ein Mathematiker liest hier "Die Variable a entspricht 1234", eine richtige Zuweisung, also Definition, funktionier mit :=
Code:
a := 1234

Mamphil
Die Zuweisung mit := kenne ich selbst nur aus Pascal (und eben auch Delphi), alles andere was ich so kenne (z.B. eben C und PHP) weisen mit einem normalen = zu.

Du kannst dies also wenn dann nicht als Schwachpunkt von PHP ansprechen, sondern hoechstens als Schwachpunkt mehrerer (oder gar vieler) Sprachen.
 
Mamphil hat gesagt.:
Jetzt kommt noch ein wenig Mathe dazu:
Ich gehe jetzt nur auf ein Statement ein:Wie bitteschön ist die Addition von Strings definiert?

Deshalb habe ich "addition" in Anführungszeichen geschrieben. Ich gehe einfach mal davon aus das du weisst was man damit ausdrückt wenn man etwas in Anführungszeichen setzt. Diese Ausdrucksweise habe ich gezielt gewählt um auch nicht jene die noch so tief in der Materie stecken verstehen was ich meine.

Es ist jedenfalls korrekt, dass man Strings nicht addieren, sondern verketten kann. Ein nettes (teilweise unverzichtbares) Feature, was die Unterscheidung von Addition und Zusammenfügen von Zeichenketten nötig macht, ist die automatische Typenumwandlung.

nun das ist bei python ebenso gegeben nur etwas netter.
str = " hier ist eine Zahl: %s als String." % 2

Wo ist der Vorteil PHP?

Wenn ich aus einem Webformular eine Zahl zurückbekomme, überprüfe ich, ob das eine Zahl ist und kann sie weiterbearbeiten. Soll ich erst eine Typumwandlung machen und darum eine Exception bauen?

Wer sagt das?

Viel "hässlicher" ist, dass die Zuweisung von Variablen mit einem Gleichheitszeichen geschieht:
Code:
$a = 1234
Ein Mathematiker liest hier "Die Variable a entspricht 1234", eine richtige Zuweisung, also Definition, funktionier mit :=
Code:
a := 1234

Pascal macht die Zuweisung mathematisch korrekt. Aber Wertzuweisungen sind das meist genutzte Konstrukt in der Programmierung. Weshalb hier eine Verkürzung auf = sinn macht.
 
Dennis Wronka hat gesagt.:
Die Zuweisung mit := kenne ich selbst nur aus Pascal (und eben auch Delphi), alles andere was ich so kenne (z.B. eben C und PHP) weisen mit einem normalen = zu.

Du kannst dies also wenn dann nicht als Schwachpunkt von PHP ansprechen, sondern hoechstens als Schwachpunkt mehrerer (oder gar vieler) Sprachen.
Ich weiß ;)

Die Variablen-Zuweisung mit dem einfachen Gleichheitszeichen ist Schwachpunkt vieler Sprachen.
PHP ist Teilmenge "vieler Sprachen".
Dann ist die Variablen-Zuweisung mit dem einfachen Gleichheitszeichen auch Schwachpunkt von PHP ;)

Nur weil die große Masse etwas verwendet, heißt das ja nicht, dass es gut und richtig ist. Ansonsten könnten wir uns die Diskussion über den Sinn und Unsinn von PHP gleich schenken: Die Sprache wird von vielen verwendet, muss also gut und richtig sein ;)

Mamphil
 
Mamphil hat gesagt.:
Die Variablen-Zuweisung mit dem einfachen Gleichheitszeichen ist Schwachpunkt vieler Sprachen.
PHP ist Teilmenge "vieler Sprachen".
Dann ist die Variablen-Zuweisung mit dem einfachen Gleichheitszeichen auch Schwachpunkt von PHP ;)

Ich empfinde das nicht als Schwachpunkt. Den Grund habe ich dargelegt.

eventuell ganz interressant im zusammenhang:
v = a C, C++, C#, Fortran, Java
v := a ALGOL, Modula-2, Oberon, Pascal
v ? a Smalltalk
set v a Tcl
MOVE a TO v COBOL
COMPUTE v = a COBOL
 
Dennis Wronka hat gesagt.:
Code:
mov ax,bx ASSEMBLER
:D

>+++++++[<++++++++++++>-]<+++.>+++[<++++++>-]<.+++..-.++++.--..-
.+++++++++.>++++++[<------------->-]<.>++++++++[<++++++++
+>-]<+.+++++.>++++++[<------------->-]<.>++++++[<+++++++++++>-]<
++.+.+++++++++++++.>+++++++++[<--------->-]<-.>+++++++[<++++++++
++++>-]<+++.--.-------.----------.+.+++++++++++++.>++++[<---->-]
<.-.>++++[<++++>-]<+.-------------.+++++++++.>++++++[<----------
--->-]<.>+++++[<+++++++++++>-]<.++++++++++++++.+++++++.++++++++.
>+++++++[<------------>-]<.>++++++[<+++++++++++>-]<++.+.++++++++
+++++.>+++++++++[<--------->-]<-.>++++++[<++++++++>-]<.>++++[<++
++++++>-]<++.---.--------.+++++++++++.>++++[<---->-]<-.+++++++++
+++..----.----.+++++++++++++.+.---.++.>++++[<---->-]<-.++.+++++.
---.>++++++[<----------->-]<---.>++++[<++++++++>-]<++.>++++++[<+
+++++++>-]<.>++++[<---->-]<-.++++++++.+++++.--------.+++++++++++
++++.>+++[<------>-]<.++++++++.>++++++++[<------------>-]<-.
 

Neue Beiträge

Zurück