• Hallo liebe Userinnen und User,

    nach bereits längeren Planungen und Vorbereitungen sind wir nun von vBulletin auf Xenforo umgestiegen. Die Umstellung musste leider aufgrund der Serverprobleme der letzten Tage notgedrungen vorverlegt werden. Das neue Forum ist soweit voll funktionsfähig, allerdings sind noch nicht alle der gewohnten Funktionen vorhanden. Nach Möglichkeit werden wir sie in den nächsten Wochen nachrüsten. Dafür sollte es nun einige der Probleme lösen, die wir in den letzten Tagen, Wochen und Monaten hatten. Auch der Server ist nun potenter als bei unserem alten Hoster, wodurch wir nun langfristig den Tank mit Bytes vollgetankt haben.

    Anfangs mag die neue Boardsoftware etwas ungewohnt sein, aber man findet sich recht schnell ein. Wir wissen, dass ihr alle Gewohnheitstiere seid, aber gebt dem neuen Board eine Chance.
    Sollte etwas der neuen oder auch gewohnten Funktionen unklar sein, könnt ihr den "Wo issn da der Button zu"-Thread im Feedback nutzen. Bugs meldet ihr bitte im Bugtracker, es wird sicher welche geben die uns noch nicht aufgefallen sind. Ich werde das dann versuchen, halbwegs im Startbeitrag übersichtlich zu halten, was an Arbeit noch aussteht.

    Neu ist, dass die Boardsoftware deutlich besser für Mobiltelefone und diverse Endgeräte geeignet ist und nun auch im mobilen Style alle Funktionen verfügbar sind. Am Desktop findet ihr oben rechts sowohl den Umschalter zwischen hellem und dunklem Style. Am Handy ist der Hell-/Dunkelschalter am Ende der Seite. Damit sollte zukünftig jeder sein Board so konfigurieren können, wie es ihm am liebsten ist.


    Die restlichen Funktionen sollten eigentlich soweit wie gewohnt funktionieren. Einfach mal ein wenig damit spielen oder bei Unklarheiten im Thread nachfragen. Viel Spaß im ngb 2.0.

Welche Sprache für kleine Tools am Server

drfuture

Zeitreisender
Teammitglied

Registriert
14 Juli 2013
Beiträge
8.751
Ort
in der Zukunft
@virtus der Benchmark ist von zend - ich würde denken die wissen was sie tun - dennoch ist die Frage natürlich nicht falsch > habe denen mal eine E-Mail geschrieben.
Keine? der Sprachen gibt es aber bei denen out of the box der Code prekompiliert ausgeführt werden kann? php, phyton, pearl werden doch alle interpretiert?
 

virtus

Gehasst

Registriert
24 Apr. 2015
Beiträge
1.689
Ort
AUF DEM MOND
@virtus der Benchmark ist von zend - ich würde denken die wissen was sie tun - dennoch ist die Frage natürlich nicht falsch > habe denen mal eine E-Mail geschrieben.
Könntest du mich noch mal auf den Thread aufmerksam machen (PN), wenn du eine Antwort hast bzw. mir die Antwort zukommen lassen? Ich vermute fast, dass die ihre Zend-Engine genommen haben, um die Performanz von PHP zu testen.

Keine? der Sprachen gibt es aber bei denen out of the box der Code prekompiliert ausgeführt werden kann? php, phyton, pearl werden doch alle interpretiert?
Das kommt drauf an. Was heißt für dich denn "out of the box"? Out of the box kann das Betriebssystem überhaupt nichts mit *.php-Dateien anfangen.
Wenn du einen Interpreter installierst (apt-get install php5), und eine php-Datei aufrufst (php my.php) dann wird dein php-Quellcode durch den Interpreter gejagt. Wenn du einen Compiler installierst und deine PHP-Anwendung durch den Compiler jagst, dann wird z.B. bei PHC in C, bei HipHop in C++ übersetzt. Die Antwort, dafür was "out of the box" passiert hängt also davon ab, wie du dein Betriebssystem konfigurierst. Ich lehne mich mal weit aus dem Fenster und behaupte, dass die meisten Anwender einen PHP-Interpreter installieren und diesen in ihren Webserver einbinden. Insbesondere schätze ich, dass die meisten Amateure den Interpreter wegen der Einfachheit als FastCGI einbinden, während professionellere Anwender wohl auf PHP als Servermodul zurück greifen. Wobei letzteres ein wenig komplizierter, dafür jedoch performanter ist. Nichts desto trotz gibt es heute auch Anwender, die eben keinen Interpreter mehr verwenden, sondern PHP kompilieren. Facebook und Wikipedia seien da nur also prominente Vertreter genannt. - Ich zitiere meinen Beitrag dazu nochmal.

Die Performanz von PHP hängt stark damit zusammen, wie man PHP-Anwendungen ausführt:
- Einbinden des (originalen) Interpreters mittels FastCGI: Der Quellcode der PHP-Anwendung wird bei jedem Aufruf von einer neuen Interpreterinstanz ausgeführt.
- Einbinden des (originalen) Interpreters als Servermodul: Der Quellcode der PHP-Anwendung wird von einer Interpreterinstanz, ausgeführt.
- Zend-Engine: Der Quellcode der PHP-Anwendung wird in Bytecode übersetzt und dieser dann zur Laufzeit ausgeführt.
- PHC / Hip Hop Virtual Machine: Der Quellcode der PHP-Anwendung wird bei PHC in C, bei der HHVM in C++ übersetzt, das wird dann zur Laufzeit ausgeführt.

Die HHVM wird von Facebook entwickelt und dort konnte die Serverlast durch deren Einsatz um 40% gesenkt werden. Auch Wikipedia macht Gebrauch von der HHVM und in einer Mail wird von einer halbierten Latenz und Dauer zum Speichern von Seiten gesprochen. Die CPU Last sei durch den Einsatz der HHVM von über 50% auf 16% gefallen.
PHP: https://de.wikipedia.org/wiki/PHP#Ausf.C3.BChrung
Hip Hop: https://de.wikipedia.org/wiki/HipHop
Wikipedia/ Wikimedia: https://lists.wikimedia.org/pipermail/wikitech-l/2014-December/079720.html ; https://meta.wikimedia.org/wiki/Wikimedia_Foundation_Report,_August_2014#HHVM
 

drfuture

Zeitreisender
Teammitglied

Registriert
14 Juli 2013
Beiträge
8.751
Ort
in der Zukunft
@pn klar mache ich.
ja out of the box meinte ich php him self... wenn ich einen performance-test von php7 machen möchte würde ich ein php-script durch die php-cli jagen.
alle Arten der Einbindungen (fast-cgi, als dienst+ socket usw.) haben Abhängigkeiten zum Webserver usw. was aber zum reinen testen der php-enginge quatsch ist.

hiphop, phc usw. sind für mich erweiterungen / andere implementierungen .... die erst mal mit php native nichts zu tun haben.
 

Der_W

Aus Prinzip dagegen

Registriert
14 Juli 2013
Beiträge
159
Perl oder PHP? Pest oder Cholera? Aids oder Krebs?

Was ist das denn Für eine Frage? Perl ist eine Missgeburt von Sprache, die insbesondere bei den Datentypen grandiose Mängel hat. Und über PHP reden wir lieber nicht, alles abseits von Frontend würde ich nicht damit machen. Viel zu undurchsichtig, was da wann mit welchen Daten passiert.

Python ist mit Version 3 ganz nett, Ruby auch. GO werde ich jetzt mal eine Change geben und schauen was passiert, für komplexere Sachen nutze ich aber fast im Ruby, weil es mit Puppet so schön eingängig ist.
 

drfuture

Zeitreisender
Teammitglied

Registriert
14 Juli 2013
Beiträge
8.751
Ort
in der Zukunft
Tjo das kann nur jemand schreiben der keine Ahnung hat...
Nur weil man einen Entwickler nicht Gängelt und Verpflichtet!! Typensicher zu Programmieren - macht das eine Sprache nicht Schlecht. Wenn ein Entwickler das machen möchte und auf nummer *sicher* gehen möchte - kann er das in php durchaus machen.
 

Der_W

Aus Prinzip dagegen

Registriert
14 Juli 2013
Beiträge
159
Das PRoblem ist, ds dich PHP früher oder später zu irgendwelchen dirty hacks animiert. Ich habe noch keine wirklich sauberen Projekte in PHP gesehen, irgendwo ist immer so ein ganz komisches Konstrukt, welches mehr oder minder unwartbar wird..
 

musv

Bekannter NGBler

Registriert
15 Juli 2013
Beiträge
3.454
Ort
/dev/null
Insbesondere schätze ich, dass die meisten Amateure den Interpreter wegen der Einfachheit als FastCGI einbinden, während professionellere Anwender wohl auf PHP als Servermodul zurück greifen. Wobei letzteres ein wenig komplizierter, dafür jedoch performanter ist.
Zweifel ich mal an. PHP als Servermodul kenne ich nur vom Apache. NGinx leitet den PHP-Code an einen Fast-CGI-Service weiter. Meinst du das? Trotzdem halte ich die Kombination in NGinx für performanter als die vom Apache.

für komplexere Sachen nutze ich aber fast im Ruby, weil es mit Puppet so schön eingängig ist.
Du verwendest "generell" eine Sprache, weil eine spezielle Anwendung darauf aufbaut? Interessant.

Das PRoblem ist, ds dich PHP früher oder später zu irgendwelchen dirty hacks animiert. Ich habe noch keine wirklich sauberen Projekte in PHP gesehen, irgendwo ist immer so ein ganz komisches Konstrukt, welches mehr oder minder unwartbar wird..
Ja, mit PHP kann man dreckig programmieren. Das kann man aber mit so ziemlich jeder Sprache (inkl. Ruby) auch.

Ich hab vor einigen Jahren nebenbei als PHP-Entwickler gejobbt. Mit PHP kann man wunderbar sauber und typisiert programmieren. Der C-/C++-Code in der Firma, in der ich die letzten 6 Jahre gearbeitet hab, sah da wesentlich dreckiger aus.
 

virtus

Gehasst

Registriert
24 Apr. 2015
Beiträge
1.689
Ort
AUF DEM MOND
hiphop, phc usw. sind für mich erweiterungen / andere implementierungen .... die erst mal mit php native nichts zu tun haben.
Das stimmt so nicht. Wie gesagt, es ist nur ein anderer Ansatz mit dem Quellcode zu arbeiten. Keine Erweiterung/ "andere Implementierung".
Ob du die Zend Engine verwendest oder PHC oder HipHop ist zwar eine generelle (System)Entscheidung, die du triffst, ändert ja aber nichts an der Sprache als solche.
Facebook hat auch eine Art Ableger zu PHP entwickelt, die bis auf endlich viele Unterschiede kompatibel zu PHP ist. Da kannst du sagen, dass es eine Erweiterung/ andere Implementierung ist.


Und über PHP reden wir lieber nicht, alles abseits von Frontend würde ich nicht damit machen. Viel zu undurchsichtig, was da wann mit welchen Daten passiert.

Das PRoblem ist, ds dich PHP früher oder später zu irgendwelchen dirty hacks animiert. Ich habe noch keine wirklich sauberen Projekte in PHP gesehen, irgendwo ist immer so ein ganz komisches Konstrukt, welches mehr oder minder unwartbar wird..
Dann solltest du erst mal programmieren lernen und dich anschließend an PHP wagen. Deine Kritik ist auf mangelnde Kenntnis der Sprache/ Implementierung zurück zu führen. PHP erlaubt dirty Code, das kannst du aber auch in C, C++ oder C#.. Ich würde fast sagen, dass einzig Java dich genug gängelt, dass du keinen wirklich schmutzigen Code schreiben kannst.



Zweifel ich mal an. PHP als Servermodul kenne ich nur vom Apache. NGinx leitet den PHP-Code an einen Fast-CGI-Service weiter. Meinst du das? Trotzdem halte ich die Kombination in NGinx für performanter als die vom Apache.
Ich bezweifele nicht, dass nginx performanter als apache ist. Im Gegenteil, die Webserver sind mit unterschiedlichen Zielsetzungen entwickelt worden und die Performanzunterschiede ergeben sich aus den unterschiedlichen Zielsetzungen. Trotzdem gilt [außer es hätte sich da in den letzten Jahren etwas geändert, ohne dass ich und/oder Wikipedia es mitbekommen hätten]: Wenn du PHP über FastCGI einbindest, erzeugst du dir für jeden Aufruf eine neue Interpreterinstanz. Das ist ungleich unperformanter, als eine einzige Interpreterinstanz für beliebig viele Aufrufe zu halten.

Ich will es nicht zu komplex machen: Ein Server, der PHP als Modul einbindet wird immer nur eine Interpreterinstanz für PHP unterhalten. Ein Server, der PHP über FastCGI einbindet, der erzeugt für jeden Aufruf eine neue Interpreterinstanz. Bei 1 Mrd Aufrufen ist der Unterschied von PHP als Modul (1 Instanz) zu PHP mit FastCGI (1 Mrd) doch erheblich, oder? Dann müsstest du dir überlegen, welchen Performanzgewinn dir nginx gegenüber apache bringt und ob sich das in der Summe dann lohnt nginx+FastCGI,PHP oder apache+PHP-Modul zu verwenden.

Wobei ich dafür jetzt auch kein Profi bin. Irgendwo hört meine Arbeit dann auch auf und ich überlasse es anderen Optimierungen vorzunehmen.
Falls du Benchmarks erstellen möchtest und nähere Informationen hast, dann bin ich aber trotzdem sehr interessiert.
 

drfuture

Zeitreisender
Teammitglied

Registriert
14 Juli 2013
Beiträge
8.751
Ort
in der Zukunft
PHP kann mit FastCGI auch als Dienst und eine Socketverbindung eingebunden werden, php forkt dann nur je nach Anfragenhäufigkeit unterschiedlich viele Threads um die Arbeiten zu verteilen.
Ja gut @Virus den Ansatz kann ich nachvollziehen, ich denke das der Test mit dem php7 Binary der php-group gemacht wurde. Was in dem Screenshot nicht zu sehen ist - in dem Test wurde php7 auch gegen hhvm getestet
http://www.zend.com/en/resources/php7_infographic

Zend wiederum ist ja wirklich eine Erweiterung / ein Modul für php selber und ist schon seid version 5 mindestens so oder so standardmäßig mit eingebaut. Ob es nun noch eine extra php implementierung von Zend gibt weiß ich nicht. Das so ein Test erst mal bei wenig Infos Fragen aufwirft stimme ich dir zu.
 

Der_W

Aus Prinzip dagegen

Registriert
14 Juli 2013
Beiträge
159
Du verwendest "generell" eine Sprache, weil eine spezielle Anwendung darauf aufbaut? Interessant.
Ich manage meine Server via Puppet und versuche, dann auch möglichst konsistent in der Anwendung zu bleiben ;)

Klar, manche Sachen lassen sich abseits Ruby besser lösen und das mache ich dann auch, aber sofern es möglich ist, ist Ruby einfach meine to-go Sprache :)
Ich hab vor einigen Jahren nebenbei als PHP-Entwickler gejobbt. Mit PHP kann man wunderbar sauber und typisiert programmieren. Der C-/C++-Code in der Firma, in der ich die letzten 6 Jahre gearbeitet hab, sah da wesentlich dreckiger aus.
War nur meine Erfahrung und kein Angriff gegen dich. PHP verleitet schnell dazu, irgendwelches Gefrickel aufzubauen, das KANN mit C++ schon wesentlich schwerer werden - klar, spätestens ab goto und änhlichem ist es offensichtlich, das der Entwickler keine Ahnung oder keinen Bock hatte.

Meiner Erfahrung nach (und die ist reichlich beschränkt) fällt bei PHP gern mal obskurer Code raus, genauso wie bei Perl. Da empfinde ICH Pyhton-Code oder Ruby deutlich angenehmer zu lesen.
 

alter_Bekannter

N.A.C.J.A.C.

Registriert
14 Juli 2013
Beiträge
4.824
Ort
Midgard
@Der_W:

Schwach, das zeigt nur wie wenig du von anderen Sprachen weisst, selbst beim "Typenstrengen" C# kannst du Typen komplett umschiffen indem du alles als "object" deklarierst.

Wenn du noch keine obskuren Eigenheiten einer Sprache gefunden hast, dann hast du noch nicht lange genug damit gearbeitet. Diese ganze Vielfalt gibts primär weil du bestimmte Dinge nicht vernünftig fixen kannst ohne andere kaputt zu machen, dafür sind Menschen zu unlogisch.

Mit C++ isses schwieriger unwartbaren Mist zu machen?:D
Hörst du dir überhaupt selber zu?
Allein die kleinere Community ist ein riesiges Problem.


Die ekligste Entwicklungsplörre(ich will hier nicht von SPrache oder Entwicklungsumgegung reden) ist meiner Meinung nach Lotus Notes. Das machen alle nur weils gut bezahlt wird. Das ist der Straßenstrich der Softwareentwicklung, man fühlt sich danach immer schmutzig, aber der Geldbeutel ist voller.
 

alter_Bekannter

N.A.C.J.A.C.

Registriert
14 Juli 2013
Beiträge
4.824
Ort
Midgard
Ansichtssache, ich kann da jetzt keine wirkliche Objektivität erkennen, dafür "modisches" PHP bashing. Es gibt garantiert ne menge Tuts auf Wannabee Hacker Seiten die dir gleich super "beibringen" als als object zu deklarieren. Von daher hätte ich ganz gerne eine Definition von
"jeder rät dir, das nicht zu machen" und "die Sprache springt dir damit fast ins Gesicht"

Bei Ruby vs Python würde ich allein aus Community Gründen Python nehmen. Wo ist Ruby wirklich relevant im Moment?

Zu SAP:
Nein habe ich nicht, aber da es afaik das Einsatz Gebiet teilt glaube ich dir auch so.

Allerdings hab ich doch ein par kritische Fragen: Wie viele Abstürze der Entwicklungsumgebung sind da pro Tag normal und kann man "Kommentare" in der Realität benutzen?
 
Oben