Categories
php

PHP vs Java chi è più performante/scalabile?

PHP off course, e viene dimostrato anche facendo una piccola valutazione sui prezzi dell’hardware e del software necessari ai due linguaggi per far girare siti con traffico definito di “enterprise level” come Digg.

ciuaz

13 replies on “PHP vs Java chi è più performante/scalabile?”

Ma che stai male? ma che cazzo dici? Che c’entrano i prezzi con la scalabilita e le performance? digg e’ un sito che qlnq bimbo puo tirare su, ed e’ tuttaltro che entrprise level. srivi due righe di codice java prima di aprire bocca magari

Sulla scalabilità e capacità di riuso di JAVA non c’e’ da discutere.
Le performance si possono discutere in quanto JAVA ha per tendenza architetturale la capacità di aggiungere strati e orpelli di per se eccessivamente ingombranti. Tuttavia uno sviluppatore JAVA scrupoloso non ha nessuna difficoltà a scrivere del codice 1.3 2 volte più efficinete di quello PHP. Si potrebbe anche parlare dele capacità di tuning della JVM….. Direi cmq ch confrontare il linguaggio JAVA con uno pseudo linguaggio di scripting come PHP abbia poco senso.

Un ambiente Enterprise Java è sicuramente piú performante di uno PHP a parita di capacitá di programmazione e conoscenze informatiche per il programmatore, anlista ed architetto. Questo è legato al fatto che PHP è un ambiente di scripting mentre Java è un linguaggio vero e proprio con una struttura che permette ottimizzare le prestazioni senza fare i salti mortali e reinventarsi strutture mal pensate a causa della storia del PHP.

Penso solo a quante istanze di PHP il server deve tirar su per mantenere gli utenti connessi ad un servizio. Il PHP ha la gestione delle classi come se fossero degli array ed emula solo i concetti dell OO spesso male.

Diciamo che per piccoli progetti che non hanno grosse necessitá sencondo me PHP va bene, ma come ben sa la maggiornanza di noi il cliente inizia chiedendo una macchina da caffé per aprire alla fine una catena di ristoranti. Per tale ragione opto sempre o quasi per Java, questo dipende ovviamente dalle dimensioni dell’azienda cliente.

Sottolineo che la scalabilitá é fortemente legata alla progettazione software e non al linguaggio quindi se si ha a disposizione un linguaggio performante con molte librerie questo permette all’architetto di essere piú veloce nello sviluppo e delivery del progetto oltre che ad una scalabilitá migliore.

PHP secondo me è scalabile per piccoli progetti fino a applicazioni di medie dimensioni per le altre serve quasi sempre un ambiente enterprise con Java ed Oracle.

Ciao
Vincenzo

Quello che vorrei capire è perche google, flickr e altri simili che sono tutti basati su perl, php e altri linguaggi di scripting sembrano funzionare molto bene, avendo un traffico direi molto elevato…

Non entro in merito di altre argomentazioni perche non ne ho la conoscenza…
bye

Ciao, ho letto il tuo articolo… sono una persona in più sul tuo Blog ;)
Lo trovo molto interessante, intanto perche non mi pare di aver letto (come succede spesso) “perche java è enterprise e php no….”;
hai fatto un buon confronto piccolo appunto sugli IDE:
Zend in realtà all’interno del suo Zend Studio ha un debugger come qualsisi ide java.
Io uso eclipse per sviluppare in java e la dinamica è identica.

Per quanto riguarda poi i webservices, beh i ws si fanno tranuqillamente in php, alla fine sono richieste e risposte via qualche protocollo… (non ho detto ne XML ne HTTP qui c’è scritto il perchè QUI. )

Per quanto riguarda la generazione del wsdl qui ricadiamo sempre nel discorso IDE (il wsdl si potrebbe anche scrivere a mano… 2 palle! ma a mano) però anora Zend Studio ci torna utile ma non solo, anche questi 2 tool:

http://www.jool.nl/new/1,webservice_helper.html
http://www.djkaty.com/drupal/php-wsdl

Però ancora non ho capito perche siti che hanno un traffico molto elevato e applicazioni molto complesse continuano ad usare PHP…

ciauz!

Non sono paragonabili. Però effettivamente, Google usa Python, Yahoo usa PHP e se non sono “Enterprise Level” questi, allora ditemi voi… E comunque, una bottarella in direzione di una maggiore aderenza all’OOP la potrebbero dare… l’hanno data ad ActionScript che adesso pare C#!

Peccato che PHP nella versione 5 sia OO e che Digg sia un sito che gestisce milioni di visite al mese. Java in italia viene usato per fare applicazioncine per la pubblica amministrazione che poi vengono usate da 1000 persone al mese. Molto meno Enterprise di Digg. E se Digg la può tirare su pure un bimbo stiamo messi molto male…

Credo che yahoo usi la piattaforma Red Hat enterprise con load balancing su server molto performanti e oracle su batterie di dischi array.

Non parliamo della banda a disposizione di questo colosso.

Ovviamente io non ho detto che non si possa usare PHP con oracle per progetti di grandi dimensioni performanti su grossi carichi di utenze. Il dilemma sta sul costo dell’infrastruttura necessaria a poter usare questa o quella tecnologia.

Inoltre trovo che un limite molto forte di PHP sia la memory sharing che prende una quantita’ di risorse almeno io parlo sino all’uscita della versione 5 che non e’ alla fine utilizzabile come funzionalita’ appunto perche’ alla fine si necessita’ di una quantita’ di memoria spesso non supportabile dagli attuali server ad alte performance.

Quindi pur usando le stesse tecniche per migliorare le performance in entrambi i linguaggi java permette di usare anche la memoria condivisa tra i vari thread dei processi.

Almeno questa e’ la mia esperienza sul campo.

Ma tu confronti un linguaggio che viene compilato, producndo del bytecode che per girare ha bisogno di una virtual machine (JVM) con un linguaggio interpretato?

Ciao a tutti, la discussione è vecchia, ma mi piace dire la mia.
Java non è un compilato puro ma un precompilato, per la vm, per compilato puro io intendo roba in codice macchina e non in un codice per una macchina virtuale.

Stessa cosa accade per altri linguaggi come actionscript, che viene precopilato per la il player flash o per macchina virtuale come air (per pc) o mobile

Mi piace il lavoro che stanno facendo in ambiente php, spero che esca prima o poi una versione di php nativamente oop.

Java è adatta a tutte quelle situazioni dove si devono giustificare dei costi più alti e legare un cliente.

Non è tanto l’applicazione ad essere enterprice, quanto il costo dell’applicazione.

é enterprice? allora costa un botto.
Costa un botto? allora è enterprice

é fatto in php? allora costa poco, di conseguenza non posso mica definirla enterprice.

Lo sviluppatore Java, vive nel suo mondo, ha un margine di miglioramento spaventoso e tantissime cose da scoprire, non ha il tempo per guardarsi attorno e scoprire che stanno emergendo nuove realtà; è troppo impegnato ad aspettare che termini l’ennesimo build per testare l’applicazione.

Ciao a tutti, sviluppatori enterprice o meno.

Comments are closed.