Newsgroup: it.comp.www.php
Titolo: JSP o PHP? Quali i pregi dell'una e dell'altra scelta?

Premessa: conosco bene il PHP.
Per motivi universitari, sto studiando le JSP e sinceramente vi dico:
spero che tutta quella complessità in più sia giustificata da maggiore
potenza, versatilità, ecc. ecc.
Deve eserci qualcosa in cui le JSP ofrono risultati migliori o
prestazioni più elevate sennò non si spiega il perché della loro
esistenza.
Per un programmatore PHP come me, studiare le JSP è avvilente: mille
complicazioni in più rispetto al PHP e apparentemente nessun vantaggio
(apparentemente)... e dire che sono all'ultimo anno della laurea
specialistica in ingegneria informtica, quindi non sono uno
sprovveduto in fatto di linguaggi di programmazione.
Ma perché andare a complicarsi la vita? Non vuole essere una domanda
polemica ma sincera: sono convinto che JSP abbia dei pregi... mi
aiutate a capire quali sono?

 a capire quali sono?
Fondamentalmente un mercato del lavoro piu` ampio, e il supporto economico 
di grosse aziende.
Per il resto, io mi tengo PHP. :)
Tecnicamente parlando, JSP ha il pregio di aver praticamente spinto da 
solo il paradigma MVC in ambito web, finche` non e` stato adottato da 
tutti gli altri.
Ora direi che non ha praticamente nessun vantaggio.
Bye.

 aiutate a capire quali sono?
il target di un progetto J2EE è (o meglio, dovrebbe essere)
completamente diverso da quello di un applicazione PHP. Il primo si
rivolge a mercati enterprise, ed ha come scope sistemi informativi
completi, il secondo nasce per esigenze molto più personali ed è più
mirato alle applicazioni web pure. Poi, come tutti gli strumenti,
entrambi possono essere usati un po' per tutti gli scopi, ma non è
detto che siano altrettanto efficaci...
Scendendo in dettaglio, la differenza fondamentale è data dal fatto
che PHP è interpretato e legato a doppio filo al funzionamento del web
server. Non c'e' nessun tipo di persistenza, che devi interamente
costruire da codice, nè possibilità di riutilizzo di risorse. Un
application server ti mette a disposizione dei container che sono
utilizzabili indipendentemente dalle richieste HTTP.
D'altra parte, anch'io trovo a volte irritante la eccessiva
ingegnerizzazione di J2EE e la tendenza all'astrazione selvaggia e
stratificata, che effettivamente introduce delle complicazioni non
trascurabili. D'altra parte ti permette di realizzare progetti il più
possibile portabili e multipiattaforma.
bye!

 costruire da codice, nè possibilità di riutilizzo di risorse.
PHP può girare come fast-cgi.



Si`, ma questo non garantisce persistenza o riutilizzo delle risorse.
L'unica cosa "garantita" e` che l'interprete viene caricato in memoria per 
un tot di istanze e li` rimane, senza bisogno di ricaricarlo ad ogni 
richiesta come succede per il CGI puro.
Praticamente si avvicina alla gestione come modulo di apache, ma con il 
vantaggio che non e` strettamente legato ad apache, che quindi rimane piu` 
leggero quando deve servire risorse non PHP (immagini, js, css, ecc.)
Bye.


Questa non l'ho capita - una risorsa non php non è servita via fast-
cgi ma direttamente dal webserver.

 ma direttamente dal webserver.
Appunto. Ma un figlio qualsiasi di apache, con PHP sotto fastcgi, occupa 
meno risorse (da 5 a 20 MB di meno), quindi e` piu` veloce ad avviarsi ed 
entra anche meglio nelle varie cache hardware, quindi e` mediamente piu` 
veloce a servire contenuti statici.
Ecco perche` in alcuni casi fastcgi e` piu` veloce di apache+mod_php.
Bye.


Giusto, giusto. Errore mio. Pensavo al fast-cgi ma non al sistema
implementato da PHP per utilizzarlo. Sì, e vero, per adesso non è
possibile (in maniera immediata, intendo) creare un *vero* script fast-
cgi come si fa in C  (un grosso loop che accetta connessioni e le
gestisce per fatti suoi).

 ti fa far buonissima figura :^)
Il punto è che, come ho detto, sto iniziando in questi giorni a
studiare JSP e solo molto superficialmente.
Il primo esempio presentato dal libro che sto leggendo consiste in un
esempio che visualizza in una pagina HTML l'orario locale del
server... il tutto in tre pagine di codice!!!
Appena l'ho letto non ho potuto fare a mno di confrontarlo con PHP e
pensare a quante righe di codice in meno sarebbero bastate con PHP.

 il tutto in tre pagine di codice!!!
Per onore di cronaca, se fai la stessa cosa con Zend Framework usando 
l'MVC, il codice potrebbe non essere molto piu` corto. Forse ce la fai con 
una pagina e mezza di codice, di cui una pagina per il bootstrap. :)
Se poi conti anche tutto il codice che lavora "dietro le quinte" sia in 
JSP che in ZF, probabilmente arrivi a una trentina di pagine.
Il vantaggio di entrambi e` su progetti molto corposi. Quella separazione 
e sovraingegnerizzazione che introduci per scrivere hello world, poi ti 
salva la vita quando hai un migliaio di pagine da gestire.
Bye.

 gestire.
S�, questo lo sospettavo (o meglio, lo speravo! ;-))
--
Elminster 

 server... il tutto in tre pagine di codice!!!
E vabbè, pure in JSP se vuoi te la cavi con una riga, esattamente come
in php. Pero' ovviamente così facendo continueresti a non capire dove
gira il vento :^)
bye!