Newsgroup: it.comp.www.php
Titolo: php o java???

Lo so che e' una domanda che puo' provocare accesi flame, ma io sono 
molto ignorante in materia. Ho anche cercato su google, ma le risposte 
sono pure troppo complesse per me.
Non chiedo quale sia il migliore, ma quale sia il migliore per le mie 
esigenze.
Nel mio ambiente lavorativo mi capita talora di persone cui serve un 
programma. Diciamo che i miei potenziali clienti sono privati, piccoli 
imprenditori, negozianti.
Io cerco di allettarli con il fatto che in php il software e' fruibile 
anche da internet all'interno di un sito  o comunque su rete interna 
adibendo un pc a server. Alle volte mi riesce di concludere. Quando mi 
riesce chiamo un programmatore e mi faccio fare il programma. Ovviamente 
la fetta migliore se la prende il programmatore. Mi sono messo quindi a 
studiare il php nel poco tempo libero.
Mi ritrovo anche una cugina che a suo tempo studio molto il  java e che 
pero' non conosce affatto il php. Gli ho dato il mio manuale e mi ha 
detto che secondo lei il php e' molto simile al java, ma senza oggetti.
(cioe' che vuol dire... e' peggio?)
Mi chiedo quindi se per le mie esigenze vada bene php, e' indifferente o 
meglio java.
Altra cosa. Molti host danno la possibilitï¿œ di acquistare i servizi di 
php e mysql. Non mi e' mai capitato invece di vedere un servizio java o 
java-mysql.
Esistono?.. Sto dicendo un mucchio di fregnacce?????
Grazie
Bud

 java-mysql.
Solitamente Java e` visto come "enterprise", quindi difficilmente lo 
trovi abbinato a MySQL. Piuttosto (e a cifre molto piu` alte) a Oracle, e 
solitamente solo in ambito "ti diamo l'hosting ma ti scriviamo anche 
l'applicazione".
Anche per il fatto che e` piu` complicato "isolare" un'applicazione Java 
dalle altre sullo stesso server, mentre in PHP e` abbastanza semplice.
Bye.

 Bud
hai molta confusione.
che manuale hai dato a tua cugina php3???
dalla versione 4 php è diventato a oggetti (oddio, diciamo che hanno
introdotto il concetto di oggetto), dalla 5 e le ultime versioni 5.3.x
è completamente a oggetti (ma si può utilizzare anche in maniera
procedurale).
la curva di apprendimento di php è molto più veloce (questo implica,
risultati subito ma la contropartita è data dal basso livello teorico
che serve per essere produttivo e quindi molto spesso si creano
programmi da fucilare il programmatore).
la curva di java dipende, java detto così non vuol dire nulla, di java
ne abbiamo nmila derivati, j2se (java 2 standard edition, diciamo la
base), j2ee (java 2 enterprise edition che viene utilizzato per
progettare applicazioni molto complesse e la maggior parte in ambito
web), j2me (java 2 midlet edition, praticamente per cellulari/palmari/
netbook ecc, viene utilizzato per la maggior parte nei giochini su
cellulare), e quindi come puoi immaginare la curva di apprendimento
può essere maggiore.
php è un liguaggio tipizzato dinamicamente, java tipizzato
staticamente.
in java soprattutto j2ee hai altre cose da dover imparare/utilizzare
(il concetto e l'utilizzo di application server tomcat/jbos/websphere
ecc..), framework (ibernate, struts, spring, ecc..) lo stesso per php
(zend, cakephp, codeigniter).
per le tue esigenze (privati, professionisti e PMI) che poi sono gli
stessi mie clienti (tranne i privati) non hai necessità di utilizzare
java (a meno che sai che un progetto crescerà a dismisura e saranno
coinvolti una serie di figure professionali come sistemisti, dba, n
programmatori ecc), il consiglio è di continuare su php.
altro consiglio impara bene php e uno o più framework (io utilizzo
Zend), ma prima di buttarti a scrivere codice, impara la teoria dei
vari paradigmi (procedurale, oggetto, funzionale ecc) e i vari design
pattern 
http://it.wikipedia.org/wiki/Design_pattern
  (MVC *il più
usato su php*, singleton pattern (un esempio è il login di un
applicazione), Prototype pattern ecc.)
gli hosting ti danno php-mysql (perchè è il più utilizzato in ambito
web "normale"), se cerchi altre architetture tipo tomcat+oracle, jbos
+oracle, websphere+DB2 ecc, in genere sono di classe "enterprise" e
quindi di costi molto elevati (oracle non te lo regalano!!) la parte
di java in accoppiata con un application server (si occupa lui di
"interpretare" il codice contiene di suo una JVM), se da solo senza un
application server, basta avere sulla macchina una JVM,comunque  in
genere devi prendere in noleggio un server o un VPS.
NB
di java ne so poco, quindi alcune informazioni possono essere
sbagliate/vecchie/imprecise
Ciao

 ecc.
Eh ?? :-)
E chi lo dice ai nostri clienti che tutte le applicazioni web con Java
(Tomcat, JSP, Hibernate, Struts2, Torque...) non erano adatte al web ? :-)
PHP è un linguaggio di scripting interpretato dal pre-processore che lo
esegue. Java è compilato (usa un bytecode e la virtual machine, ma è
compilato). Questa differenza pone allo sviluppatore un diverso
approccio al progetto e alla sua manutenibilità.
Se l'applicazione web deve girare su di un server preso in hosting,
quelli a basso costo (Masterweb, Aruba, ecc...) non hanno Java.
Anzi, diciamo che Java (ovvero un application server Tomcat & C.) non lo
trovi proprio allo stesso prezzo di uno che ha PHP (<= 20€).
Questo taglia verso il basso parecchie scelte applicative e target dei
clienti.
Sulla definizione di linguaggio dinamico e statico penso tu ti riferisca
al concetto di linguaggio interpretato e compilato che ho dato io...
Comunque, tornando al topic... se non si ha esperienza di programmazione
e si vuole raffazzonare su qualcosa per ridurre i costi ( = non chiamare
una figura esterna) la vedo dura sia con l'uno che con l'altro.
Con una /forma mentis/ ben formata ed elastica alla programmazione, con
una buona conoscenza di programmazione OO, passare da un linguaggio
all'altro è spesso solo questione di sintassi.
Per piccole-medie applicazione la curva di apprendimento e il
time-to-target pendono forse a favore del PHP. Ma se poi si cerca
qualcosa di più scalabile o per applicazioni piuttosto pesanti, per
esperienza opterei più per Java.
Ripeto, il problema non è tanto sul linguaggio. Non stiamo scegliendo un
paio di scarpe.
Guardando quello che c'è intorno al linguaggio si scopre che ci sono due
mondi molto diversi.
saludos,
M.

 una figura esterna) la vedo dura sia con l'uno che con l'altro.
Quoto. L'approccio naïf è destinato a fallire con entrambi i linguaggi.
La differenza è che il programmatore naïf con Java non scrive nemmeno
una riga, con PHP forse scopiazzando e chiedendo di qua e di là qualcosa
riesce a mettere insieme ma il progetto, a meno che non sia banalissimo,
è comunque destinato a fallire prima o poi.
	Y.

 mondi molto diversi.
Questo e` vero. Ma sono anche abbastanza simili. Java ha un supporto piu` 
"concentrato" da parte di Sun (e di IBM e Apache), quindi dei tool "piu` 
ufficiali", mentre per PHP ci sono diversi framework con filosofie 
diverse, repository di classi e script incontrollati, ecc. ecc.
La cattedrale e il bazaar. ;)
Bye.


Beh... le somme le tirero' alla fine. D'altronde in qualche modo bisogna 
pur cominciare e partire sconfitto non e' nel mio stile.
Ora tanto per dirne una sto prendendo un lavoro non difficile ma ben 
remunerato. A quel punto mi chiudo in casa un mese e qualcosa ne deve 
uscire per forza.
Comunque grazie dell'avvertimento.

 sono pure troppo complesse per me.
Grazie...La cosa mi rincuora.
Finora non ho buttato il mio tempo.
Il manuale era php 5 ma forse  la sezione oggetti fosse trattata in 
maniera marginale su uno degli ultimi capitoli. Ho il sospetto che molti 
libri prendano la versione precedente gli aggiungano un paio di capitoli 
e fanno la versione nuova. Sicuramente mia cugina ha letto una meta' non 
di piu'.

 e fanno la versione nuova.
beato te che sospetti solo....


mmmmm dopo questa battuta sono meno beato  :-)

 java-mysql.
E il motivo è proprio nella forte differenza tra le due piattaforme.
Ma qui per spiegarti qualcosa di più dovrei andare veramente sul
tecnico spinto ;^)
bye!


Lavoriamo molto livello hardware.
Pero qualche volta la mia posizione e' privileggiata e qualche mio 
cliente mi chiede un programma.
Non funziona benissimo il fatto di fare da tramite che vuol dire 
metterci la faccia con il cliente perche' i ritardi ci sono sempre da 
parte del programmatore di turno. Alle volte mi chiedo se valga la pena 
fare il mio ruolo per guadagnare una fetta minima. E' anche vero che mi 
scoccia buttare nel cesso l'opportunita' di guadagno che puntualmente mi 
si ripresenta. E non abbiamo mai fatto pubblicit� in merito.
Tutto qui. Mai si inizia mai ci si sbatte il muso e mai si arriva.
Come ho scritto in un altro post, spero di prendere a breve un incarico 
interessante e ben remunerato. Se mi danno l'ok mi chiudo in un bunker 
un mese e qualcosa tiro fuori. Molto probabilmente prendero' anche 
lezioni private con oggetto il programma in esame.
E poi si vedra'.
Saluti
Bud
PS
E comunque grazie a tutti dei preziosi consigli e avvertimenti. 
Veramente un ottimo ng questo.

 lezioni private con oggetto il programma in esame.
Vedi tu, un mese è un po' pochino per diventare produttivi, anche con
strumenti semplici... ma non voglio porti limiti ;^)
bye!