Python Hype



  • simon.phoenix schrieb:

    Ich sehe jetzt nichts Verwerfliches an PHP. Der Stil des zugrundeliegenden C-Sourcecodes kann einem als Anwender (solange alles so implementiert ist, wie es spezifiziert wurde) meines Erachtens relativ egal sein. Es lassen sich sehr schnell und unkompliziert brauchbare Ergebnisse erzielen.

    PHP ist grässlich inkonsistent. Die Sprachfeatures sind wild durcheinander gewürfelt. Wie gesagt, PHP wurde vermutlich innerhalb von einer Woche entworfen und programmiert, von zwei College-Studenten, die gerade C und Perl kannten. Das will ich auch gar nicht kritisieren. Vermutlich brauchten sie schnell eine Webprogrammiersprache für ihr .com-Projekt. Aber man muss eben einsehen, dass man so etwas nicht als ernste Programmiersprache einsetzen kann.

    Gerade im Webbereich ist das Gold wert, weil nicht alles gleich ein Riesenprojekt ist. Falls doch, will ich gar nicht behaupten, dass PHP dann immer noch so gut ist. Aber für kleinere Sachen ist es doch imho ok.

    Ja, aber es gibt auch genug andere Programmiersprachen und Weblibraries, mit denen man mal eben etwas erstellen kann. Mit RubyOnRails geht das sogar noch viel schneller.

    Bei wirklich großen Sachen ist das dynamische Generieren von Seiten eh zu überdenken. Ob in PHP oder in welcher Sprache auch immer.

    Nein, wenn man dynamisches generieren von Seiten überdenken kann, dann ist man eh schon so weit, dass man die Webseite nicht dynamisch generieren sollte.

    Natürlich wird dynamik oft falsch eingesetzt im Web. Vermutlich gerade wegen solcher PHP-Trottel. Ein großes Projekt (groß im Sinne von viel Traffic), welches mit dynamischen Seiten arbeitet, wird sich eh irgend welche Cache Lösungen überlegen müssen.



  • naja die ganzen leute die hier immer von grossen projekten labern und lirum larum haben meist selber noch nie mehr als ein hello world programmiert aber sülzen einem den ganzen tag die ohren voll wie schlecht alles sei und lirum larum



  • kingruedi schrieb:

    Seht es endlich ein, PHP ist in einer Verzweiflungstat entstanden und sollte auch nur aus einer solchen benutzt werden.

    Jo. Es sei denn, man will produktiv arbeiten - dann ist PHP gut.

    PHP _ist_ gefrickel, keine Frage. Aber es ist einfach wahnsinnig effektiv. Mag sein dass RubyOnRails langsam verwendbar wird (habe damals mit eruby (glaub ich - ist schon lange her) gespielt - das war aber nicht so der hammer).

    Bei PHP hab ich alles und was ich nicht habe ist in 10 minuten in C als extension geschrieben.

    und das wichtigste: PHP war schon vor jahren gut 😉 klar: _jetzt_ gibt es gleichwertiges, aber warum die Pferde wechseln wenn es mir kaum etwas bringt?

    PHP verdirbt den stil und zum lernen absolut ungeeignet - bestreite ich auch nicht. aber warum soll ich meine sprache nach einsteigerfreundlichkeit wählen?

    und gerade der ansatz mit dem embedden von PHP _in_ HTML ist wahnsinnig mächtig. auch wenn es 95% aller leute falsch verwenden...



  • Shade Of Mine schrieb:

    Bei PHP hab ich alles und was ich nicht habe ist in 10 minuten in C als extension geschrieben.

    das gilt aber auch für die meisten anderen sprachen.



  • DrGreenthumb schrieb:

    das gilt aber auch für die meisten anderen sprachen.

    mag sein, aber macht es php deswegen schlecht? im prinzip ist doch kein feature einzigartig. alles gibt es woanders auch. aber die _masse_ macht es. PHP bietet hier einfach wahnsinnig viel.



  • und gerade der ansatz mit dem embedden von PHP _in_ HTML ist wahnsinnig mächtig. auch wenn es 95% aller leute falsch verwenden...

    Ich kann auch JSP in HTML Code einbetten und beliebig viele Scriptlets einsetzen um ähnlich unübersichtlichen Code zu bekommen, wie in PHP, allerdings macht das halt keiner. Weiß jetzt auch nicht, warum ich nicht auch für kleine Dinge JSP verwenden sollte, hab ja bereits viel mit JSTL und eigenen Actions zur Verfügung, muss mich aber zustzlich nicht um jeden Rotz wie Sessions selbst kümmern.

    Bei JSP habe ich alles und was ich nicht habe ist in 10 Minuten in Java als eigene Action geschrieben.



  • Shade Of Mine schrieb:

    PHP _ist_ gefrickel, keine Frage. Aber es ist einfach wahnsinnig effektiv.

    Welche Vorteile bzgl. Effektivität hat denn PHP da zum Beispiel gegenüber JSP? Ich komme für meinen Teil da auch nicht schneller zum Ziel. Ob ich in HTML jetzt PHP- oder Java-Code embedde, da schenk' ich mir nicht viel. Bei größeren Projekten bin ich mit JSP sowieso produktiver, weil es einfach viel mehr Möglichkeiten gibt, Code wieder zu verwenden.

    Außerdem ist das textuelle includen in PHP einfach nur scheiße. Wie ich textuelles includen hasse! Da geht mal wirklich Produktivität verloren, bei sowas debuggen zu müssen.



  • Optimizer schrieb:

    sarfuan schrieb:

    Optimizer schrieb:

    Weiterhin ist die Objektorientierung nur so nachträglich reingefrickelt worden, man könnte fast meinen, nur damit es dann da ist.

    Kennst du Perl? 😃

    Nein, ich kann das nur für PHP beurteilen. Reicht mir auch schon. 😉

    Naja, ich sag mal so:

    # Klasse A
    package A;
    use fields qw(varA);
    
    sub neues {
    	my $self = shift;
    	unless (ref $self) { $self = fields::new($self); }
    	$self->{varA} = 'Servus';
    	return $self;
    }
    
    sub servus {
    	my $self = shift;
    	print $self->{varA}, "\n";
    }
    
    # Klasse B
    package B;
    use base 'A';
    
    sub neues {
    	my $self = shift;
    	unless (ref $self) { $self = fields::new($self); }
    	$self->SUPER::neues;
    	$self->servus;
    	$self->{varA} = 'Hallo';
    	return $self;
    }
    
    # Und jetzt das Programm:
    package main;
    my $var = B->neues('B'); # Konstrukturaufruf Variante 1
    $var->servus;
    $var = neues A; # Konstrukturaufruf Variante 2
    $var->servus;
    

    Jetzt könnte man natürlich behaupten, dass Perl überhaupt keine OOP kennen würde - dann gibt's aber doch "use base" und "SUPER"? Es gibt also OOP, selbige ist aber eben nur extrem "gefrickelt" 😃
    An dem Beispiel sieht man auch hübsch, was Perl alles für Möglichkeiten bietet. Sehr flexibel und ebenso mächtig. Wenn du willst tut Perl alles für dich und ist alles, was du willst. In dem Sinn ist Perl der Wilde Westen und Java z.B. eine Diktatur *g*
    Und PHP ist natürlich nichts Halbes und nichts Ganzes ...

    Shade Of Mine schrieb:

    Bei PHP hab ich alles und was ich nicht habe ist in 10 minuten in C als extension geschrieben.

    Bei Perl hab ich allerdings mehr 🙂
    Mal angenommen mein Perl kennt keine Datenbanken, dann tipp ich mal eben "install DBI" und schon brauch ich im Quellcode nur noch "use DBI" schreiben und ein datanbankunabhängiges Interface steht zur Verfügung z.B.:
    use DBI;
    dbi=newDBI;dbi = new DBI; dbi->connect(...)
    vollkommen egal ob es eine MySQL oder PostgreSQL oder Textdatei (CSV) oder sonstwas ist. Und das funktioniert in Perl schon seit 10 Jahren so ... PHP ist eben erst mit PHP 5 und PEAR halbwegs nachgezogen. Bei Perl gibt's ne Menge solcher Sachen, deswegen: bei Perl hab ich mehr. 😃
    Ach, und wenn du unbedingt darauf stehst, Perl kann man auch in HTML einbetten - macht nur keiner 😉



  • Shade Of Mine schrieb:

    DrGreenthumb schrieb:

    das gilt aber auch für die meisten anderen sprachen.

    mag sein, aber macht es php deswegen schlecht? im prinzip ist doch kein feature einzigartig. alles gibt es woanders auch. aber die _masse_ macht es. PHP bietet hier einfach wahnsinnig viel.

    Nein, aber man kann es eben nicht als Argument dafür zählen, dass PHP überlegen ist.

    PHP hat sich vermutlich durchgesetzt, weil es als Konkurrent zu Perl gesehen wurde und gegenüber Perl wirklich effektiver Einsetzbar im Webbereich ist. Nicht nur, dass es JSP damals schon gab, aber heute gibt es einfach eine Menge besserer Alternativen.

    Natürlich kann man schnell mit PHP etwas basteln, aber das geht mit anderen Webtools und Programmiersprachen auch verdammt schnell. Die haben im Gegensatz zu PHP sogar weniger Sicherheitslücken 🙄

    Wir sollten PHP langsam zu Grabe tragen.



  • beurteiler schrieb:

    Ich kann auch JSP in HTML Code einbetten und beliebig viele Scriptlets einsetzen um ähnlich unübersichtlichen Code zu bekommen, wie in PHP, allerdings macht das halt keiner.

    Wie wird es denn gemacht? Hab schon seit Ewigkeiten nichts mehr im Web-Bereich
    gemacht, also verzeiht mir meine Unwissenheit 😉



  • energyzer schrieb:

    beurteiler schrieb:

    Ich kann auch JSP in HTML Code einbetten und beliebig viele Scriptlets einsetzen um ähnlich unübersichtlichen Code zu bekommen, wie in PHP, allerdings macht das halt keiner.

    Wie wird es denn gemacht? Hab schon seit Ewigkeiten nichts mehr im Web-Bereich
    gemacht, also verzeiht mir meine Unwissenheit 😉

    Man schreibt sich z.B. eigene Tags, die dann intern ne Menge Code ausführen können. Oder man included die Ausgabe eines anderen Servlets (nicht den Quelltext des anderen Servlets!).



  • Wie wird es denn gemacht? Hab schon seit Ewigkeiten nichts mehr im Web-Bereich
    gemacht, also verzeiht mir meine Unwissenheit

    Eigentlich ganz einfach alles was in <% .. %> wird als Scriptlet interpretiert, bzw. damit man JSP-Dateien auch z.B:
    mit einem XML-Editor ganz einfach bearbeiten kann (um z.B: im voraus bereits sicherstellen zu können, dass die
    Seite XHTML valid ist) gibts extra Tags dazu jsp:scriptlet ... </jsp:scriptlet>.

    In diesem Abschnitt kann man dann jeglichen Java-Code einbetten, der auch in einer Methode gültig ist (imports
    funktionieren zum Beispiel nicht, fuer alles was hier nicht funktioniert gibts eigene Tags).

    <%@ page contentType="text/html" pageEncoding="UTF-8">
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
    	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    	<head>
    		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    		<title>Hello World</title>
    	</head>
    	<body>
    
    		<% 
    			out.println("<h1>Hello, World</h1>");
    		%>
    
    	</body>
    </html>
    

    Wie man sieht fast genau so wie in PHP und afaik genauso wie in ASP.NET, aber sowas macht man eben nicht ..



  • Hab gerade mal nach einem Beispiel für die Tags gesucht und gefunden:
    http://java.sun.com/products/jsp/tutorial/TagLibraries16.html#62510

    Scheint ja eine wirklich interessante Technologie zu sein. Sollte ich nochmal
    was im Web machen, wird JSP sicherlich in die ganz Enge Wahl kommen. Das PHP
    embedded Gefrickel hat mich eh immer genervt.



  • @energyzer: Der ganz große Vorteil von JSP/Servlets gegenüber fast allen anderen Technologien ist einfach, dass dahinter eine ausgereifte Sprache steht. Du kannst die volle Java API benutzen und hast sehr gute Frameworks für MVC, wie z.B. struts oder die neue offizielle Spezifikation JavaServerFaces. Ob die Anbindung an einen J2EE AppServer, WebServices, LDAP/ActiveDirectory Anbindung, etc. ist alles schon vorhanden und von sehr guter Qualität.

    Zudem muss man noch sagen, dass aufgrund der VM und dem HotSpotter die Ausführungsgeschwindigkeit und das Verhalten unter großen Lasten sehr gut ist.



  • Hallo energyzer,

    eigene Actions sind schon toll nicht? Wobei man sagen muss, dass dein Link noch mit veralteten Mitteln arbeitet. Ich geb dir dazu am besten nochmal ein kleines Beispiel.

    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
    	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    
    <html>  
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>Guestbook</title>
        </head>    
        <body>
    
            <jsp:useBean id="guestbook" class="core.GuestbookEntry" scope="request" />
    
            <c:forEach items="guestbook.entrys" var="entry">
                <table>
                    <tr>
                        <td>Name:    </td> <td>${entry.name}   </td>
                    </tr>
                    <tr>
                        <td>EMail:   </td> <td>${entry.email}  </td>
                    </tr>
                    <tr>
                        <td>Content: </td> <td>${entry.content}</td>
                    </tr>
                </table>
            </c:forEach> 
    
        </body>        
    </html>
    

    Ich bin mir jetzt nicht sicher ob man das useBean-Statement benötigt, oder nicht schon reicht, dass es als Parameter übergeben wird.

    Wie man sieht ist hier minimalst an Programmlogik vorhanden und das bisschen was vorhanden ist, soll möglichst JavaScript ähnlich sehen (da das eine Sprache ist, mit der ein typischer Designer wohl sehr vertraut sein wird).

    Ich nutze JSPs eben hauptsächlich so wie oben angeführt als Views, die mir lediglich definieren, wie ich aus einer JavaBean (in diesem Fall core.GuestbookEntry) eine HTML-Seite erzeuge. JSP wird erst in der Kombination mit Servlets und JavaBeans richtig angenehm 🙂


Anmelden zum Antworten