Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

php o java???

26 views
Skip to first unread message

Bud

unread,
Dec 18, 2009, 8:05:14 AM12/18/09
to
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


Alessandro Pellizzari

unread,
Dec 18, 2009, 8:21:55 AM12/18/09
to
Il Fri, 18 Dec 2009 14:05:14 +0100, Bud ha scritto:

> 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?)

Se ti ha detto cosi` i casi sono due:
- o non ha letto il manuale
- o il manuale fa schifo

PHP e` a oggetti almeno da 6-7 anni (da PHP 4.0. Siamo al 5.3.1).

Cercati un manuale che contenga le parole "PHP5" e "object oriented" nel
titolo o nel sottotitolo. :)

Il nome delle funzioni in PHP e` molto simile a Java, ma le somiglianze
finiscono li`. PHP e` dinamico, Java statico. PHP e` object-oriented,
Java object-based. PHP e` piu` adatto al web, Java allo stand-alone. ecc.
ecc.

Non sono in assolluto uno meglio dell'altro, ma dipende dall'ambito di
applicazione e dalla forma mentis del programmatore.

> Mi chiedo quindi se per le mie esigenze vada bene php, e' indifferente o
> meglio java.

Se devi fare software web, PHP e` ottimo, soprattutto se usi un framework
(zend, symfony, cake, codeigniter, ...) e rispetti un po' di regolette
per la sicurezza e la scrittura di buon codice.

Java, su web, e` enormemente piu` pesante e difficile da gestire, ma data
la sua staticita` e il fatto che spesso (non sempre) i programmatori Java
hanno un maggiore background teorico, puo` essere piu` semplice gestire
team di programmatori molto grandi, e quindi progetti enormi.

Non che in PHP non si possano fare (facebook e` in PHP...), ma e` piu`
difficile trovare programmatori veramente bravi.

> 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.

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.

bramante

unread,
Dec 18, 2009, 8:58:58 AM12/18/09
to
On 18 Dic, 14:05, Bud <Budisnotfor...@all.it> wrote:
> 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

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

Mau C

unread,
Dec 18, 2009, 9:46:12 AM12/18/09
to
Alessandro Pellizzari ha scritto:
[...]

> PHP e` a oggetti almeno da 6-7 anni (da PHP 4.0. Siamo al 5.3.1).
>
> Cercati un manuale che contenga le parole "PHP5" e "object oriented" nel
> titolo o nel sottotitolo. :)
>
> Il nome delle funzioni in PHP e` molto simile a Java, ma le somiglianze
> finiscono li`. PHP e` dinamico, Java statico. PHP e` object-oriented,
> Java object-based. PHP e` piu` adatto al web, Java allo stand-alone. ecc.
> 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.

yossarian

unread,
Dec 18, 2009, 10:04:53 AM12/18/09
to
Mau C wrote:

> 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.

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.

Alessandro Pellizzari

unread,
Dec 18, 2009, 10:19:09 AM12/18/09
to
Il Fri, 18 Dec 2009 15:46:12 +0100, Mau C ha scritto:

> Alessandro Pellizzari ha scritto:


> PHP e` piu` adatto al web, Java allo stand-alone.

> 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 ?
> :-)

Dove ho scritto "non adatto"? Ho scritto "piu` adatto" (e, sottinteso,
meno adatto).



> 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à.

Non solo questo, ma si`, pone gia` delle differenze.
Molto piu` grossa, IMHO, la differenza che in PHP ogni script e` isolato,
in Java finisce tutto dentro l'application server e interagisce con il
resto.

> Sulla definizione di linguaggio dinamico e statico penso tu ti riferisca
> al concetto di linguaggio interpretato e compilato che ho dato io...

No. In PHP puoi fare
$a = "pippo"; $a = 10; $a = 12.5; $a = new Object();

In java no. Devi avere quattro variabili di quattro tipi diversi.
E se hai una funzione che accetta indistintamente quei 4 tipi, in Java
devi usare 4 funzioni che magari ne richiamano poi una "master", in PHP
una sola.



> 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.

Completamente d'accordo, con l'appunto di yossarin.

PHP ha una curva di apprendimento piu` soffice. Java richiede molta piu`
teoria.



> 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.

Dipende da quanto sei elastico. Certo anche io programmo in C, Java,
Vala, Python, Bash. Ma sono enormemente piu` produttivo in PHP, perche`
lo uso tra le 4 e le 9 ore al giorno, mentre gli altri sono tra le 4 e le
9 ore al mese... :)

Per esempio mi ingarbuglio con le list comprehension di python, e mi
dimentico continuamente i cast in Java, perche` le prime sono derivate
dai linguaggi funzionali, e i secondi tipici di linguaggi statici.



> 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.

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.

Bud

unread,
Dec 18, 2009, 10:27:52 AM12/18/09
to


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.

Bud

unread,
Dec 18, 2009, 10:28:32 AM12/18/09
to
Il 18/12/2009 14.05, Bud ha scritto:
> 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.

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'.

Argaar

unread,
Dec 18, 2009, 11:06:14 AM12/18/09
to
Bud ha scritto:

> Ho il sospetto che molti
> libri prendano la versione precedente gli aggiungano un paio di capitoli
> e fanno la versione nuova.

beato te che sospetti solo....

Bud

unread,
Dec 18, 2009, 11:17:29 AM12/18/09
to


mmmmm dopo questa battuta sono meno beato :-)

Hermooz

unread,
Dec 18, 2009, 11:26:19 AM12/18/09
to
On 18 Dic, 14:05, Bud <Budisnotfor...@all.it> wrote:

> Nel mio ambiente lavorativo mi capita talora di persone cui serve un
> programma. Diciamo che i miei potenziali clienti sono privati, piccoli
> imprenditori, negozianti.

Ma il tuo ambiente lavorativo è l'informatica o no?

> 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.

Che non sempre è un bonus, eh! Nel caso dei microclienti qualche volta
una soluzione standalone è preferibile (richiede meno infrastrutture).

> 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.

Se vuoi essere autonomo in un progetto informatico prima di studiare
il php forse è meglio se dedichi del tempo a studiare le basi
dell'informatica, ovvero logica, algoritmi, e strutture dati. Il
linguaggio viene dopo.

> 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.

Allora, la sintassi del php (cioè le keyword, i caratteri usati per la
struttura di controllo, ecc.) è effettivamente molto simile (più che
altro perchè entrambi hanno "ereditato" un po' di sintassi dal C). Ma
è solo una similitudine di partenza, perchè poi sono strumenti molto
diversi - e non per l'orientamento agli oggetti, che c'e' in entrambi
gli ambienti, anche se in Java è molto più spinto.
(a proposito: pischelli, ma sono l'unico che programmava a oggetti in
PHP già dalla versione 3? ;^))
Qualcosa ti hanno già spiegato, ma per apprezzare bene quanto sono
estese le differenze dovresti avere un po' più di esperienza, temo.

> Mi chiedo quindi se per le mie esigenze vada bene php, e' indifferente o
> meglio java.

Il fatto è che è come se uno senza patente si chiedesse se per lui è
meglio una porsche 911 o una Land Rover. Sono due cose diverse, se
devi fare guida veloce meglio la porsche, se devi fare fuori strada
meglio la land rover, ma tanto se deve guidare qualcun altro meglio
sia lui a dirti qual'e' il mezzo più adatto per un certo viaggio. Per
i progetti "piccoli" lo stack J2EE (la versione "web" di java) è
sicuramente un po' un overkill (anche se a mettere su un tomcat per
una piccola webapp non ci vuole poi un team di manici); d'altra parte
se ti serve un'applicazione standalone con php è dura farla (esiste
php-gtk, ma non è che sia poi così usato) mentre in J2SE (la versione
di java per applicazioni non web) probabilmente non ci si mette
tantissimo.

> 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.

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!

Bud

unread,
Dec 18, 2009, 12:10:22 PM12/18/09
to
Il 18/12/2009 17.26, Hermooz ha scritto:
> On 18 Dic, 14:05, Bud<Budisnotfor...@all.it> wrote:
>
>> Nel mio ambiente lavorativo mi capita talora di persone cui serve un
>> programma. Diciamo che i miei potenziali clienti sono privati, piccoli
>> imprenditori, negozianti.
>
> Ma il tuo ambiente lavorativo � l'informatica o no?
>

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.

Hermooz

unread,
Dec 18, 2009, 12:47:36 PM12/18/09
to
On 18 Dic, 18:10, Bud <Budisnotfor...@all.it> wrote:

> Lavoriamo molto livello hardware.

Ok, quindi sei un "tecnico" ma non un programmatore. Era tanto per
capire il tuo background.

> 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.

Sono abbastanza d'accordo con te in tutto :^)
Pero' non ti arrendere, il guaio mi sa che è più che altro che hai
trovato le persone sbagliate.
Se posso permettermi un consiglio, ti suggerirei di provare per il
futuro ad affiancarti non a singoli ma ad una piccola software house e
fare un accordo commerciale di procacciamento d'affari: la tua fetta
forse sarà ancora più piccola (la provvigione commerciale) ma con meno
rischi e con meno lavoro dato che si faranno loro carico di gestire i
rapporti con il cliente. Inoltre in cambio loro potrebbero fare
altrettanto con te (le SW difficilmente vogliono avere a che fare con
l'HW!). Certo, devi trovare qualcuno di cui fidarti ;^)

> Tutto qui. Mai si inizia mai ci si sbatte il muso e mai si arriva.

Non male come filosofia...

> 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.

Vedi tu, un mese è un po' pochino per diventare produttivi, anche con
strumenti semplici... ma non voglio porti limiti ;^)

bye!

0 new messages