Sono stato uno sviluppatore PHP per circa cinque anni e nell'ultimo anno ho iniziato a esaminare il mondo di Ruby (su Rails). Sono mai tornerò indietro. Ecco perché.
Incoerenza
Ero dispiaciuto di PHP soprattutto a causa della sua incoerenza: PHP era originariamente inteso come uno strumento per i dilettanti, e non poteva far fronte alla crescita esponenziale che ha visto nel corso degli anni. In PHP hai nomi di funzioni casuali, ordine di parametri casuali, valori di ritorno casuale, gestione di errori casuali e molta altra casualità.
Oggetto-orientamento
Stavo cercando un linguaggio che fosse veramente orientato agli oggetti (cioè una lingua in cui tutto è un oggetto) e che avesse una bella sintassi. Ruby sembrava essere l'opzione più appropriata. Certo, ha i suoi problemi come ogni altra tecnologia (non mi piace molto questa roba da patch-patch, e Rails in particolare sembra essere piuttosto lento rispetto ad altri framework).
Sintassi
Questa è una questione soggettiva, ma la metterò lo stesso. Volevo che il mio codice fosse espressivo, conciso e bello. Per me, il codice PHP è sempre stato un brutto casino.
Ecco un esempio: supponiamo che tu abbia una matrice di oggetti e che tu voglia chiamare un metodo su quegli oggetti e sommare i valori restituiti. Ecco il codice PHP per questo:
array_sum(array_map(function($object) {
$object->foo();
}, $objects));
Non così male, vero? Ecco lo stesso con Ruby:
objects.collect(&:foo).sum
Ora, questo potrebbe sembrare un piccolo miglioramento, ma quando scrivi molto codice ti assicuro che fa fa la differenza.
Comunità
Con la nascita di moderni framework web come Symfony (God bless the authors!) e Laravel questa situazione è leggermente migliorata, ma questo punto è ancora parzialmente vero.
La comunità PHP è terribile: la maggior parte di loro non ha interesse a migliorare gli strumenti con cui sta lavorando, e si preoccupa solo di fare le cose il più rapidamente possibile con il minor sforzo possibile. La quantità di informazioni errate / obsolete su PHP è impressionante.
Ecco perché ho deciso di mantenere la traduzione italiana di PHP: The Right Way , anche se non uso più PHP . So che PHP non sta andando da nessuna parte, almeno per il prossimo decennio, e mi piacerebbe migliorare tutto il terribile codice degli spaghetti che ho letto nel corso degli anni.
A cosa serve PHP?
Come ho detto, PHP è un linguaggio progettato per i dilettanti. Tutte le web hosting là fuori lo supportano, e puoi semplicemente caricare il tuo script tramite un client FTP e lasciarlo girare. Questo funziona bene per le piccole applicazioni che non richiedono molta progettazione o manutenzione.
Tutte le altre tecnologie, d'altra parte, richiedono un po 'di setup e tweaking per funzionare bene, ma a lungo termine si ripaga.
Ulteriori letture
Ci sono molti rilanci là fuori su PHP. I migliori sono: