Ciao bismark2005,
avevi già chiesto tempo fà la stessa cosa qui più o meno.
Io ritengo di conoscere abbastanza bene php e ti rispondo per quanto riguarda php.
Per le risposte dei tuoi amici, direi che sono risposte solo per disprezzare un linguaggio a favore di un altro, infatti analizzando le loro 3 risposte/affermazioni:
Un sito che diventa di dimensioni di facebook se ha un beneficio nel passare ad un altro linguaggio lo fà. Non spende il triplo per acquistare altro hardware o tempo per sviluppare un applicazione in php, solo perchè l'ha fatto quando aveva 4 utenti sul sito.
Sanno cosa fà hip-hop? Converte in c++ il codice e lo compila, sostituisce alcune librerie ottenendo un incremento prestazionale rispetto al codice php di base.
Perchè viene utilizzato hip hop da facebook è stato scritto dagli sviluppatori nel blog di facebook:
La produttività dei programmatori utilizzando un linguaggio come php (Cosi come Perl, Python o Ruby) è molto più elevata, ma un linguaggio compilato risulta comunque ovviamente più veloce, motivo per cui utilizzano hip hop, per programmare velocemente grazie a php e convertire poi il codice in modo da essere il più veloce possibile nell'esecuzione.
Questo significa che linguaggi come il c++ richiedono meno risorse di php, ma se neanche a loro conviene programmare direttamente in questi linguaggi, a noi che realizziamo progetti molto più piccoli cosa conviene?
Nulla di più falso, ho già indicato al punto 1 come non sia vero. Quando cambiano le esigenze, si usi il linguaggio o i linguaggi più adatti. Facebook non è realizzato interamente in php, ma utilizza più di un linguaggio ovviamente.
Quello di cui si lamentano alcuni programmatori relativo a php, è la mancanza della tipizzazione delle variabili
A me php non sembra per nulla lento, di bug sinceramente io non ne ho riscontrato nessuno fin ora.
L'unico ad aver provocato problemi, ed è stato riscontrato questo mese, è relativo alle installazione CGI di php, che è stato corretto in pochissimi giorni. Però negli ultimi anni sinceramente non ricordo di altri problemi.
PHP è open source per cui dispone di una comunità molto grande
Per quanto riguarda le guide, io ho studiato programmazione ad oggetti in php usando guide disponibili online, collegandomi con un cellulare.
Ormai sono passati molti anni e php si è diffuso moltissimo, ed è pieno di guide per programmare in php anche ad oggetti.
La guida ufficiale poi mi sembra piuttosto semplice da capire e chiara, ed i commenti degli utenti sono molto utili per capire meglio quanto spiegato.
http://php.net/manual/en/language.oop5.php
Tra l'altro la programmazione ad oggetti è uguale in tutti i linguaggi, in quanto è un approccio molto teorico, l'unica cosa che cambia tra un linguaggio e l'altro è la sintassi, potresti studiare programmazione ad oggetti in c++ e poi programmare ad oggetti in php o java tranquillamente.
Tutti i libri di php "recenti" comunque spiegano le basi della programmazione ad oggetti con php 5, non c'è esattamente bisogno di un libro dedicato alla programmazione ad oggetti in php 5, in quanto le cose da capire sono ben poche bisogna solo fare esperienza programmando per un pò in questo modo.
In inglese trovi comunque dei libri dedicati alla programmazione ad oggetti in php, e solitamente un programmatore un pò di inglese lo capisce per cui non è un problema.
Ovviamente con php non puoi fare qualsiasi cosa, è stato concepito per creare applicazioni web e dovrebbe essere utilizzato per quello, poi si può usare anche per altro, ma difficilmente si usa questo linguaggio per fare altro.
Se non sei sicuro di quale utilizzare provali, vedi quanto tempo impieghi per fare un blog ad esempio se ci riferiamo all'ambito web, e quale dei 2 era più semplice da utilizzare per crearlo, e per poterlo poi modificare in seguito aggiungendo cose nuove. Ogni programmatore ha le sue preferenze, e il suo modo di fare alcune cose, non tutti ci troviamo bene con lo stesso linguaggio.