PHP oder Python?

  • Hallo, welche Nach bzw. Vorteile haben beide im Vergleich? Ich habe einige Gameserver die auf Linux laufen und würde gerne einen Control Panel dafür erstellen was ist besser geeigent im jahr 2017? Soviel ich jetzt mitbekommen habe soll Python besser als PHP sowie Java sein (Ich kann PHP)

    Best Regards


    Ita89

  • @Slider dann bist du aber nicht wirklich weiter gekommen, (subjektive Meinung). Aber genug Off Topic.


    Meine Empfehlung ist klar PHP, am besten mit einem der bekannten Frameworks (Symfony, Laravel, CakePHP usw.) Natürlich ist python von der Performance her besser, allerdings ist es eben nicht fürs Web optimiert wie eben PHP.

    Mit freundlichen Grüßen
    Developer
    Go/Python Developer | ehm. Webdeveloper | Fachinformatiker Anwendungsentwicklung
    Arbeitet in einem cloudigen Umfeld bei einem der größten deutschen Rechenzentrumsbetreibern

  • zu 1. Es war kein Angriff, sondern nur die Aussage das der Schritt von PHP zu Ruby kein wirkliches "weiter kommen" ist.
    zu 2. Ja natürlich, sieht man ja z.B. Redmine, trotzdem ist der Ruby Stack einfach nicht fürs Web optimiert bzw. ursprünglich gemacht wie eben PHP. Ich will nicht behaupten das PHP das Gelbe vom Ei ist, bei weitem nicht, es ist eben nur fürs Web optimiert und dafür entwickelt.


    M.M.n. sollten wirkliche Webprojekte heutzutage aus einer Mischung eines PHP Frameworks & eines Javascript Frameworks (z.B. PHP: Laravel, JS : Vue.JS oder AngularJS) entstehen, natürlich gibt es manchmal auch Gründe für ASP.NET oder Java oder Ruby oder Python oder Javascript. Es kommt immer auf den Anwendungsfall an, Realtime Anwendungen würde ich sogar ehr mit node.js statt mit PHP/Ruby/Python usw. schreiben.

    Mit freundlichen Grüßen
    Developer
    Go/Python Developer | ehm. Webdeveloper | Fachinformatiker Anwendungsentwicklung
    Arbeitet in einem cloudigen Umfeld bei einem der größten deutschen Rechenzentrumsbetreibern

  • zu 1. Es war kein Angriff, sondern nur die Aussage das der Schritt von PHP zu Ruby kein wirkliches "weiter kommen" ist.

    Das habe ich auch nicht behauptet. Web Technologien sind ueberall gleich und an keine Frameworks gebunden. Das ich "endlich weg von PHP" schrieb, ist eine persoenliche Praeferenz und bezog sich nicht auf meinen "Fortschritt" in der Web Entwicklung. Ich habe auch nicht behauptet, dass PHP mich nicht weiterkommen laesst.

    zu 2. Ja natürlich, sieht man ja z.B. Redmine, trotzdem ist der Ruby Stack einfach nicht fürs Web optimiert bzw. ursprünglich gemacht wie eben PHP. Ich will nicht behaupten das PHP das Gelbe vom Ei ist, bei weitem nicht, es ist eben nur fürs Web optimiert und dafür entwickelt.

    Ja das stimmt, aber das Rails Framework. Deswegen verstehe ich ehrlich gesagt den Punkt "nicht fuers Web optimiert" nicht.

    ogar ehr mit node.js statt mit PHP/Ruby/Python usw. schreiben.

    Wieso?

  • Ich wäre dafür wir beschränken uns auf einen Thread @Slider


    zu Rails:
    Ja mag sein, trotzdem kann das Rails Framework auch nur soviel optimieren wie Ruby eben zulässt und da Ruby nicht für die Webentwicklung erstellt wurde ist es nicht für den Betrieb als Webserver/Interpreter geeignet. Rails versucht das eben nur zu umschiffen und eben doch möglich zu machen. Es ist wie gesagt alles ein für und wieder, Ruby ist halt einfach nicht fürs web "gemacht".


    zu node.js
    Einfach weil es flexibler ist und eben "non blocking" also asynchron.

    Mit freundlichen Grüßen
    Developer
    Go/Python Developer | ehm. Webdeveloper | Fachinformatiker Anwendungsentwicklung
    Arbeitet in einem cloudigen Umfeld bei einem der größten deutschen Rechenzentrumsbetreibern

  • Dann lass einfach dieses Thread nutzen.

    zu Rails:
    Ja mag sein, trotzdem kann das Rails Framework auch nur soviel optimieren wie Ruby eben zulässt und da Ruby nicht für die Webentwicklung erstellt wurde ist es nicht für den Betrieb als Webserver/Interpreter geeignet. Rails versucht das eben nur zu umschiffen und eben doch möglich zu machen. Es ist wie gesagt alles ein für und wieder, Ruby ist halt einfach nicht fürs web "gemacht".

    Dann nenn mir bitte etwas, was sich nicht in Rails umsetzen laesst, zugleich aber in PHP moeglich ist.

    zu node.js
    Einfach weil es flexibler ist und eben "non blocking" also asynchron.

    Ist Rails auch. Es laeuft in mehreren Threads und Variablen koennen ueber Requests hinweg ausgetauscht werden.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Ich habe nie gesagt das mit PHP etwas möglich ist, was mit Ruby nicht möglich ist, eben nur das PHP für das Web optimiert ist und Ruby eben nicht (was die Zahlen von @[LSRL]Noxaro auch belegen).


    Ruby ist asynchron? Hab ich ja noch nie gehört.

    Mit freundlichen Grüßen
    Developer
    Go/Python Developer | ehm. Webdeveloper | Fachinformatiker Anwendungsentwicklung
    Arbeitet in einem cloudigen Umfeld bei einem der größten deutschen Rechenzentrumsbetreibern

  • Erstmal sollte festgehalten werden, dass das Rails Framework den Code einfach einmal prozessiert und dann im Speicher behaelt was bei PHP nicht der Fall ist. PHP ruft den Interpreter immer und immer wieder auf und parst alles und das wird auch bei groesseren Anwendungen langsamer. Auf der Command Line kann es schon sein, dass PHP schneller ist. Im Web Bereich merke ich allerdings nichts davon, da der Code einmal durchlaeuft und dann im Speicher gehalten wird. Somit dauert lediglich der erste Request nach dem Starten des Webservers "laenger".


    @Developer anscheinend verstehst Du entweder nicht den Unterschied zwischen Ruby on Rails und Ruby oder Du verwendest einfach die Begriffe falsch. Ich habe nie behauptet, dass Ruby asynchron ist. Ich habe nur gesagt, dass das Rails Framework in mehreren Threads arbeitet und Du problemlos Variablen zwischen diesen austauschen kannst. Und damit meine ich nicht ueber Sessions sondern 1:1 die gleichen Objekte. Zusaetzlich gibt es noch ActiveJob. Natuerlich ist Ruby nicht fuer das Web ausgelegt aber dafuer Rails. Deswegen macht der Punkt einfach keinen Sinn. Das Rails Framework steht einem PHP Framework nichts nach.

  • Ich finde PHP ist eine sehr schöne Sprache. Ich kann mich dem Hype um den ganzen Hass gegen PHP absolut nicht anschließen.


    Es gibt sogar einige bindings für PHP, mit denen du eigene GUI's komplett in PHP programmieren kannst. Habe ich aber noch nicht richtig benutzt.

    526C4Hj.png Mit freundlichen Grüßen,
    Noneatme

  • Erstmal sollte festgehalten werden, dass das Rails Framework den Code einfach einmal prozessiert und dann im Speicher behaelt was bei PHP nicht der Fall ist. PHP ruft den Interpreter immer und immer wieder auf und parst alles und das wird auch bei groesseren Anwendungen langsamer. Auf der Command Line kann es schon sein, dass PHP schneller ist. Im Web Bereich merke ich allerdings nichts davon, da der Code einmal durchlaeuft und dann im Speicher gehalten wird. Somit dauert lediglich der erste Request nach dem Starten des Webservers "laenger".

    Das kann PHP aber eben auch, man muss es nur aktivieren (nennt sich OPCache :) )


    Im Webbereich wirst du davon auch nicht viel merken, der Server schon :) Es ist ja immer eine Frage der Server die da hinter stecken. Natürlich ist ein Server mit 2 Xeon schneller als einer mit z.B. nem Atom Core. Aber eben das verursacht für Unternehmen die Kosten (monatlich). Da macht es dann schon einiges aus ob du für PHP 1 Server brauchst oder mehr. Wir haben bei uns das HA Setup mit 4 Servern (MySQL Master<=>Master (je 1 XEON, je 128 GB RAM, SSDs) & 2 Webserver (nginx + PHP 7, je 2 XEON, jeweils 64 GB RAM + SSD, Webserver haben jeweils einen Slave von der MySQL DB) + 2 redundante Loadbalancer) bei ~5.000 Zugriffen pro Minute, und keinerlei Probleme auch bei Spitzen in denen wir ~50.000 Zugriffe pro Minute verarbeiten, ich wage nun einmal die Vermutung zu treffen (aufgrund der Benchmarks von oben) das wir bei einem analogen Ruby on Rails Setup wahrscheinlich Probleme bekommen würden.

    Mit freundlichen Grüßen
    Developer
    Go/Python Developer | ehm. Webdeveloper | Fachinformatiker Anwendungsentwicklung
    Arbeitet in einem cloudigen Umfeld bei einem der größten deutschen Rechenzentrumsbetreibern

  • Wie ich bereits schon sagte: Der Code wird 1x geparst, was bei PHP nicht der Fall ist. Du kannst den Benchmark maximal auf die Command Line reduzieren aber nicht sobald Rails ins Spiel kommt.

    das wir bei einem analogen Ruby on Rails Setup wahrscheinlich Probleme bekommen würden.

    Das mag ich bezweifeln.

  • Erstaunlich wie steif du auf dein Rails fixiert bist. Bei PHP wird der Code auch nur einmal geparst (OPCaching :) ). Habe hier für dich noch eine etwas ältere Benchmark, die noch von PHP 5.5.9 ausgeht (und RoR 4.0) trotzdem ist der Unterschied massiv :) http://www.comentum.com/ruby-on-rails-vs-php-comparison.html


    Ruby vs Node.js:
    http://blog.techmagic.co/nodej…best-for-web-development/
    PHP Benchmarks:
    https://devopsworld.de/1091

    Mit freundlichen Grüßen
    Developer
    Go/Python Developer | ehm. Webdeveloper | Fachinformatiker Anwendungsentwicklung
    Arbeitet in einem cloudigen Umfeld bei einem der größten deutschen Rechenzentrumsbetreibern

  • wird der Code auch nur einmal geparst (OPCaching ).

    Hatte ich ueberlesen gehabt - hattest Du bereits oben erwaehnt.



    Here is a chart of a very simple "hello world" application. Below you can see just how fast pure PHP is when it comes to requests — remember, it’s a language designed for the web. However, once you start to introduce the popular full stack web frameworks, the performance drops, and the requests per second gets closer to the Ruby on Rails number. In fact, a popular web framework Laravel performs worse than Ruby on Rails. As a result most benchmarks are useless, because there’s so much more to the performance and speed of an application than the language or web framework. For example, the database system, caching mechanisms, and network delays can add a 10x to 100x slow down. So how the application is design is far more important than the language or web framework behind it.

    Man sollte sich hier erstmal die Frage stellen, was Du vergleichen willst. Wenn ich nur ein "Hello World" Programmm schreiben will, dann macht es natuerlich keinen Sinn ein ganzes Framework wie Rails herzuziehen...


    Klar, keine Frage. Eine Rails App zu hosten ist deutlich aufwendiger und schwieriger als ein paar Dateien in /srv/www/htdocs zu schmeissen (oder /var/www unter Debian/Ubuntu/whatever). Dementsprechend auch ohne eigenen Server kostspieliger. Aber fuer die, die einen V-Server betreiben und ein UCP schreiben wollen, kann das ganze auch auf Rails Basis passieren.

  • Es kann sogar auf C#,JS, Assembler passieren :) Ich merke grade das du scheinbar bis auf den privaten "laienhaften" Einsatz PHP noch nicht benutzt hast. Alle großen Konzerne setzten auf PHP (Facebook (Hack), Twitter, WDR) oder Python (Google) oder Java (Google, AXA) oder C# (Finanzinformatik in Deutschland). Bis auf Redmine ist mir auch auf Anhieb kein Projekt bekannt das auf Ruby on Rails setzt und bekannt ist.


    Nichtsdestotrotz ist das ganze eine reine Glaubensfrage :) Das einzige was ich dir sagen will ist, das Ruby (und da spreche ich von der Sprache) nicht für das Web entwickelt wurde, PHP dagegen schon und man dies einfach merkt, sei es Ressourcen oder Performancetechnisch. Da macht auch ein Framework keinen Unterschied, denn das Framework kann die Sprache nur vereinfachen nicht verändern.

    Mit freundlichen Grüßen
    Developer
    Go/Python Developer | ehm. Webdeveloper | Fachinformatiker Anwendungsentwicklung
    Arbeitet in einem cloudigen Umfeld bei einem der größten deutschen Rechenzentrumsbetreibern

  • Bis auf Redmine

    GitHub, Travis, Gitlab... sollte Dir als jemand, der in einer Firma entwickelt, ein Begriff sein :sleeping:

    das Ruby (und da spreche ich von der Sprache) nicht für das Web entwickelt wurde

    Habe ich das je behauptet? Keine Ahnung warum Du jedesmal mit diesem Argument kommst wenn das rein garnichts zur Diskussion beitraegt. Es geht doch um den Vergleich PHP <=> Ruby on Rails und nicht um PHP <=> Ruby...

    Da macht auch ein Framework keinen Unterschied,

    Doch, Frameworks machen einen Unterschied. Du kannst kein <?php echo "Hello World"; ?> mit einer Rails App vergleichen... Das ist genau das, was Dein Bericht macht, der lustigerweise sogar noch bestaetigt, dass sich ein z.B. Laravel als PHP Framework nichts mit RoR schenkt. Natuerlich mag es Benchmarks geben, die zu gunsten von einem anderem PHP Framework sind. Aber deswegen heisst es nicht, dass RoR langsamer ist als jedes PHP Framework. Es kommt rein auf die Programmierung des Frameworks an.


    Aber zu behaupten, dass PHP effizienter ist wenn es auf grosse Applikationen kommt, ist Quatsch.


    //Edit: Satzbau

    Einmal editiert, zuletzt von linux_ ()